Hacker News new | ask | show | jobs
by axelr340 783 days ago
Fundamentally, engineers need to know what to build, how to build it, and later check how good it was built. In other words, engineers need to describe requirements, implement a solution, and perform tests. Furthermore, engineers need to know how each requirement was implemented and how each requirement was tested. This is also called traceability. While engineers have powerful software applications at their disposal to manage individual engineering aspects such as requirements, tests, and software code, they have very poor solutions to achieve traceability.

Existing traceability solutions are either difficult to use or incapable of scaling

I’ve spent the last twenty years of my life trying to help engineers connect their data across different software applications. I’ve seen many different solutions, and I’ve implemented several myself. The harsh reality is that none of the existing solutions are good enough. Either the user experience for engineers is terrible, or the approach cannot be applicable to enough applications.

Even though software applications to manage requirements, tests, and software are not designed to be interoperable, they have one thing in common: they are all accessed through a Web browser. It would be a shame not to take advantage of that. Web browsers have something powerful called extensions, which can augment existing Web pages and Web applications. The most popular Web browser extensions are used to block ads (e.g. AdBlock Plus), save passwords securely (1Password), check spelling (e.g. Grammarly), invert the color scheme of web pages to reduce eye strain (e.g. Dark Reader), and more. Why not use Web browser extensions to help engineers manage cross-domain aspects such as traceability?

Our solution uses a Web browser extension to provide a new in-app user experience such that engineers can have additional traceability features within their favorite software applications. With one click, they can select an information item as a link source in one app, and with just another click, they can select another information item as a link target in another app.

We use Web browsers daily to navigate between linked Web pages. Now we can use a Web browser extension to navigate between linked information items.