The Benefits of an Architecture Review

Creating an architecture review has many benefits not only to an enterprise application but also to the multiple levels of people within an organization. This can be seen by decomposing the design into 3 general areas which ultimately reduces the failure rate of software projects:

  1. Reduce Security Risks and Cost
    1. Reduce downtime from malware attacks
    2. Reduce intellectual property (IP) theft or system breach from hackers and internal intruders
    3. Predict and mitigate risks
  2. Increase Productivity
    1. Create evolutionary prototypes
    2. Achieve high code quality
    3. Enable development of more secure applications and services
    4. Facilitate more accurate cost and schedule estimates
  3. Enable New Scenarios More Securely
    1. Business-to-business (B2B): partner extranets, document collaboration, secure transactions
    2. Business-to-consumer (B2C): customer web sites, e-commerce
    3. Business-to-employee (B2E): remote access, mobility

As for people, although the agendas differ, none the less all benefit:

  • C.I.O
    • Improve customer satisfaction
    • Reduce and reliably manage development costs
    • Identify, track, and target revenue opportunities
    • Provide new basis for new service models and offerings
  • I.T. Director
    • Implement architecture that best suits the enterprise both now and in the future
    • Improve productivity and effectiveness
    • Manage development organization effectively to meet system expectations
    • Support launch of new products and services with less friction
  • Developer
    • Eliminate frustration when dealing with multiple technologies
    • Reduce training costs
    • Improve application development by using best practices
    • Increase application quality by focusing on code re-use, testing and security

By no means is this a complete list but rather an illustration that conducting an architecture review is essential and should be part of the project plan. Ideally this should occur before any code is developed as to solidify a design that not only meets the business requirements but moreover one that does so under budget, is secure and utilizes resources to their fullest potential.