It’s been a while since I posted publicly due to <insert many excuses here>
That said, let’s get to it!
What’s happening in your world? Anything new?
Obviously, EVERYONE is impacted by the spread of the virus, COVID-19, and daily life is a disrupted mess at varying levels of insanity. I though now might be a great time to revisit some of our core agile thinking and principles as we march into the very unpredictable future.
The latest survey for agile adoption shows that consistently, companies leverage agile adoption to deal with uncertainty (or at least that is how they say the use it).
I wanted to insert this information here as a baseline for a couple of thoughts revolving around conversations I have been having with clients and peers recently.
Before getting into those conversations, I want to refresh our thinking on Core Agile Values and Principles:
Ø 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.
- 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.
I know you have probably read these before maybe even many times, but please read them again.
The agile philosophy began as a better way to provide customers with value while embracing the iterative and incremental way of building solutions. The principles specifically embrace the outcomes of mitigating risks early and often but embracing learning and empiricism. This concept is critical in understand our why. Mitigate risk, deliver value, learn.
Wikipedia describes it as: The basic idea behind this method is to develop a system through repeated cycles (iterative) and in smaller portions at a time (incremental), allowing software developers to take advantage of what was learned during development of earlier parts or versions of the system. Learning comes from both the development and use of the system, where possible key steps in the process start with a simple implementation of a subset of the software requirements and iteratively enhance the evolving versions until the full system is implemented. At each iteration, design modifications are made and new functional capabilities are added.
Again, the value here is in reduction of risk, with addition of value, while learning. The proposition is incredibly valuable if we can learn to leverage it within our workforce!
As this way of working became increasingly popular, new methods were applied within it, such as Lean & Six Sigma type thinking. Certainly, waste reduction is good, and if we can reduce waste, and mitigate risk, deliver value and learn, the world may in fact become a happy place! Viola!
In this new, easy to understand set of principles and values came new business focused less on the underlying reasons and more on how they could contribute, or in some case redefine the underpinnings of this simple set of rules. As we learn with most systems, they can become greedy and protective of themselves, and eventually even learn or be designed to protect themselves.
Oddly (or not so oddly), those traits reflect the larger human condition.
I was listening to the news, as I believe everyone is/has been. I was taken by some things I observed how the federal government and state governments were working or attempting to work. It was interesting to notice how the federal government was ceding decision making to local authorities on everything from restrictions on travel/gatherings to acquisition of services and supplies they needed. Decentralizing authority for speed and accuracy of execution while also providing guidance on execution and planning as well as reducing the larger scale risks by providing country wide guidelines on access, restrictions and best practices. It was an Agilist’s dream to be able to easily identify how the government was effectively stepping in and out of solutions to guide but not dictate, except where they were required. You could almost envision the perfect architect/product management balance.
Sadly, it was also easy to recognize that is not how the government functions regularly. Unfortunately, an international crisis was required to get the team on the same page (mostly).
This article is not meant to be political in any way, you can find that everywhere any day.
It is simply meant to allow us to look at the function of a system, as designed, when it is working towards a common goal, when teams are gathered and motivated to overcome a challenge and deliver value to the customers.
This time of constant change is bringing many new challenges, in the next post I will begin to address specific challenges for teams and leadership in the new work we live.
Until then, remain safe, practice smart activities, follow good guidance!