Is Architecture Evaluation a Waste of Time and Money?
If placed in this situation again, I will strive to gain buying from key players within the business, for example: Senior Software Engineers\Developers, Software Architects, Project Managers, Software Quality Assurance, Technical Services, Operations, and Finance in order for this idea to succeed with upper management.
In order to convince these key players I will have to show them the benefits of architecture and even more benefits of evaluating software architecture on a system wide level.
Benefits of Software Architecture Evaluation
- Places Stakeholders in the Same Room to Communicate
- Ensures Delivery of Detailed Quality Goals
- Prioritizes Conflicting Goals
- Requires Clear Explication
- Improves the Quality of Documentation
- Discovers Opportunities for Cross-Project Reuse
- Improves Architecture Practices
Once I had key player buy in then and only then would I approach upper management about my plan regarding implementing the concept of software architecture and using evaluation to ensure that the software being designed is the proper architecture for the project. In addition to the benefits listed above I would also show upper management how much time is being wasted by not doing these evaluations. For example, if project X cost us Y amount, then why do we have several implementations in various forms of X and how much money and time could we have saved if we just reused the existing code base to give each system the same functionality that was already created? After this, I would mention what would happen if we had 50 instances of this situation? Then I would show them how the software architecture evaluation process would have prevented this and that the optimization could have leveraged its existing code base to increase the speed and quality of its development.
Carnegie Mellon Software Engineering Institute (2011). Architecture Tradeoff Analysis Method from http://www.sei.cmu.edu/architecture/tools/evaluate/atam.cfm