I've always thought of how we can achieve visibility in software projects? Its nice to use PM, Defect Management, Issue tracking tools and of course, (all time favorite) excel spread sheets but once it comes down to managing all of these together we are talking about either lots of manual labor or high cost software. Something like MS Team Foundation Server or Borland's Star Team. The cost for these tools is enormous. If you have that kind of money, get them but remember its not the right kind of tools that get the job done, its the right use of right kind of tools that produce results.
Now, if you don't have that kind of money here is something that I have been working on for some time now. I call it "DBA2" i.e. Dynamic Business Management Application Architecture Framework. The framework is a combination of Business Processes and software's back end technical architecture. Architecture and Design has always been very interesting for me. For an architect I think its important to understand the different scenarios while you work out the technical requirements part of the system. One has to understand the bridge between the functional and technical requirements. Architects have to understand programming, then again its important for an architect to understand cross platform or platform independent semantics as well. Its important for an architect to think visually, again be able to map that bridge from functional aspects of the system to the technical details. Having the ability to work productively with the programmers is good but be able to work with analysts and visually define the system before you get with the programmers is also important.
Now to relate that DBA2 (I mentioned earlier) with the business process and functional units in a business: It combines intelligent software units to the status, messaging and application behavior aspects. This helps in communication between units. The basic concept is that each unit we design has the ability to intelligently survive on its own and be able to manage its functions without external help but for a stable system it needs the ability to work with other units, that is where status, messaging and behavior comes in. The smallest unit of the framework is called an "element", which combine together to make an "Entity" which from the functional aspect relates to a business or sub-business process and so on and so forth. There are stages that are the tiers for the framework etc.
You can read the paper here or http://www.bhm-tc.org/Documents/DBA2.pdf.
The framework allows the architects and even the developers to not only focus on the specific tasks at hand but at the same time be able to look at the bigger picture during the development of the software thus giving full visibility over defect management, QA and timelines. If you know where you are going...you will get there in time and with minimum problems...right???
So lets discuss this framework if you have time!!
Like always thanks for looking at the bridge between technology and business.
Software Guy!