Gartner Research

Best Practices for Unlocking Architectural Agility

Published: 25 June 2019

ID: G00385321

Analyst(s): Bill Holz, Kirk Knoernschild

Summary

Traditional approaches to software architecture do not support an agile development life cycle. Application technical professionals must maintain architectural integrity and flexibility by leveraging practices, like agile modeling, architecture testing and agile technical practices.

Table Of Contents

Problem Statement

The Gartner Approach

Best-Practice Framework

  • Prework
    • Form Cross-Functional Colocated Product Development Teams
    • Review Enterprise Architecture (EA) Guidelines
  • 1. Create Initial High-Level Architecture Model
    • Receive the Benefits of Agile Architecture Modeling
    • Wait Until the Last Responsible Moment — Deliver JIT Architecture
    • Avoid “Analysis Paralysis” — Model Just Enough to Get Started
    • Support the Whole Application Life Cycle
  • 2. Evolve the Architecture With User Stories and Spikes
    • Split Stories Into Small Vertical Slices
    • Conduct Spikes to Validate Options
  • 3. Implement Architectural Fitness Functions — Prove It With Code
  • 4. Refactor Mercilessly to Protect Architectural Flexibility
    • Implement Continuous Integration and Unit Testing
    • Evolve the Architecture With Agile Technical Practices
    • Leverage Stubs, Mocks and Dependency Injection
    • Proactively Manage Interfaces and Isolate External Components
  • 5. Review and Update the Model Regularly
    • Model When Preparing Product Backlog Items for Implementation
    • Conduct Design Workshops
    • Do Just-in-Time Modeling
    • Update the Model From the Code
    • Review Model During Customer Reviews and Retrospectives
    • Create an Architecture Community of Practice (CoP)

Risks and Pitfalls

Gartner Recommended Reading

©2020 Gartner, Inc. and/or its affiliates. All rights reserved. Gartner is a registered trademark of Gartner, Inc. and its affiliates. This publication may not be reproduced or distributed in any form without Gartner’s prior written permission. It consists of the opinions of Gartner’s research organization, which should not be construed as statements of fact. While the information contained in this publication has been obtained from sources believed to be reliable, Gartner disclaims all warranties as to the accuracy, completeness or adequacy of such information. Although Gartner research may address legal and financial issues, Gartner does not provide legal or investment advice and its research should not be construed or used as such. Your access and use of this publication are governed by Gartner’s Usage Policy. Gartner prides itself on its reputation for independence and objectivity. Its research is produced independently by its research organization without input or influence from any third party. For further information, see Guiding Principles on Independence and Objectivity.

Already have a Gartner Account?

Become a client

Learn how to access this content as a Gartner client.