Transition your Customers to Agile Customers

It is very difficult to find customers who are willing to go Agile on outsourcing development work. Majority of them may not be familiar with software development and would like to have assurances on Time and Cost commitments on their requirement.

Other customers who are familiar with Agile, have difficulty moving away from the level of comfort and level of guarantee of having fixed scope, schedule and cost on their projects. This is possibly because of the control mechanisms in their organization or the project maybe on highly regulated industries such as medical/automotive.

Unless you are working for a multinational company embracing Agile Practices and extending their development team in the Philippines, the chances of getting Agile Customers are close to zero.

Here are some recommendations on how to make the customer more flexible and more engaged in the development of their product:

  1. Agree on a more Flexible Contract

Fixed Price (FP) contracts are what most customers prefer not only for outsourcing but for contracts in general. In this type of contract, the customer pays the provider a fixed amount for the service or product that met agreed upon criteria. The risks of budget and schedule overruns are on the provider. Based on experience, meeting all these constraints, unless padded sufficiently, will result to several Contract Negotiations throughout the duration of the project. Budget, schedule and scope are usually fixed at the start of the contract. This is the default choice of the majority of customers.

Cost-Reimbursable contracts on the other hand usually favor the provider. It is used  when project scope is uncertain and high risk, such as Software Development Projects.  The buyer pays all costs, so the buyer bears all the risk. Under a cost reimbursable contract, the provider works for a fixed time period and raises the bill after finishing the work—a fee that represents the profits for the contract. Very few buyers would agree to this contract type as the work expands at the given time or budget.

Time and Material (T&M) contracts are the most common contracts for consultants, lawyers, freelancers and in many cases… Software Developers. This is a hybrid between Fixed Price and Cost Reimbursable contracts. Cost of the project is estimated and gets billed in humanhours or in humanmonths. The amount of the contact really depends on the customer’s risk tolerance and trust on the provider. Usually projects with this type of contract do not exceed 6 humanmonths. The customers and the supplier spent time to manage and account every detail of each humanhour leaving less time to jointly explore opportunities that will further increase the value of the product.

In the Agile Manifesto, customer collaboration is valued over contract negotiations. To facilitate collaboration, have a contract that allows room for flexibility for both the customer and your company. Have a type of contract where changes can be accommodated without the need for frequent contract revisions.

In the Scrum Master Course for Professional Scrum Master licensed under Scrum.org from knowledgehut and RCG Philippines, I learned the following key points on how Scrum can deal with fixed priced contracts:

  • Add provisions that any requirement that is not yet worked on can be swapped out for another of equal size
  • Add provisions that the order of requirements can be changed
  • Customer may request additional releases at any time at prevailing time and material fees
  • Customer may terminate the contract early if the value has been satisfied for 20% of remaining unbilled contract value.

The usual Fixed Priced contract can be adjusted to accommodate a more Agile approach. I recommend a Fixed Price contract for the defined requirements with the provisions added above, and a T&M or Support Contract (additional 20%) on top of the FP contract to accommodate changes discovered during the course of the project.

In administering the contract, you should employ Progress Billing. These are series of invoices prepared at different stages in the process of a major project to seek payment for the percentage of work that has been completed so far. A progress billing (invoice) shows the original contract amount and any client-approved changes to that amount.

You can also initiate Incremental Delivery Contracts. It allows customers to review contracts at designated points in the contract life cycle. These inspection points at regular intervals can be set for the customer to make decisions regarding product development periodically and allow customers to make changes, continue, or terminate the project.

You can also suggest short contracts by starting small and delivering value in each contract. However, depending on how contract administration is performed in both companies, this may require processing overhead.

In any of the contract you may choose, bear in mind flexibility for the customer to introduce change even late in the development and collaborative approach to always strive for Win-Win.

2. Increase customer engagement

The period between requirements gathering and handing over the finished product is full of opportunities to increase interaction with the customer. Constant communication ensures that the products you are building are the product they will need and pay for in the end.

Based on my experience, there is a strong correlation between project success and customer involvement. We had higher user acceptance rate and customer retention (repeat orders) due to increased involvement and ownership of the customer in the development process.

