Agile development is not a Free-For-All — Marrying Agile, Lean, and Certifications

Raul Troyo
Cordage.io
Published in
7 min readJun 19, 2019

TL; DR: It is a common misconception that Agile Development is a free-for-all way to program software. I want to clarify, It is not. Agile development does not mean a lack of documentation, a lack of defined processes and procedures, nor a way to randomly spit code.

I joined Cordage last year, from the Software Development Agency world. I’ll be honest, I thought building software for Enterprise wasn’t going to be that different from building B2C software. Boy was I wrong.

Enterprise Software forces you to comply with an additional series of security measures and standards. Engineering for the enterprise is accepting acronyms like JWT, JWK, and UMA as actual words in the English Dictionary. Building Software for large corporations means you need to define your processes to comply with ISO27001, GDPR and all of the SOCs.

We are building Cordage to be the Hub for all Quality 4.0 Initiatives. At our company – Quality is more than compliance, it is a mindset. Our philosophy is not totally ours; it is inspired by Total Quality Management. (If you are interested in the TQM Mindset read this article)

This made me wonder; how can Agile’s “People over Process value” match with quality being linked to all internal processes? How is it possible to comply with ISO27001, GDPR, SOC1, SOC2 and others in an environment with varying priorities. Agile— Individuals and Interactions over processes and tools. Total Quality Management — Value to the Customer. Traditional Quality– Standard Operating Procedures.

And then it hit me. TQM, Agile and Quality Management have a series of commonalities. The main difference among all of these is the time of each iteration.

Agile Development

What is Agile Development?

Agile software development is an approach towards the creation of code. Agile is the “Parent Category” to multiple different Agile frameworks like XP, SCRUM, Kanban and others. Having your own Agile Framework is even accepted as best-practice.

Agile is a flexible mental framework; that follows 4 values and 12 principles. I have grouped the principles into the values.

Individuals and Interactions over processes and tools

  • Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  • Simplicity — the art of maximizing the amount of work not done — is essential.
  • The best architectures, requirements, and designs emerge from self-organizing teams.

Working software over comprehensive documentation

  • Working software is the primary measure of progress.
  • Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  • Continuous attention to technical excellence and good design enhances agility.

Customer collaboration over contract negotiation

  • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  • Business people and developers must work together daily throughout the project.
  • Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

Responding to change over following a plan

  • Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
  • At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Common Misconceptions about Agile Development

It could be easy to think Agile Development is similar to being a Cowboy developer in the Wild West. No requirements in any shape or form (either as a user story, job story or use case). No Processes. No documentation.

In the context of agile, “Over” can be easily misunderstood. Over does not mean “No”.

The Agile Manifesto does not say code without a plan; it states you need to be flexible with your plan; and that your software and your infrastructure architecture need to be able to adapt. (Microservices, DDD, Lean Product Development)

Lean Manufacturing

Lean Manufacturing is a methodology developed in Postwar Japan and popularized by Japanese manufacturers such as Toyota. The main idea behind Lean Manufacturing is to minimize waste and to maximize value.

What is “waste”?

In the context of lean manufacturing, waste is more than scrap. Waste points to failures in the process. Waste is an activity that does not provide value to the product. Waste is also called a “Muda” in the context of 3M.

The original 7 wastes are:

  • Transport: Move an item from one place to another.
  • Inventory: Stored, components and raw materials.
  • Motion: Unnecessary movements in production.
  • Waiting: Interruptions in the production process.
  • Overproduction: Produce more than is required.
  • Over Processing: Overly working and refining a product after value has been met.
  • Defects: Work used in the inspection and correction of mistakes.

What is Value?

In Lean, value is the perception of worth by the customer. Value is only relevant to the customer. In economic terms, Value represents the willingness to pay for a good or service.

Similarities with Agile

Just like Agile, Lean Manufacturing is also a combination of methodologies. Lean Manufacturing tools include Total Quality Management, The PDCA/Deming Cycle, 5S, Kanban, Poka Yoke, 3M, Just in Time, and several others.

