Customer in Agile - Custom Web Development Blog

Customer in Agile

Many software development projects are implemented with Agile methodologies. The right use of Agile principles leads projects to the goals. If you are a customer of a software development project, and you are suggested to work in Agile, this article is for you. We will list the essentials to prepare for the work with an Agile development team.

To make Agile work for your goals is the mutual task for a prepared customer and a mature team. Both the team and you have to be prepared to the Agile approach if you did not work this way before or if you did but did not get significant results.

Agile

Agile software development (Agile) is an approach for software development, based on the iterative and incremental product delivery, adaptability to the changing environment. It is a set of values and principles. Experienced IT professionals came up with 4 values and 12 principles and collected them into “Agile Manifesto”.

Here are the Agile values:

 

Agile value to prepare for: Individuals and Interactions over processes and tools.

1. Individuals and Interactions over processes and tools

 

Agile value to prepare for: Working Software over comprehensive documentation

2. Working Software over comprehensive documentation

Agile value to prepare for: Customer collaboration over the contract negotiation

3. Customer collaboration over the contract negotiation

 

Agile value to prepare for: Responding to change over following a plan

4. Responding to change over following a plan.

12 Agile principles can be found here.

A customer in Agile

1. Trust the development team

 

A customer in Agile trusts the development team

The key Agile feature is the work on trust. The customer and the team work together on a regular basis, learn to interact effectively.

An example from our Agile experience:

One of our European customers asked us to adopt a rule of “Common sense” without pining ourselves down to detailed process regulations and product requirements. It is a wise decision to delegate detailed solutions to the team, avoid the micromanagement and save time for business development. As a result, that solution saves our customer’s time and the team’s time and budget.

Trust can’t appear instantly. However, if you begin to trust the team to take a part of decisions, you can prove it reliable and trust it more.

2. Validate the result iteratively

The customer in Agile validates the result iteratively

Iterativity means step-by-step delivery. The development should demonstrate the preliminary results (or MVP) on a regular basis. And you will be able to review the increment of the product on each stage and change the development plan to the optimal direction and change priorities. Please pay attention that the product may look ugly at the early stages, but you will be able to validate its functional improvement.

An example from our Agile experience:

We recommended one of our customers to make a prototype (not 100% ready) software at first. The goal was to demonstrate the prototype to their investors. As a result, the customer kept a significant part of their budget and time for making the presentable prototype.

3. Target to the goal

The customer in Agile targets to the goal.

In Agile, the customer and the team should understand the goal of the product. If your goal is the sales of the new product, try the very early versions of the product on focus-groups or the market.

An example from our Agile experience:

One of our customers requested the creation of an agricultural marketplace website. We recommended the customer not to include a calculator feature on the early product version because it was not on the direct way towards the goal. It helped to direct the budget on proving more profit-oriented product features.

On our other project, we did not work on comprehensive documentation during the start of development. We broke down the way to the customer’s goal to simpler steps and started following the first of them.

4. Be ready to change

https://lh3.googleusercontent.com/O8HR0FloOEnfeOsWOXy3h3VW7AOAyRNyzKy85gkBHxV9Mtwx4NYIidf0xMIuvVnWKnD_xldQ9KUr4Jf_yLgN5zfl1P9mrSSIxt42c4ylsErP4xuLh4n32GwUqIN-fj3ke8r9dPIc

Information technology is a frequently changing environment. Everyone should stay tuned here. Agile brings the readiness to change in order to be flexible and adaptive for people needs. And it implies that the plan, budget, and schedule may change significantly in accordance with your decisions and results that are gained empirically.

Of course, we can make strict planning with Gantt charts, activity network diagrams, etc., however, they may become excessive artifacts that require time, effort and distract attention from the development.

An example from our Agile experience:

On one of our machine learning projects from the financial domain, we deliver the results iteratively, that enable our customer to rethink their product plan on a weekly basis. Our team helped the customer to make the fruitful product decisions step by step. Those crucial decisions were not anticipated at the project beginning.

5. Be involved

The customer in Agile is involved in the development process

Agile software development requires more customer’s involvement in the process. As the plans are not strict, but flexible, the development team may need your fast answer on a blocking question. If you are too busy to be deeply involved, you can delegate the product management activities to your representative.

A development team in Agile

This article is for the customers but let’s list the core responsibilities of the development team here. The development team should:

  • be goal oriented and committed,
  • dive into your domain,
  • deliver the working product (or prototype) on a regular basis,
  • be ready to change plans in order to adapt to the market change or goals change.

In ISS Art, we take these responsibilities.

Summary: Agile is worth your preparation

If all the conditions and obstacles of your product creation were predictable and planned, your project would not need a team, you would need just an existent solution. The success in the competitive environment is achievable by the creative and courage projects that persevere the severe challenges. It is reachable by the team of thinking people, who collaborate with each other intensively.

The crucial characteristics of the customer in Agile are to:

  1. trust the development team;
  2. validate the result iteratively;
  3. target to the goal;
  4. be ready to change;
  5. be involved.

We proved it by our experience that the customers’ trust to a mature team helps to achieve the project goals faster.