Friday, March 2, 2007

Which comes first in Technical Solutions - The Architecure or evaluating Alternatives?

Dear Appraiser,

In the Technical Solution process area, where should I start? Create the application architecture and then develop alternatives for implementation or find alternative solutions and then define the architecture. Is alternative solution considered as architecture? I don't understand this SG at all!

The CMMI isn't a process. It's a Process Model. The practices are not presented in sequence (although sometimes it appears that way). You may perform the SPs in any order that makes sense for your business, and sometimes you may even repeat SPs at a later point in your project.

Every organziation approaches this slightly differently. However, you might consider both places as an opportunity to evaluate alternatives.

As a software engineer, I would want to consider alternative software architecture’s before I considered alternative approaches to building the application. Is this J2EE, COM+, SOAP, or some asynchronous messaging architecture? Each choice dictates a second level of alternatives. Since the architecture is the foundation, and often dictates the way an application is developed, I would start there. This is all too often overlooked and the architecture is an afterthought – causing all kinds of problems when it comes time to maintain, extend, or modify the application in the future.

In terms of the CMMI, both are good candidates to consider for alternatives. Some alternative examples in software engineering may include server applets vs. browser, fat vs thin-client, OO or procedural etc. etc. etc. In a world where COBOL still dominates when lines of active code are counted, anything is possible :)

No comments: