Code

Understanding the Customer: CustDev Principles for Developers

Understanding the Customer: CustDev Principles for Developers

Mastering Agile Methodologies: Scrum and Kanban in Product Management

Learn More

When a client approaches you with a large-scale and complex project that requires the implementation of many interesting features, do not rush to immediately fulfill all of their wishes. After many hours of development work, it may turn out that his actual requests were completely different.

I have encountered similar difficulties on both the business and development sides. On the one hand, we hoped for deep understanding and active participation from the contractor, but in the end we received the answer: "this was not specified in the terms of reference." On the other hand, the development team constantly postponed deadlines, and functional requirements were added as they went along due to incorrectly formulated tasks.

Customer Development (CustDev) principles promote mutual understanding and the joint development of a high-quality product. This methodology is aimed at testing the viability of a software concept or prototype.

Customers from Another Planet: Causes of Misunderstandings Even When Communicating in the Same Language

I believe that CustDev should be viewed as more than just a method for testing product assumptions. More broadly, it represents an approach to thinking and interacting that enables us to understand what a user, or in this case, an entrepreneur, values ​​and what they are willing to pay for.

Understanding customer needs is paramount. This knowledge not only enables us to create a product or service that truly satisfies user needs but also strengthens our relationships with them. Understanding exactly what the customer needs facilitates more effective communication and helps avoid misunderstandings. Furthermore, it allows us to proactively identify potential problems and propose solutions, which ultimately leads to increased customer satisfaction and loyalty. Ultimately, successful customer engagement determines the overall success of the business.

In one project I worked on, the in-house IT team successfully implemented a CRM system with powerful analytical capabilities. The system included filters, dashboards, various metrics, and specialized reports, such as sales volume and marketing effectiveness. The team invested significant time and effort into creating an intuitive interface and conducting employee training, after which the system was put into production and the team transitioned to technical support. However, after some time, the head of the sales department began requesting data export from the CRM to Excel, despite the fact that he could generate the required report at any time in the system's analytics module. These requests were repeated repeatedly.

During the discussion of system requirements, when we were reviewing various types of reports and variables, the sales department didn't assume that built-in analytics was implied. They preferred using Excel, believing they could simply export the raw data to a spreadsheet and then process it as usual. Ultimately, the IT department found it more practical to dedicate a few hours monthly to data export rather than develop functionality they believed wouldn't bring real value.

This phenomenon is not unique to the IT sector—often the same terms are used to describe tasks and solutions, but they can have different, and sometimes even opposing, meanings for different people. In project management, such cases are referred to as "miscommunication." To avoid misunderstandings, it is necessary to translate input from the client's language to the contractor's: starting with the task definition, then moving on to problem identification, then solution development, and finally to a specific function.

Principle #3

The third important point to consider when analyzing a task is what existing solutions already exist and why they are not suitable. Understanding these aspects will allow you to more consciously approach the architecture design of a new solution and minimize potential risks that may arise during its operation.

How it works

Let's say a client approaches you with an idea for an app that will allow users to book services, make payments, and interact with managers. During a short meeting with the client, you learn that these functions are currently provided through a free widget on the website. However, there is no integration with the customer relationship management (CRM) system, and managers must manually verify incoming bookings in their personal account. To ensure uninterrupted order processing, the client was forced to hire additional staff.

This leads to many product assumptions.

  • Develop a script for automated order processing and integrate it with the website and CRM system. This approach may be quick and cost-effective, but in the long run it may be inferior, as many competitors have already implemented mobile applications to effectively monetize their customer base.
  • Creating a web application with an intuitive interface and an automated order processing system will allow you to replace the existing website and minimize employee costs. This solution is ideal for a company seeking to optimize its business processes rather than actively expand.
  • Creating a unified ecosystem combining a new mobile application, an existing website, a customer relationship management system (CRM), and other tools used in the marketing and sales departments to attract and retain customers is a very expensive solution. This approach will be optimal for a company striving to transform itself into a digital leader.

Agile Methodologies: Applying Scrum and Kanban to Product Development Processes

You will master effective product management using flexible methodologies from the Agile family, such as Scrum and Kanban. This will allow you to develop products of varying complexity, while meeting established deadlines.

Find out more