Agile for Non-Techies: the Way of Explanation that Everyone Understands

Pavel Ku
Hygger.io
Published in
6 min readJul 18, 2018

Explaining Agile development can be a real challenge, especially if you try to communicate with people who are far from development methodologies at all.

It’s also a tricky thing to explain it to clients who have never seen how it is working, and how this will improve their chances of success and save money.

What are the easiest ways to explain Agile software development to non-techie customers? There are so many texts, experts’ articles, guides, tutorials and insightful cases about Agile transformation, but where to start?

I’ve tried to combine and highlight the most important points and topics that may be required during the explanation of Agile concept to non-techies. So let’s start with the definition.

The definition of Agile

The Agile method is the approach to project management that is used in software development and helps teams to respond to the unpredictability of constructing software.

Agile Practices and Concepts

The key concept in Agile is a Sprint — the incremental and iterative work sequence. It’s a period of time allocated for a particular phase of a project. Sprints are completed when the time expires.

Besides Sprints, it’s also worth to remind of iterations, a product backlog, a sprint backlog, user stories, Agile roles, a burn chart, special meetings, test-driven development, requirement prioritization, automated tests and release planning as the core concepts and practices of Agile development.

  • Iterations and Agile iterative development mean that the team itself may decide what is able to do based on their experience and capabilities from the previous iteration.
  • A product backlog represents desired deliverables. The backlog is a set of to-dos for a product. It consists of product requirements, features, and bugs. It may include something else of value that must be prioritized and done as the part of delivering.
  • A sprint backlog is about the tasks for a planned Sprint or iteration. A Sprint usually spans two weeks to a month and represents a commitment as to what the team can deliver during that time. The tasks are broken down into user stories.
  • User stories include description, acceptance criteria, and time estimation. When they are too complex, they can be broken into smaller pieces.
  • A Burn chart visualized relationships between time and scope. This chart helps to track progress on an individual Sprint or iteration.
  • Agile roles are also important, as the Agile approach involves different roles with different names: 1) Team Lead, Project Lead, and Scrum Master, 2) Team members, 3) Product Owner for Scrum and On-site customer for XP, 4) Stakeholders. Agile teams may also have extended members.
  • Scrum meeting is a daily short (often morning) meeting, arranged by a product owner. It lasts 10–15 minutes and requires the presence of the Scrum master and the whole team. 3 issues are required to discuss: what was done yesterday, current goals and revealing any obstacles.
  • Sprint demo meeting is arranged when the team is ready with the functionality and it’s time to explain to the client how it works. The clients can confirm that they accept all features and that they were made in accordance with their requirements.
  • Retrospective meeting is held at the end of every iteration. It is aimed to discuss what really went well and what did not to carry over the next Sprint. This kind of event is useful to identify the ways of improvement of a team. Retrospectives may also result in test coverage improvements by giving more importance to test strategy and test plans. This meeting should be attended by a Scrum master, product owner, and the team.
  • Test-driven development means that any session starts with writing programming adaptive tests. Then the code is being written, specific to the user stories.
  • Automated tests help to highlight the idea that it’s rather important to get quick information about the functionality that is not working as planned.
  • Requirement prioritization is used for determining which specific product requirements should be included in a certain release. Often it’s crucial for the most important requirements to be implemented first to minimize risks during development. For this aim, popular prioritization methodologies look valuable and helpful.
  • Release planning in Agile helps teams to launch new great products. A product release is a set of new features or a launch that is aimed to provide value to customers.

The following pic demonstrates the core Agile principles that are used widely all over the world:

Being Agile means being able to create and respond to changes to succeed in an uncertain environment.

Agile software development is about smart methodologies that promote adaptive planning, development, improvements, and project delivery. Agile development promotes a different way of thinking about how to develop and evolve processes to deliver improvements.

If you’d like to dive into the details of life before Agile, explore the articles about its history, such as “The history and legacy of Agile development”.

What Are Agile Methodologies?

All the methods of the big Agile family are in high demand wherever around the globe. The understanding of these methods and the ability to apply some of them should be clear to every project manager.

Agile methodologies share much of the same philosophy but every single method has its own practices, tactics, and recipes.

Among all Agile development methodologies, I’d like to highlight the most used by practitioners:

In addition, let’s not forget about Kanban that it is usually not considered as an Agile development method but it used in conjunction as a means for increasing efficiency.

As practice shows, Kanban is good for managing products with an emphasis on continual delivery without overburdening the developers. It helps teams to collaborate and act more effectively.

The basic principles are:

  1. Visualizing the workflow. What do you do today?
  2. Optimizing work by limiting the amount of work in progress (WIP).
  3. Enhancing the flow. If something is finished, start working on the issue with the highest priority from the backlog.

Kanban approach is about continuous collaboration. The method encourages active, ongoing learning and improving by defining the best possible team workflow.

Kanban uses cards or stickers for visualization. Kanban columns help to see what stage is the task on. The simplest table has columns To do, In progress and Done. Moving the card, you see what time it takes to complete a particular assignment.

Convenient Kanban boards are used in the variety of industries for planning working issues and private tasks.

Thanks to the modern project management tools, you may choose the best way of their visualization and consider the sets of functionality, designed right for your objectives:

Kanban boards in Hygger:

Visualization in Trello:

ProjectPlace:

What’s better for software development? Scrum or Kanban? Perhaps, XP is the best solution, who knows.

These facts about the Agile methodologies should be enough to explain the concept to non-techies. To sum it up, remember that the key Agile values and principles are about:

  • Flexibility
  • Focusing on people and collaboration
  • Not much documentation
  • Communication between the key players is vital

There are many various practices and you are able to choose one which fits you more.

Perhaps, Agile is the best path for the person you try to explain this methodology. If you still find it difficult to explain what Agile methodology is, feel free to leave your questions in comments.

--

--