One of the biggest challenges for Agile is the word “Agile” itself.
While there are concepts which are well understood in the waterfall methodology of software development, in Agile the concepts are subject to how it is adopted in any organization. Therefore, two things are important to make any agile methodology succeed: Culture and Governance.
While culture is more about the expected set of behaviours for the Agile teams and the Agile team members, Governance deals with the holistic management of the Agile ecosystem in the middle of constant changes to requirements, visual designs, the definition of "done", testing, time to release, time to market etc.
Here is a comparison of Agile and Waterfall methodologies including the key differences in the way culture and governance are looked at and dealt with under both these methodologies.
Culture (must have practices) under Agile:
Collaboration happens in co-located workspaces as well as in distributed environments, from multiple locations. The key is that teams work together as one team./squad to create the products.
Trust is key and ensures that everyone performs their defined roles to create a working code.
Transparency is a must and evidenced through outcome-driven metrics visible to all.
Accountability is solely through taking ownership of what needs to be delivered (over and above defined RACI).
Customers’ feedback-driven product creation is the default mode of product creation.
Culture under Waterfall:
Each unit in the chain that is involved in the creation of the product work under different verticals. So to ensure that delivery happens as per defined plans, a well-defined process of handover and hand-offs between various teams and units is established.
There are defined SOPs and SLAs between units/teams.
Periodic reports are sent/published to all concerned.
RACI-driven work plan delivery.
Products/Features are created basis experience as seen and as is being driven in the market or by the vendor.
Governance under Agile:
To make collaboration work from multiple locations, governance plays a key role in holding teams together and ensuring that they make the working code as per the design and as expected. Adherence to the agile protocols is necessary to make the approach work for teams irrespective of their location.
Governance is needed to ensure that automation is implemented for quicker turnaround of a working code and helps with the key purpose of delivering working software.
Governance plays a key role in ensuring that the testing infrastructure, testing data management, release management, deployment and anything that relates to these are taken care of.
Governance plays a role in ensuring that delivery of the working code happens every sprint. Also, governance plays a key role in keeping the team together and also acts as the custodian of culture.
Governance plays a key role in keeping track of burn rates, velocity, story points delivered, red builds, etc., and thereby ensures that investments like coders, tools etc., are effectively used and are delivering value.
Governance under Waterfall:
Teams will have their respective governances like Product governance, IT governance, Testing governance, design governance etc., that ensure that each of these individual components works as per defined requirements.
As highlighted earlier automation will be part of test governance and may or may not be reviewed separately. Speed is not of essence but completion of the project as per the signed off-testing plan is. This can be achieved with or without automation.
The responsibility of each of these components of testing infrastructure, testing data management, release management, and deployment may be clearly defined as per RACI and maybe with different teams.
Governance plays a role more of a reviewer and custodian of policies.
Governance plays a key gatekeeper and holds all auditable artefacts, Also governance ensures adherence to policies through various frameworks and also tracks whether the projects are proceeding as per the signed-off plans.
If you are considering moving to an Agile setup for your company, or looking at Agile Governance and need someone to answer your questions or help you with implementation - reach out to us today at firstname.lastname@example.org.
With our experience implementing Agile at scale, we can guide you with the best solution!