One software, many customers – Are you truly agile?

Posted by Tobias Spöcker on August 2, 2018

Does your company consider itself to do agile development?

Is the Software you produce delivered to a huge customer base?

Have you ever wondered if you and your organization really follow the practices of the agile manifesto?

If yes then this is a good read for you. At TOPdesk we reached the size of a company that can no longer be labeled small. With over 600 employees across 14 countries we list ourselves as a mid size company. Although we are not a large-scale enterprise yet I figured we are already facing the downsides such an organization comes with.

Before I go into more detail about that, I would like to briefly state the agile manifesto’s core values before I set them into contrast with the practices in our company.

Agile Manifesto

Individuals and Interactions Over Processes and Tools

This statement basically means: value people more than processes.

  • People respond to business needs
  • People drive the development process

Working Software Over Comprehensive Documentation

It does not mean there should be no documentation at all, but:

  • Streamline documentation
  • Only have documentation necessary for development

Customer Collaboration Over Contract Negotiation

Another core value is to have engaged customers throughout development process.

  • Easier to meet needs of customers
  • Business cases of features are clear

Responding to Change Over Following a Plan

The statement is: Welcome changes throughout the project!

  • Priorities can shift over time
  • Welcome adding new features

12 Manifesto Principles

The core values are boiled down to the 12 principles described in the agile manifesto. They describe in more detail what practices can be followed to work in an agile way.

  • Self-organizing teams encourage great architectures, requirements, and designs
  • Regular reflections on how to become more effective
  • Frequent delivery of working software
  • Simplicity
  • Support, trust, and motivate the people involved
  • Enable face-to-face interactions
  • Working software is the primary measure of progress
  • Agile processes to support a consistent development pace
  • Attention to technical detail and design enhances agility
  • Collaboration between the business stakeholders and developers throughout the project
  • Customer satisfaction through early and continuous software delivery
  • Accommodate changing requirements throughout the development process

I would like to focus on the last three points as I saw the biggest conflicts with them within our organisation. These problems come naturally with the way we at TOPdesk earn our money. We create one product that is sold to thousands of customers in contrast to other software companies that mostly do commisional work. To pinpoint the problem area I would like you to have a look at the scrum process described by the scrum guide.

In this scenario we focus on the following events

I assume you are pretty much familair with the scrum process as such, so I won’t explain all the areas.  My emphasis will be on the last parts of the process because I figured we are struggling mostly there.

Scrum processs improvement areas

In the “Product Release” phase the team is finished with its work for the sprint and should be able to present a product increment to the stakeholders and customer. Ideally this increment can subsequently be released through continuous delivery. This process is easy to follow when you have one customer you can invite for the demonstration of the potentially releasable piece of product. If that’s the case you can follow the principles

  • Collaboration between the business stakeholders and developers throughout the project
  • Customer satisfaction through early and continuous software delivery

without much effort. But how does this apply when you have a huge customer base and many different stakeholders?

Be agile while building software for a large customer base

There are different appraoches on that. You may be fine with only demonstrating to certain stakeholders including one person that functions as an interface between customers and the development team. At first glance that could simply be the PO. But he takes part in the meetings anyway, so I would suggest having a delegated person for that role. This setup is still not following the agile principles in a satisfying manner. It is difficult to say if the customer is really satisfied when the feedback must go through multiple channels and is filtered by someone in the middle. The collaboration with the customers is not direct and thus not really effective.

“Add value to your customers. Develop the right thing and do not develop something right”

Add value

At TOPdesk we have one big goal: Add value for customers. So we revisited this concept and created a new way to make sure we achieve our goal. When we start a bigger project, we get in touch with some of our customers and ask them if they’d like to be involved in the development process. The group is of course chosen wisely to make sure we have a diverse set of stakeholders. During development they can be involved as much as needed. At the end of a sprint or after a release of an epic they can get a demonstration of what has been created lately. That way there is direct feedback between the development team and the customers.

All clients that have partaken in this process have enjoyed the experience and were very happy to be involved in the developement of the software. In fact the satisfaction with the company as well as with the product was increased.

Direct feedback is the key

The immediate and direct feedback also helps to achieve the third principle:

  • Accommodate changing requirements throughout the development process

While having demos with customers, it is a regular occurrence to get constructive criticism that leads to changes in requirements and user stories. This facilitates more confident backlog refinement i.e. the most important stories will be on top and they will contain the right requirements. This leads to a project which’s focus is on the most valuable areas and development capacity is spent wisely.

Scrum process backlog refinement

To sum it up…

The agile mindset and the scrum framework are powerful tools if they are used in the right way. You shouldn’t follow the principles blindly, but it surely is a good idea to see which parts of the toolbox do help your organization to be more agile, efficient and customer centered. The rule of thumb is to see which of the processes and principles work best for your company which, of course, has its own characteristics.

But in any case, I suggest seeking direct feedback, ideally from customers and not only stakeholders that function as an interface. Deriving the feedback can not only be done via live demos. There are more ways to gather, such as:

  • Metrics built into the software
  • Surveys
  • Feedback portals

Nevertheless, live demos provide the best way to quickly obtain the feedback needed to stay agile. If the feedback loop is too big the team might be working on something different or the feature was developed in a different direction already.

The first project we focused on those principles was the one that delivered value to our customers most quickly. The direct contact to our clients made the development team more confident in what they are creating and the customers felt really heard and appreciated.

Do you see yourself in the same situation? Try out to close the gap between your customers and development!

About the author: Tobias Spöcker

Scrum Master and QA Engineer at TOPdesk. Always looking for ways to improve, personally and within the organisation. Also football (not handegg) enthusiast, climber and music lover!

More Posts