The Agile Wilderness: Principle #10: Simplicity
Agile Principle #10: "Simplicity–the art of maximizing the amount of work not done–is essential." (1)
Image from medium.com (2)
This is one of my favorite principles and makes me think of the phrase "simplicity is genius". I have learned it takes time to design something to be simple with thought into how things work together but in the end, you make it easier to use, build, and maintain so it is more than worth it. The same is true for any process or interaction, the simpler it is the more likely people are to understand it and use it.
Digging into the agile principle
So let's dig into this principle a little bit. There are 4 parts of the principle in my mind. The first is starting with the single word simplicity. The second is calling it an art (and not a science) for how we do this. The third part is "the what" which is to maximize the amount of work not done. Then we finish the statement with "the why" which is that it is essential.
Simplicity by definition is "the quality or condition of being easy to understand or do". Making things easy is not always as straightforward as we initially think. I have found in the organizations I have been a part of something you may think is simple becomes very complicated once you get into it such as making a pizza. As organizations are the experts in their products, they have so much history and knowledge in the space they can tend to overcomplicate something. This happens a lot as organizations continue to add features and end up with products with 90% of the features not being used. Getting back to the basics and simplifying it will help keep them agile and able to compete in their space. I like the example below from when you have someone staying at your house and how you only use about 10% of the buttons on your remote.
The second part of the principle is that it is an art, and not a science. As you dig into the details of your product and are looking at various features you may want to include it is important to think through what works together to reach your outcomes and what may overcomplicate it and make it less usable. There is no formula you can apply to say what they balance should be and requires you to critically think through the problems you are trying to solve and best way to approach solving those for your customer in the easiest way possible.
The third part of the principle around maximizing the work not done is often overlooked. When we continue planning out our work and features, we often do not take the time needed to reflect on what we have learned and refocus on our vision. We continue building features without refactoring to simplify our solution and end up with a monster. Refactoring and keeping our solution simple is key to be successful at delivering value quickly but also sustaining that value delivery for a long time. I like the meme below which talks about how we only think about refactoring when it may be too late, and we create a monster that is overly complicated, and we are unable to manage.
The last part is the why and as you will see later, I feel this needs to be stronger. The fact is that it is essential to keeps things simple to be agile and respond to change. In essence, simplicity allows our teams to deliver faster and reduces waste which is key to being successful in agile.
Comparing the agile principle to Scrum values and SAFe scaled principles
The scrum value that relates to simplicity is focus. (3) As a team we need to focus on the "right" things to build that will give our customers the most value and reduce the noise. The team should work to continuously discovery the customer needs and get feedback from what they are building to make sure we are learning how best to solve the problem for our customers and focusing on the right things. I have really been enjoying the book from Teresa Torres on "Continuous Discovery Habits" (4) that talks about this.
The scaled agile principles (5) that relate to simplicity are "take an economic view" and "apply system thinking".
"Take an economic view" speaks to focusing on the highest value items and reducing waster as you scale. SAFe uses the WSJF (6) (weighted shortest job first) prioritization method which encourages you to take on the smallest items that will add the most value. Thinking through the simplest things we can do to add value to our customers.
"Apply systems thinking" speaks to making sure we consider how things interact in our complicated systems and how we can simplify and makes things easier as we scale. Considering dependencies and connections between problems we are solving can help us reduce the complexity within our system and possibly solve multiple things at once. As we consider these we want to make sure a simple change in one problem does not cause other problems to be created or get worse though.
领英推荐
Suggested changes to the original agile principle
Put a stronger why at the end of the principle. "... work not done - is essential to deliver value faster and reduce waste"
At the end of the day, we want to deliver value and creating something simpler means we can create value faster. This also brings in concepts from lean focusing on reducing waste from our processes. I think adding a little bit at the end here would mean folks would understand why simplicity is so important.
Closing
In closing, simplicity is essential to being agile. Without maximizing the amount of work not done, we are unable to deliver value faster and take waste out of our organizations. Here is a quick summary of the comparisons and changes I would suggest for agile principle 10:
I hope you have enjoyed this article and as always feel free to reach out to discuss further or drop a comment below to join the discussion. Thank you for your time and look forward to sharing my thoughts about "Principle #3: Deliver Frequently" next time.
About the Author
Jeff Mortimer?(#theAgileMoose) is an Agile Enthusiast with over 10+ years of experience working in various roles on agile teams including business analyst, product owner, scrum master, team leader, technical delivery manager and now an agile coach consultant focused on product transformations. In additional to his certifications in CBAP, AAC, CSP-PO, SAFe Agilist and SAFe LPM, Jeff?has presented at several conferences throughout North America and joined the blogger universe a couple years ago to bring a voice to the everyday agile practitioners. He also just received his EMBA at Quantics School of Business and Technology. He is a husband to an amazing intelligent wife who has her doctorate in math education, father to kids who bring him joy every day, friend that brews beer and plays soccer, and citizen who helps organize volunteers to give back to the community.
Follow #theAgileMoose for the latest insights in the agile wilderness.
References
(1)?Agile Principles from agile alliance
(2) Principles Image from medium.com
(3)?Scrum Values ?from scrum.org
(4) "Continuous Discovery Habits" by Teresa Torres
(5)?SAFe Scaled Principles ?from scaledagileframework.com
(6)?SAFe WSJF ?from scaledagileframework.com