The transformation of global economy has increased the market change many folds, forcing every industry and companies through out industries to reposition themselves in the new market. This brings a lot of pressure on the organizations to change where their existing systems and processes are fine tuned to deliver on principles of economy of scale and efficiency to keep the status quo. Management and leadership during uncertainty requires experimentation and risk taking which is opposite to traditional management practices which promotes adapting best practices and risk minimization.
In order to deliver what the business needs when it needs it, many organizations went down the Agile path without a clear understanding of how the agile methodologies work, what does it take to be successful and what are the drawbacks.
After trying different approaches to implement agile practices in their projects, some of these companies realized that:
- Agile is not a silver bullet and does not guarantee success
- Agile is not suitable for every kind of work/ project (if following factors are not considered)
- Traditional management approaches are often not working when following the Agile philosophy
Reflecting from my own experience, there are a lot of lessons to be learned when an organization is trying to implement Agile within their existing processes after buying into the described benefits and completely overlooks the associated risks.
From a project management and delivery perspective one of the most important aspects to start with (beside organization’s culture) is to determine what will be the critical factors that will influence your success when using an Agile approach. Exercising awareness and control over the following factors will allow not only better decision making when it comes to choosing the right project management methodology but also to steer ongoing projects towards success.
1. Understand and accept the Agile philosophy before starting work
It is important that senior management and stakeholders understands and accepts the Agile philosophy. They understand the concept that in order to delivery the highest value to business (and right thing at the right time) and handle change, less than 100% of the possible scope of work may be delivered within the time and financial (resource) constraints of the project.
In my experience it is much easier to have this conversation at the start of the project initiation phase rather than in the middle of project (when some stakeholders might consider that as an excuse of not delivering all the agreed scope and might judge this as a failure).
2. Commitment of senior business leaders to ensure the necessary involvement of key business experts into the Agile Process
Commitment from business stakeholders about the agreed participation of key business experts into the agile delivery process is a key enabler to the successful delivery of projects. Due to the incremental and iterative nature of the agile process these business experts provide regular guidance on low level requirements, engage in prioritization of work and provide critical feedback on the solution increments.
Agile teams can not function effectively without this commitment and engagement.
3. Mindful empowerment of the Delivery Team
The senior business management must agree to delegate decision-making to the business experts inside the deliver team. If this is not possible then senior stakeholders will need to be included in the team. Without this kind of empowerment the team will be drastically slowed down as they will be waiting for decisions to be made elsewhere and in different timeframes. Similar to the business experts being empowered to make decisions without referral to higher authorities outside the team, the solution developers should also be empowered to make decisions regarding the solution development. As it is not always possible that these parties will have total freedom for making all decision (e.g. product positioning or pricing, architecture and design of software which effects other teams), it is important to agree the decision boundaries at the start and build resolution mechanisms.
4. Acceptance to Incremental delivery
Agile process is all about delivering most valuable features early in the project while reducing the associated risks through an incremental delivery approach. This allows the business to take on the solution delivery in manageable pieces and allows the solution delivery team to build on firm foundations with short feedback loops.
Unwillingness on part of business to support incremental delivery of features increases the risk of non-realisation of business benefits if the short feedback loops are not implemented.
5. Enabling communication between team and business through co-location
Agile focuses on people and their interactions as it recognizes that efficient communication is critical for success. That is why the team co-location and business expert integration inside the solution delivery team are not only advisable, but required. Where it is not feasible (if business experts are located in other regions) then team need to identify its need and appropriate communication channels need to be provided (e.g. video conferencing, and team based collaboration tools like slack or Jira etc.) to enable the on demand interactions and collaboration.
6. Delivery Team size
Agile teams rely on strong informal communication and interaction. For this to work Agile suggest the team optimal size to be around seven to nine team members. This size appears to maximize ownership of work and minimize risk inside the team. For specific programs of work however there may be multiple agile units (or teams) which may collaborate with each other while focusing on a specific subset of problem themselves.
7. Delivery Team stability
Projects (start and stop) as temporary work and team structures are not appropriate for on going productive work streams. People working together develop working relationships that pay off in a wide range of areas like communication and process efficiency. Swapping people in and out will represent a great risk for the success of an Agile project.
There are exceptions to this rule and specialists may be brought in (e.g. security expert, network engineer, marketing analyst etc.) to as long as the core team remains stable.
8. Delivery Team cross skills
As Agile advocates cross functional teams, it is important that the solution delivery team has all necessary skills to deliver the solution, including business knowledge. However, that does not mean that every team member should have all required skills but a subset of them coupled together with strong communication skills. The latter are an essential component of a high performing team.
While the above described factors elaborate on the project management aspect of an Agile adoption their control alone will not guarantee success. The most important change which it comes to Agile transition involves people’s minds and organizations culture. On any given day “Culture will eat the process for breakfast” with due apology to Peter Drucker.
Without a proper shift in mindset and building a supportive organizational culture, using Agile to deliver projects might not deliver the benefits sought.