Arguments, perspectives, and questions promoting the benefits of Agile awareness…

“Agile awareness,” I never thought I’d include two buzz words in the same article let alone the same sentence! It sounds cliché yet it’s exactly the right fit.

I’d like to start by stating who this article is intended for. It’s intended for organizational leaders, and aspiring organizational leaders, who are looking to implement (or have already implemented) an Agile approach such as Scrum, Scrum-Lean or Lean. This includes, but is not limited to, C-Suite executives (CIO, CTO, CEO, and CFO), presidents and vice presidents.

Here is a short description of Agile for those of you who haven’t heard of it (it also applies to those who have heard about it and are tired of not having it explained in a clear, concise and easily understandable way).

Agile is a diminutive of “Agile software development”. It started in 2001 with a gathering of seventeen renowned figures of the IT world in the Wasatch Mountains of Utah. They wrote and signed a manifesto intended for those looking for an alternative to documentation-driven, heavyweight software development processes.

The manifesto presents a set of four values and twelve principles for software development.

Manifesto for Agile Software Development

We are uncovering better ways of developing software by doing it and helping others do it.
Through this work we have come to value:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

That is, while there is value in the items on
the right, we value the items on the left more. 

Principles behind the Agile Manifesto

Our highest priority is to satisfy the customer
through early and continuous delivery
of valuable software.

Welcome changing requirements, even late in
development. Agile processes harness change for
the customer’s competitive advantage.

Deliver working software frequently, from a
couple of weeks to a couple of months, with a
preference to the shorter timescale.

Business people and developers must work
together daily throughout the project.

Build projects around motivated individuals.
Give them the environment and support they need,
and trust them to get the job done.

The most efficient and effective method of
conveying information to and within a development
team is face-to-face conversation.

Working software is the primary measure of progress.

Agile processes promote sustainable development.
The sponsors, developers, and users should be able
to maintain a constant pace indefinitely.

Continuous attention to technical excellence
and good design enhances agility.

Simplicity—the art of maximizing the amount
of work not done—is essential.

The best architectures, requirements, and designs
emerge from self-organizing teams.

At regular intervals, the team reflects on how
to become more effective, then tunes and adjusts
its behavior accordingly.

Now that you have been introduced to the Agile manifesto’s values and principles, let’s start dissecting it to see why and how it relates to executive management.

Facts:

  1. By definition, Agile Software Development is not an objective in itself. That is, you cannot become “Agile”, nor can you render something “Agile”. Agile, as it is intended in the manifesto, is a proposed way to develop software that adheres to the four values and implies the use of the twelve principles.
  2. Adopting an Agile Software Development method implies that you respect the four values and implement the twelve principles with as much fidelity as possible.
  3. There is no defined quota of value and principle adoption to be Agile. Because you can’t be Agile, remember?
  4. Adopting an Agile Software Development method without adhering to the values and without implementing the principles is NOT adopting an Agile Software Development method. What makes any method Agile is exactly that: adhering to the values and implementing the principles.
  5. Any method can be an Agile Software Development method as long as, you guessed it; it respects the values and implements the principles.

Let’s not kid ourselves. Adhering to the four values alone is a daunting task. You can imagine what difficulties emerge when trying to implement the twelve principles.

Here is a series of questions to start with. They may be valuable when assessing the pertinence of an Agile Software Development method for your organization.

What are you trying to solve or accomplish and how do any of these Agile values and principles apply to your context and situation?

Let’s be honest, chances are that Agile Software Development will not be helpful at all. In fact, adopting an Agile method might actually hinder your software delivery process and make things even worse. A good root cause analysis of your software delivery process or lifecycle will help you identify your constraints, weak links, gaps and improvement points. Prioritize the root causes with a value-driven indicator and then run the top causes through the values and principles and see if they will actually solve any of them.

What is my role as an executive manager in the Agile software development initiative?

Let’s look at the aforementioned values:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

Consider what each of these values implies for your organization. For example “Individuals and interactions over processes and tools” implies that changes will have to be made in the way people interact and use tools and processes. Do any existing processes hinder the adoption of this value? To what extent is the organization willing to promote this value? How does this play with HR and ethical regulations? How does this affect union agreements (if applicable)? As a stakeholder, how are you promoting this value? Although it may look simple, this value might be harder to apply than you may think. If you lack communication skills and prefer a very directive approach to interactions, then you will definitely have personal challenges promoting this value.

