Embrace Modular Technology & Agile Process to Deliver Business Impact (Section 4)
Agile Productivity Supported by Modularization
Agile methodologies prescribe a culture of continuous improvement, and Agile teams generally grow in efficiency as they have the chance to refine how they work as a unit. Velocity measurement can be a useful tool to help people understand when things have gone better or worse. Even so, it should not be used as a goal or a metric by which the team’s performance is measured.
In the prior segments’ discussion of microservice and message-based modularity, the notion of services allowing differing frameworks or versions of frameworks existing side-by-side is explored. The significance of this to productivity and unhindered Agile sprints is that it allows the isolation of legacy portions of application code which are more difficult to work with, as well as to enable new features or versions of features to be built in more ideal, up to date technology. The most outdated portions of an application may become a focus area of specific developers, while other teams work outside of its constraints. By moving with the times in a piecemeal way, there is the opportunity to limit accretion of outdated code, something which often grows in anticipation of a later big-bang system upgrade.
One other advantage of Agile methodologies is that frequent delivery is encouraged. Both technical and non-technical audiences alike – be it the development teams or key business stakeholders - benefit from the iterative delivery approach which fosters frequent communication and confidently results in regular production releases. These periodic releases reduce risk to the end user and provide a steady stream of improvement while simultaneously returning valuable user data to the development team and business.