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
Post a Comment