Effective Software Development Without Suffering

November 22, 2009 — Posted by Al Shalloway

Some people in the Lean-Agile community think of me as an outspoken critic of Scrum.  That has never been my intention. My intention has always been to help people do software development effectively. I am not against Scrum, I am for something - effective software development at the entire organizational level. Since its inception, Net Objectives' vision has been effective software development without suffering.   Sometimes, however, when you are for some things, you have to speak up against other things - especially if  the two are opposed to each other.  I am not speaking against Scrum per se, I am speaking against claims made about Scrum that are hurting people.

Let me explain. I have worked with dozens of companies transitioning to Lean-Agile methods.  I have watched other Net Objectives consultants work with many dozen more. Except for the simple cases of where only one or two teams were involved, these companies needed to know a lot more than merely Scrum. They needed to know:

  1. About flow and how delays and too much work in process (WIP) adversely affects it
  2. That most errors arise from the system they work in, so better systems will achieve better results
  3. About using value streams to assist in figuring out problem
  4. That one must evaluate the effectiveness of any local work by looking at its affect to the entire value stream
  5. That there is little value in making a team agile if it does not help the business become more agile
  6. That the problems teams have are often caused by issues having little to do with the team
  7. That management is very important in anything but a team only agile transition
  8. How to align disparate members of the organization that are currently working to optimize their own responsibilities

My issue is not with Scrum. Rather, it is the belief that starting with Scrum is always an effective approach or that all teams can benefit from Scrum. Scrum was originally proposed as a team process that began after a project started. It's sometimes hard to tell what it is nowadays, but I'll use this as a definition since this is what is taught in the Scrum Alliance's CSM classes. In our experience at Net Objectives, most of the issues facing software developers in large organizations are outside of their control and require stronger methods than timeboxed iterations.

Unfortunately, the industry has almost defaulted to beginning an Agile transition by sending people to a CSM class and starting a Scrum pilot project. Ken Schwaber has acknowledged that "75% of those organizations using Scrum will not succeed in getting the benefits that they hope for from it." The question is why? Is it because people are doing Scrum improperly or is it because Scrum doesn't provide the insights needed to fix the impediments stopping its effectiveness.

Many Scrum consultants would say that the power of Scrum is in being a lightweight framework within which the team figures out how to solve its problems. It is a correction to overly burdensome processes of the past. But is this the right focus? It depends. If the team has been set up to solve a particular problem and it is free to do its work and is not affected by outside impediments, then I would agree that they could get away with little more than their wits and commitment. (I believe they would still do better with some Lean-Agile thinking). However, if that is not their situation - and most teams have to work with other teams, or are impeded by other parts of the organization, or do not have clear priorities - then I would say that such a parochial view is dangerous. It leaves people un-prepared for their work. 

This is why I am so vocal: To alert people that there is a lot available beyond Scrum and that knowing these things will increase their chance for success. There is plenty of useful knowledge that others have learned and we should be using it!

To help people understand the importance of these concepts, I will be writing a series of blogs dealing with these specific issues. These blogs will be:

  • The importance of creating proper systems / environments for people to work in (covers point 2 above)
  • The importance of flow, delays an WIP limits (covers point 1 above)
  • Value stream mapping and optimizing the whole (covers points 3, 4 and 5 above)
  • Management's role in a Lean-Agile transition (covers point 7 above)
  • Why you must see where you are in order to know how to start your Lean-Agile transition (covers point 6 above)
  • A summation of the above to take as an approach to align an organization (covers point 8 above)

Our vision - "effective software development without suffering" - has two important parts. The first is that one must have the right attitude. In other words,suffering is often caused when one feels they are a martyr or victim in their work or life. A better attitude can make a big difference.  However, often having the appropriate tools can make one's life easier. In other words, while being enlightened may help you deal with the pain, dealing with the problem also helps eliminate the pain.  You need both: A combination of effective people skills along with an extensive knowledge of what helps you get your job done.

But please don't take offense. It doesn't matter what either side is saying; what matters is what the community is doing.

This series of blogs is for those who are trying to help their organization be more effective. I want you to know that there are effective methods that can help transform your organization. While we don't want overly burdensome processes, throwing out what works is throwing away the baby with the bath water. Let's use what works! We don't have to figure everything out on our own.

Alan Shalloway
CEO, Net Objectives
Co-author of Lean-Agile Software Development: Achieving Enterprise Agility

Subscribe to our blog Net Objectives Thoughts Blog

Share this:

About the author | Al Shalloway

Al Shalloway is the founder and CEO of Net Objectives. With 45 years of experience, Al is an industry thought leader in Lean, Kanban, product portfolio management, Scrum and agile design. He helps companies transition to Lean and Agile methods enterprise-wide as well teaches courses in these areas.



        

Blog Authors

Al Shalloway
Business, Operations, Process, Sales, Agile Design and Patterns, Personal Development, Agile, Lean, SAFe, Kanban, Kanban Method, Scrum, Scrumban, XP
Cory Foy
Change Management, Innovation Games, Team Agility, Transitioning to Agile
Guy Beaver
Business and Strategy Development, Executive Management, Management, Operations, DevOps, Planning/Estimation, Change Management, Lean Implementation, Transitioning to Agile, Lean-Agile, Lean, SAFe, Kanban, Scrum
Israel Gat
Business and Strategy Development, DevOps, Lean Implementation, Agile, Lean, Kanban, Scrum
Jim Trott
Business and Strategy Development, Analysis and Design Methods, Change Management, Knowledge Management, Lean Implementation, Team Agility, Transitioning to Agile, Workflow, Technical Writing, Certifications, Coaching, Mentoring, Online Training, Professional Development, Agile, Lean-Agile, SAFe, Kanban
Ken Pugh
Agile Design and Patterns, Software Design, Design Patterns, C++, C#, Java, Technical Writing, TDD, ATDD, Certifications, Coaching, Mentoring, Professional Development, Agile, Lean-Agile, Lean, SAFe, Kanban, Kanban Method, Scrum, Scrumban, XP
Marc Danziger
Business and Strategy Development, Change Management, Team Agility, Online Communities, Promotional Initiatives, Sales and Marketing Collateral
Max Guernsey
Analysis and Design Methods, Planning/Estimation, Database Agility, Design Patterns, TDD, TDD Databases, ATDD, Lean-Agile, Scrum
Scott Bain
Analysis and Design Methods, Agile Design and Patterns, Software Design, Design Patterns, Technical Writing, TDD, Coaching, Mentoring, Online Training, Professional Development, Agile
Steve Thomas
Business and Strategy Development, Change Management, Lean Implementation, Team Agility, Transitioning to Agile
Tom Grant
Business and Strategy Development, Executive Management, Management, DevOps, Analyst, Analysis and Design Methods, Planning/Estimation, Innovation Games, Lean Implementation, Agile, Lean-Agile, Lean, Kanban