Here are some ways on how to involve your customer in product development, increase their interest and facilitate communication in the project:

  • Define the requirements in their own terms and help them discover their needs

A sure way to disengage customer is to bombard them with terms they don’t understand. The Product Owner, this can be the Project Manager, Business Analyst, Sales Representative, or UX designer, should be able to talk in the customers terms. User Stories and User Journeys are effective in capturing customer goals and needs.

  • Establish information sharing systems with your customers

Accessibility of information and real-time visibility of progress ensures that the customer and the developers are on the same page on project execution. Having the same view of the project and increased in transparency will facilitate efficient communication. An effective system can capture feedback, can show forecast and can highlight impediments.

Here are some free systems you can use for information sharing: 1) Redmine with useful plugins such as Backlog, DMSF, Knowledgebase, 2) trac, 3) OrangeScrum. Paid solutions include Atlassian JIRA, RedmineUP Plugin and many more. To ensure security of the information systems, you may need to setup a VPN with your customer.

  • Establish regular meetings with the customer

Customers are also busy; they would appreciate scheduled discussions with clear agenda. Having a consistent meeting time and place would make communication and interaction a habit. In case daily communication is not feasible, aim for at least weekly face-to-face meeting. Due to physical distance, it is difficult to arrange for on-site meeting all the time. Virtual conferences and meetings should be fully utilized. I use the following as they support desktop sharing: Cisco WebEx, Microsoft Lync (Skype for Business), and TeamViewer.

During the regular meeting, consider the time difference with your customers. It is also good that the regular meeting schedule can coincide with project milestones or decision points.

  • Empower competent Product Owners

The Product Owner delivers business value to the customer through Incremental Product releases. Qualities of a competent Product Owner include managing stakeholders’ expectations and priorities, being a good communicator, having clear vision and knowledge of the product domain. The Product Owner should have the necessary authority and budget to facilitate effective and fun customer engagement events such as kick-offs, demos, sprint reviews and joint retrospectives.

  • Create awareness of the customers’ responsibilities to the project

The customers have rights and responsibilities. Their responsibilities include: evaluating the cost of development and changes, make timely decisions about the requirements, set priorities, act as subject matter experts on business domains, etc. They play an important role in the success of the project. They are partners who share accountability and responsibility with the development team.

3. Build Customer Trust

Customer loyalty is built on trust. When customers have high trust on the development team, the more scope and opportunities for your company! In the book The Trusted Advisor,  a model of the provider’s trustworthiness from the point of view of the customer was presented:

You can find a short eBook in their site, 15 Ways to Build Trust Fast on how to build Trust in 15 ways.

The TQ, stands for Trust Quotient has the variables below from the point of view of the customer

Credibility: has to do with the words. Based on what the provider says about its company and based on public information about their company is capable of. This will include credentials, certification and information quality.

Reliability: has to do with actions. How the provider keeps promises and delivers results based on what was committed. Consistently perform well.

Intimacy: refers to the safety or security the customer feels when entrusting the provider with something (this can be vital information or a problem). This can be manifested on how the provider keeps confidentiality and guarding the customer from embarrassment or risks.

Self-Orientation: refers to the provider’s focus. In particular, whether the provider’s focus is primarily on their company, or on their customer.

From the point of view of the customer through your interaction with them. Try to rate your service on each variable with the maximum of 10, the higher the score, the higher the Trustworthiness. Aim to increase Credibility, Reliability, Intimacy, and decrease Self-Orientation. Be more focused on the customer.

Agile methodologies are centered towards customer satisfaction. “Our highest priority is to satisfy the customer through early and continuous deliver of valuable software.” Being agile enables you to build customer trust through consistent delivery of valuable and working product. You should deliver value in each sprint, something that is usable and can immediately make an impact. When customers see and feel the benefits of early value delivery and improved flexibility to changes compared to the usual way of doing project, you can transform your customers to Agile Customers.

Published by agilepinoy

We are Agile Pinoy. We believe that Filipinos can build globally competitive Products, one team at a time.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: