Why Does Agile Software Development Work?

Foreword

ConnieConnie Heidenreich, PSM, CSM, CSPO, SAFe Agilist, ICP-ATF

Connie began her career in the investment advising world, coaching and helping her clients with their financial portfolios. Over the following years, she moved into project management by helping new investment advisors stand-up and establish their business. She then transitioned into traditional IT project management a few years later. It was when she was asked by a client to take on the Scrum Master role that she fell in love with Agile concepts, continuous feedback, team empowerment, process improvement, and the rest is history.

Agile Coaching and consulting became her calling. Her span of experience includes helping organizations transform into Agile, establishing new agile start-up teams, as well as working with mature companies and teams to better their processes. The bumps and bruises collected along the way have brought her to the realization that helping organizations adopt Agile practices was less about the practices, and more about embracing change.

We are proud to count Connie as a key member of the SDS team, and value her expertise as an agile coach and scrum master.

~David Pledger, Managing Partner, Strategic Data Systems

 

Introduction

Many companies have adopted an agile software development approach in their organization to reap the benefits of continuous delivery, frequent inspection and adaption, and consistent feedback.  But what about those who are still on the fence and not sure Agile is worth the hype it seems to be receiving?

Themes in Agile

When considering agile for your company and enterprise, I personally have come to appreciate that agile works due to three major themes.

1) The Agile Manifesto

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

Agile Manifesto

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.

The manifesto is widely known and referenced, and it stands as the foundation for the values on which agile was built.  Contrary to some of the criticisms you may have heard, the fact is that the agile movement is based on some very solid concepts.  Unfortunately, there are still those in the community that use agile to justify taking short cuts, such as producing no documentation, asserting “we don't document anything, therefore we're agile".  Many software traditionalists have jumped on that and have said that agile is a bad idea.  Documentation is certainly an important aspect to maintaining accurate and up to date information.  However, what the manifesto is advocating here is just how comprehensive documentation should be when considering the need of responding to change quickly.

2) People

We know that human beings desire a productive work environment, but those that have experienced agile know that agile works because it allows for independence, interdependence and continuous improvement. 

  • Independence: Taking initiative, beginning with a goal in mind, knowing what to do when

Agile, self-organizing teams, and independence are often quoted together.  Two of the principles behind the agile manifesto, “Build projects around motivated individuals.  Give them the environment and support they need and trust them to get the job done” and “The best architectures, requirements, and designs emerge from self-organizing teams” give a great viewpoint into the agile perspective of independence.  Allowing teams to self-organize and make their own decisions enables teams to self-master, fail fast, and learn on their terms.

  • Interdependence: Teamwork, collaboration, problem-solving

Interdependence is working well with others, of course, but it goes beyond that.  When considering working in an agile environment it also means listening empathetically, team encouragement, thinking with a win-win mindset, and always keeping the customer value your team is being counted on to provide in your sight.

  • Continuous Improvement:  Ongoing effort to improve, inspecting and adapting

Speed of Agility

Realizing that we all have something to improve is a good thing.  Getting a team together, inspecting what has gone right and not gone right every few weeks, and making changes so you can get better at those things that didn’t go right is a great thing!  This allows the team to make sustainable plans that can be implemented in the next sprint, and they can then measure themselves to see how they did and inspect and adapt again.  Another benefit about the agile mindset is that experimentation is encouraged! 

3) Collaboration

Collaboration in its simplest definition is “to work with another person or group in order to achieve or do something”.  What is important to remember is that agile does not make someone collaborative.  Agile provides the components to promote collaboration but it is up to the individual and the organization to own the cultural part of people working together.  In my opinion the word seems to be over-used these days, but regardless, successful agile collaboration requires respectful open dialogue, cooperation, and an “all in” attitude.

If your company is “all in”, meaning from executive leadership to the development team, and all are fully supportive of these agile themes, most companies often see the benefits of an agile transformation early on.  Successful agile transformation does require a major paradigm shift, a shift in our normal way of thinking, so it likely will not be easy.  For example, embracing emergent requirements rather than knowing everything up front can be uncomfortable.  Shifting from the mindset of having work assigned versus allowing the team to decide who works on what is a change in our usual way of thinking.  Most things that require change are often difficult for us to embrace and undertake.  However, enabling the team can not only lead to a joyful team but a high-performing team.

Conclusion

All agile methodologies for software development share common goals:

  • Deliver software that delights the customer.
  • Deliver what is needed, when it is needed, and nothing more.
  • Focus on business value and accommodate changing priorities.
  • Collaborate with the business on a daily basis.
  • Show what you have accomplished in regular short iterations.
  • Fail fast if the product does not deliver business value and stop when the value is sufficient for the goals of the business.

If you aren’t using an agile mythology yet, perhaps now is the time to give it a try.

Next Steps

Want to learn more?  SDS can assist you in several ways:

  1. Schedule a Lunch-and-Learn tailored to your specific questions.
  2. Attend the annual Cincy Deliver conference on the last Friday in July. Organized by our agile expert, Phil Japikse, Cincy Deliver focuses on developing software, which includes agile methods.   (https://www.dayofagile.com )
  3. Ask about or transition and mentorship programs.
  4. Consider working with a blended team consisting of your people working side-by-side with experienced agile developers on a project.

Contact Steve Held at Steve.Held@SDS.io or 513-218-1706 for more information.

 

About Strategic Data Systems

Strategic Data Systems helps business adopt technology.

We believe that letting us do what we do best—Technology—allows you to focus on what you do best.

We believe companies who can efficiently produce, process, find, and consume critical information at the exact time it is needed have a significant competitive advantage over those who cannot.

We believe information sharing among employees has great value and that highly collaborative teams enhance individual performances.

We drive business success using technology solutions.

We provide these solutions as a professional services organization providing offsite IT project execution, consulting services, system integration, and staffing services.

Visit http://sds.io for more information