Finding the Heart of Agile

agile

Even with its wide popularity across the software development world, there are more than a few programmers who simply don’t like Agile. The reasons for this antipathy range from a resistance to change, to simply being averse to the meetings and procedures typical of many Agile frameworks.

Bringing these prodigal sons – and daughters – back to fold is an important part of building a successful application engineering team. Some tech thought leaders feel returning to the simplicity of Agile in its earlier days will help. Let’s take a closer look at some of their concepts to see if they may help your staff.

The Modern Movement to return Agile to its Roots

There are two main movements hoping to lessen the animosity towards Agile by instead focusing on what caused its growth in the first place. Modern Agile is something we’ve talked about previously on the blog. Guided by four simple principles, this flavor of Agile is continuing to attract proponents hoping a simplified methodology leads to happy developers and a subsequent boost in productivity.

The other newer movement within the Agile community is called the Heart of Agile. It was first developed by Alistair Cockburn, one of the original authors of the Agile Manifesto. Like Modern Agile, the Heart of Agile also focuses on four simple principles Cockburn feels are essential to the original methodology.

The Four Keys to the Heart of Agile

In 2014, Cockburn began to feel Agile had become too dependent on procedures and policies; “overly decorated” was the term he used.  With Agile getting away from the simplicity he felt was vital to its initial success; it seemed like a good time to restate the core concepts of the methodology. Of course, Cockburn stays away from calling the Heart of Agile a framework, methodology, or process; instead he refers the curious to its four core actions: collaborate, deliver, reflect, and improve.

“Collaborate” is the first action and one many software engineering professionals feel is one of the most important aspects of Agile and related frameworks, like DevOps. “Deliver” is self-explanatory, and remains a focus at any software shop, including those striving to achieve continuous delivery.

“Reflect” is an important concept helping individual developers and software engineering teams understand their own previous project work and where they can become better. “Improve” is the fourth action to Cockburn’s new manifesto and serves as the natural result of any reflection.

Cockburn emphasizes that these four actions are practiced by anyone in the software development industry on a daily basis. “Each one unpacks into unendingly complicated skills, actions, tools, and all. Each is rich with nuance. And still, we can fold back up all the nuance and complications, and remind ourselves: ‘Collaborate. Deliver. Reflect. Improve.’” says Cockburn.

Ultimately, his most important point is to never lose sight of these four simple concepts no matter the relative complexity of an organization’s Agile framework or the increasing number of tools required to manage a mature DevOps organizational structure. They are words worthy of periodic reflection. Keep returning to them on a weekly or daily basis.

Thanks for reading this edition of the Betica Blog. Keep returning for additional insights and philosophies from the world of software development.