Derivative Document Generator and Integrated Requirements Capture and Software Development Method - History
In the 90's I was involved in an enterprise integration effort after managing the development of a CADCAM database management system. From those experiences, I realized that the key to managing product development, evolution and support is management at the feature level from requirements (functional hierarchy) through systems (network) to assemblies (assembly hierarchy) and all the human activity involved therewith (task hierarchy). Key to understanding the relationships of all the deliverables of the entire product development process is distinguishing between source and derived data/artifacts.
To this day, many companies still manage products according to drawings, which are nearly always derivatives from 3-D models, and can only be interrogated by humans, so automation is limited. Solid models make it possible to associate labor, process plan elements, tooling, lubricants, other parts and their loads with a face, but the benefits thereof will not be fully realized until product data management matures.
The same is true of software development traditionally managed by functional requirements and technical specifications documents in Word files. They provide insufficient granularity to which to relate individual code elements. Once again, humans are required to bridge the gap. Once the principles involved disappear, all connectivity is lost. Unable to search for code using requirement criteria, it's no wonder there is so little code re-use. Every subroutine in use has probably been re-invented a hundred times or more.
Managing requirements one feature per record in a database allows them to be related to code elements and tests also created as individual records to close the loop. Larger found sets result in larger feature, software and corresponding test sets. Different configurations are just variations on the search criteria and the resulting found sets. Software is just one subsystem in the larger product managed in the same manner.
When I developed a database to allow a client to derive manuals from a source manual, I was surprised at how easy it is to format the information using HTML popups, and effectively use styles by simply duplicating a record with the format you want, modifying its content and setting its decimal sequence number. Model, option, paragraph sequence and other fields made it easy to insert phrases (links, images, bold, italic, etc.) as parts of sentences and sentences (size, font, etc.) as parts of paragraphs (justification, etc.) -- the normal building block, which are also aggragated from cells and rows into tables. Searching for a model and options results in a found set, that when exported, results in a beautifully formatted derivative HTML file that is easily converted to Word, RTF, PDF, etc.
I extended it to handle multiple source documents to increase the scope of the relationships. After I put my overly large resume in the system as a source document, and derived thirteen resume subsets therefrom, I automated everything practical with scripts. It's made it easy for me to maintain a web site with links to sixty-five content and format derivatives of my resume for download by interested parties.
After studying all the current software development methodologies as of January 2007, I realized that simply adding C, Python, Visual Basic, etc. layouts with software command and meta data popups instead of HTML popups would allow the manual database to be a software writing tool as well as a formated text writing tool that would virtually eliminate typing and its errors.
At Providence Health Plans last month, I was on the first project to use the SCRUM process and the MS Team Studio system to facilitate software development. Although primitive, it was good to see more granular requirements, software and test management being used -- four years after I developed a system that would do it better.
I hope one day I'll have the time to re-write my Enterprise Integration and Management book and incorporate my latest findings, so it is influential as well as sellable.
| W.T. Holmes | Innovations |