Architecture and Agile Software Delivery...can they co-exist?

Traditional waterfall software delivery approaches focus on detailed upfront planning, requirements analysis, architecture, design, development and deployment phases. Here, the assumption is that all the requirements are fixed or known or complete. Lot of time and resources are spent upfront for achieving this illusion of fixed or complete list of requirements without actually delivering a single piece of working software. On top of that by the time requirements are completely defined-signed off and developed ,business focus and market competition are already moved few steps further in response to changing business landscape.  Organisations need to innovate and transform their services in response to always changing new business demands.

One way to do is applying agile principles and practices of agile software delivery for meeting the always changing business demands. Agile focuses on developing and delivering working software based on just-in-time isolated user stories in small iterations. The focus shifts from documentation to delivering working software right from the beginning. All sounds very attractive and good. However, locally project focused and isolated user stories overlook the holistic picture of the organisation and underlying structure or architecture. Essentially, user stories need to be connected with the architecture. The impact of the user stories needs to be looked into through the lens of the relevant architectural building blocks. Architecture integrated with user stories would not only result in a less technical debt, but it would also provide a shared vision of the enterprise to guide the agile teams working in the distributed agile software development environments.
Hence, light-weight agile architecture practices need to be integrated with agile practices to scale agility at the enterprise level. Essentially, agile architecture would enable agile software delivery.

Comments

Popular Posts