Many people think of software development as lone programmers working in isolation, perhaps reminded of Douglas Coupland’s 1995 classic Microserfs, where programmers slide flat foods, such as “Kraft singles, Premium Plus Crackers, Pop-Tarts, grape leathers, and Freeze Pops” under the door of a fellow coder after they hadn’t seen him in days. In reality, the process of software development is a collaboration-intensive activity that would benefit greatly from improved knowledge management technology and thinking, much in the way knowledge sharing and collaboration happen between workers in far less technical occupations. Unfortunately, many managers fail to realize the necessity of actively managing knowledge and facilitating collaboration in this area.
Companies typically spend vast amounts of time and money to document their requirements and it is far from easy to keep such documentation up to date. At the same time, they struggle to find ways to interrelate information, given that such information comes from diversified sources. In other words, how does one create a document that leverages information that is anywhere and everywhere and still be able to make sense out of it?
One company that provides a tool in this area is eDev Technologies via the company’s inteGreat offering. The product is a requirements management solution that allows for the creation and reuse of requirements through the development of a central body of knowledge, which the company refers to as iBoK (Integrated Body of Knowledge). This knowledge base is a collection of reusable requirements. InteGreat allows developers to create requirements using a drag-and-drop interface and then relate them to one another to aid in reuse.
Requirements are then visually mapped out as process flows using MS Visio, and are saved either as inteGreat files or exported as Visio files. Users also have the ability to create mockups using an included simulation tool. Once a process is created, generated documents are exported via MS Word, Excel, or Visio, or saved within inteGreat.
As in any form of knowledge work, the recreation of content, in this case requirements, is a huge and costly problem, and is essentially a problem of finding things and avoiding recreating that which already exists. If the knowledge worker can not find information, be it a document or a requirement, they will have to recreate it, increasing project costs, squandering limited resources, and impacting an organization’s bottom line. The end result of enabling the reuse of requirements is that, for future projects, there will be a reduction in the time and cost of gathering requirements, as well as lessening the burden of maintaining software.
In inteGreat, the ability to reuse requirements once they are developed adds a much needed knowledge management aspect to the development of requirements, affording software developers the same KM capabilities that other knowledge workers now take for granted. In turn, as more companies adopt similar solutions, they will see increases in efficiency and a reduction in the time spent recreating requirements.