The Deming Cycle

What is The Deming Cycle?

The Deming Cycle, also known as the PDCA cycle is a quality management framework. PDCA is a continuous improvement model that is made up of a sequence of 4 steps: Plan, Do, Check, and Act, which is repeated iteratively.

The Plan-Do-Check-Act-Cycle is one of the cornerstones for the Lean Manufacturing Philosophy. The Deming cycle is a prerequisite for continuous improvement of people and of processes inside organizations.

The Deming cycle:

  • PLAN: Prepare for change, analyze and predict results.
  • DO: Execute the plan and work in controlled circumstances.
  • Check: Evaluate the result and evaluate improvements.
  • ACT: take action to standardize or improve the process.

The PDCA Cycle has multiple benefits to organizations, teams, and individuals. The Deming Cycle emphasizes that issues need to be prevented and to be corrected. Stakeholders need to seek ways to do further improvements and engrain this in the organization as an on-going process.

Just like Agile Software Development, Lean Manufacturing comes with its own set of caveats. People often are the biggest obstacle towards a culture of continuous improvement. Fear, lack of empowerment and poor alignment are often the toughest

Certifications

What is Certification?

Certifications are an acknowledgment from a third party that can state a minimum set of standards are being met. In the case of Quality, the most popular are ISO Certifications.

Certifications are useful for organizations. An ISO, an OHSAS or an FDA certification enables companies to sell their products in heavily regulated industries — pharma, or to be considered as a supplier. A certification is a seal that guarantees customers the organization is committed to quality.

The Deming Cycle and ISO 9001 Certification

In the introduction to ISO9001 there is an introduction to the PDCA methodology. The ISO 9001 document is now structured around the Deming Cycle and the need for Continuous Improvement.

Marrying the three.

Agile, Lean and Certifications are a commitment. All three of these depend on people and their commitment to quality and process.

Definition of Done — Musts

While the accepted glossary is Shall, we believe “Must” is a more current term, and it is friendlier to ESL quality practitioners.

In ISO, what matters is the consistency and being able to prove processes and procedures are being met. These pieces of evidence are named Records. In the Agile Context, these records would be the equivalent to the Definition of Done and Acceptance Criteria.

A Definition of Done would be the equivalent of a must in the context of ISO. In Cordage, we don’t consider a Github Issue to be done until it has been Documented, Unit Tested, Integration Tested, Peer Reviewed and Deployed to the Staging Server.

In ISO Terms: All Functionality must be: Documented, Unit Tested, Integration Tested, Peer-Reviewed and deployed to the Staging Server.

Documentation — Documentation

We believe in documentation and developer experience. Processes are documented and we make sure to deliver working hardware that works to a small spec.

Retrospectives – Check

In my opinion, the most important aspect is the Check phase in the PDCA cycle. In the Agile context, and specifically to SCRUM, the check phase would be the equivalent of a Sprint Retrospective. What went right, what went wrong, how can we improve and what are our commitments to prevent this from ever happening again. What was the reason this even happened in the first place.

Our Remixed Framework

We are a small team of developers. Our internal framework is Scrumban. We limit work in progress, track velocity and do estimates. We have our own Kanban board in which we can eventually track our cycle times, our lead times and the time it takes us to learn something new.

We do basic documentation before development, we set acceptance criteria and make sure our Definition of Done is being Met. We combined Jeff Patton’s techniques with Intercom’s JTB Framework.

At Cordage, we are a small yet growing team of developers. We Track Cycle Time and Lead Time. We have our own Board Structure. We mixed Jeff Patton’s technique with Intercom’s Job To de Done Approach.

We will continue writing about how we work in this publication. Subscribe to follow our behind the scenes.

We are Cordage. A mission-driven but value agnostic company building the Hub for Quality 4.0. Our mission is to help build a world with safer, more valuable and more reliable products, interactions and services. We are convinced that we can achieve this through quality and technology.

--

--

Raul Troyo
Cordage.io

I write about product management, business and SaaS. PdM at Cordage.io