Primer on Agile

Agile was founded in 2001 when a group of software development thinkers got together at a Utah ski resort. Martin Fowler was one of  the original names who is still actively blogging at Thoughtworks.

The Agile Manifesto is worth referencing in terms of context.  Things have moved along way but this is where it all started.

Agile was championed by the Dev community at a time in the 2000’s when the Geek was very much empowered. Every tech team wanted to be Agile because it was effectively methodology light at best – and at worst – no pressure, no discipline, and no accountability.

Add into the mix some Lean stuff – Lean Startup (by Eric Ries) – What people often fail to recognize is that Enterprises are not startups.  The core of this is based on Deming who introduced this to the West by applying Japanese car manufacturing techniques.  Kanban is core component, as is a desire to reduce WIP (Lean manufacturing Theory).

What happened next was people figured out this doesn’t work for larger Corporate/Enterprise initiatives.  The rise of Enterprise Agile – making Agile work in the corporate setting. Corporates and Agile are like “anti patterns”. Fixed Budgets – Agile guys have no idea about Budgets, Opex vs. Capex. The Iron Triangle of Project Management is an interesting construct here and the reasons that so many Agile projects result in poor quality execution.  Fail fast and fail often – yeah. Like Corporate suicide – more like talk up your success, claim victory and never admit failure.  Trump playbook stuff.

Enterprise Agile was coined at around the same time that there was an emergence of Scaled Agile Framework (SAFe), Disciplined Agile Delivery (DAD) and Less. All these Frameworks are trying to address the need to put this in the context of Programme Management, Enterprise and at the same time address how this works in an outsourcing (Distributed team) context.  All this was combined with a wider definition of Agile to incorporate Organisational resilience and flexibility. Most IPO’s had to incorporate something Agile.

Devops, Secops, Test Automation and Deployment pipelines are all Agile enablers. Development Operations (Devops) or Devops with security focus (Secops) is an enabler in the form of an infrastructure that enables the release of small/incremental packages to live in quasi real time, whilst ensuring some degree of quality around the process such that you can do things like perform regression testing (I haven’t  broken anything) and formalised deployment methods (scripts) that can by definition accompanied by a rollback process (scripts). Clearly incremental daily code integrations (Continuous Integration) cannot be performed effectively with manual testing alone, therefore this implies Test automation. Building out tests leads us into such techniques as Test Driven Development (TDD).

The PRINCE2 people would note that “it is a project management methodology & practitioner certification program while Waterfall & Agile are development approaches, each with different themes, principles, and processes”. It would also be fair to state that PRINCE2 has been primarily associated with Waterfall Projects accompanied by Big Requirements Up Front (BRUF).  Not the world of small iterations and pivots. The Prince 2 community have apparently tacitly recognised this by introducing Prince for Agile. Read whatever you want into that!

Lean and Agile captures desirable dynamism and responsiveness to projects. However, many traditional project management techniques are as applicable as the laws of physics. We must remember not all projects are created equal. More successful outcomes will be achieved by clear headed practitioners, who are not bogged down with methodologies and certifications – focusing on the deliverables (Product?).