Go through every one of these values and identify which ones come in conflict with current organizational values and practices. Identify how you intend to respect the values and what changes will be required in order to achieve this.

Delegating this task to a lower level and personally disengaging from it will result in a dichotomy of mindset and approaches between you and your directors or managers. This will in turn place them in a very uncomfortable situation where they have to communicate and work in a way with you and another with their teams.

Essentially, your role is to promote and enact the values on a daily basis and empower your directors and managers to do the same with their teams. In other words, you should be working with your directors and teams to find a way to make sure that your organization can respond to change instead of following a plan. Therefore, asking for a waterfall type plan might contradict this value.

As you can see from the previous question, adapting an organization to Agile Software Development can be a long-haul affair. Is your project big enough to invest the money, time and effort necessary for an Agile transformation?

If you adopt an Agile Software Development approach for a small project, you may not be able to justify the ROI. Ideally, the project should be big enough for you to benefit from the transformation. Consider if most of the projects in your organization are of the required size and complexity to make an Agile transformation worthwhile.

Does your organization promote employee retention and sustainability?

If your organization has a high employee roll out, you might want to consider the difficulties you’ll encounter each time an employee has to be trained to work in an Agile environment. Not only are there technical aspects to Agile Software Development but, as you may have noticed, it also requires a mindset shift.

School curricula and educational methods promote values and principles that sometimes contradict Agile Software Development values.

Likewise, if you work in an organization that has managerial volatility, like government agencies and departments, it is worthwhile to think about the challenges that are encountered when there is a change in political leadership. More often than not, politically inclined managers do not like to encourage what their predecessors have put in place.

What challenges will your organizational structure impose on the adoption of Agile Software Development?

Your organization may have parts of its software development team split up in several locations. This can be difficult to leverage but not impossible. The main difficulty with this aspect is usually the daily synchronization and sharing of the backlog (the log that the team works from).

Can your IT operations support the demands an Agile method imposes? One of the main aspects of Agile Software Development is the fast response to support the teams in their effort to complete work items. This is a real challenge for DevOps teams, who are often immune to change when it doesn’t serve their own process and purpose.

Agile Software Development relies on the unification of efforts between the business departments and IT departments. How willing is the organization in promoting that cooperation that often involves business people temporarily being assigned to work with IT departments?

IT analysts are usually in charge of assessing the business needs and translating them into work items for the software development teams. Agile Software Development suggests the opposite, that is, the business people will be required to work directly, often as product owners, with the IT teams. There are several reasons for this, one of them being that there is no better person to qualify the product than the business person. With Agile Software Development, the best results come from organizations that are willing to work this way for the benefit of delivering more business value with each delivery of software increments.

Agile Management Qualities

There are a few qualities that executive managers should consider when adopting an Agile Software Development methodology. Here are a few essential ones:

  • Being able to apply situational leadership that covers the whole spectrum from directive to coach.
  • Promoting a singular organizational purpose, mostly putting forward the purpose or the “why” your organization does what it does.
  • Promoting, encouraging and acting out the four Agile values.
  • Understanding and encouraging the implementation of the twelve principles.
  • Being a mentor or coach to the people that report to you.
  • Encouraging everyone in the hierarchy to become a mentor or coach to the people that report to them.

Considerations

Adopting Agile Software Development as a set of values and principles for your organization can be quite an experience. It can be a huge pay off and it can be a complete waste of time and money.

Becoming Agile aware will definitely help you make the right decisions when it comes to adopting a full-fledged transformation or applying an Agile methodology in your software development process.

Pyxis—Helping clients become Agile aware since 2000!

Previous post

Increasing the productivity of your teams

Next post

The Bracket Show—episode 1

marc-andré langlais

Marc-André is an Agile coach at Epicoaching, member of Pyxis network. He helps build self-organizing teams who evolve in a stimulating and relational environment. Contact him to find out how he can contribute to the success of your teams.

No Comment

Leave a reply

Your email address will not be published. Required fields are marked *