From Client request to Software product specification – Part 1

Part 1 – “Client request and beginning of the relation”

In this article, we will use an example from Software Company that started a relationship with a new client. If you work in the software industry, or if you are the owner of a software company, a product owner, an analyst, or a developer, you will probably find something useful in this material. If you don’t have your own methodology for collaboration with clients, this article could be of worth to you. I enclosed a lot of materials as processes that you could deploy to your daily basis tasks.

It all starts with Step 1

Client request

Hello, could you help me build an application to manage time, log work, and count what activity has been done? I could bill my clients using it. My ambition is to build an application that first helps me control time at work and in the next step, we could sell this application to other entrepreneurs. Please send me an estimation for this application. 

Comment

That is the first step of the software building process and frequently the Product Lifecycle would be starting this way. 

Every time the same questions keep coming up: 

  • How long will it take to build the app? 
  • How much will it cost? 
  • When can you start work? 

These are the questions every team has to have an answer to before they get down to work. Is that story similar to your daily basis?

We of course can’t answer this email properly because we don’t have enough information to make the estimation. Even in some general scope. 

Our proposition is to send an email to clients with questions that could explain the scale of the project. We will use some templates that you can get if sign-in to our Product Core Lab Newsletter

If the client sends us the answers, we still wouldn’t be able to estimate the whole project and declare that we have built the application. But this first message has 5 goals

  1. Build a relationship with the client
  2. Quickly send an answer to the client that we accept his request
  3. Filter clients that have only an idea without a budget 
  4. Filter clients that send requests according to only a momentary idea
  5. Filter clients that suit you whether by the industry or the scale of the project.

It’s worth extending the message to our Client. We will add some courtesy paragraphs and some individual approaches to the client’s requests. This will emphasize the first bullet point from the above list. We try to build relations with clients.

Let’s see the first phase of process

If you would like see explenation of this part of process in details go to this page . This is explenation of BPMN process – Handle customer inquiry – colaboration with Client in Software company.

Process – Step 2

First email from the client was the first step, let’s see step 2 

Send an email to get General information (Template 1) 

Template 1

Dear XXX,

To better estimate the solution, we need to ask you a few questions. The answers will help us assume the scale of the project. According to your request, we can’t even predict the scope of the project. If you don’t want to send us the answers regarding it, we could meet online and perform some kind of workshop to go through the overall issues. If you need a more detailed description of the questions, feel free to write to me. 

First of all, we must have at least a general description of the business environment of Apps. That would help us better understand your needs.

  1. What industry will your application be used in? HR, Finance, E-commerce, or other 
  2. What best describes your project?
    1. You want to build an MVP (Minimal Value Product) to check your business hypothesis
    2. New Product with all the functionalities
    3. A new tool in an existing process
    4. New App to solve problems in your current solution (new version of an existing App)
  3. Describe your business goal as the owner or investor. Why do you need an application or a system? What problem do you want to solve? Try to describe the problem without an insight into the solution.
    Example: “I need a new app to optimize the current process of collecting information about customers”
  4. List some examples (If you know some similar solutions, list them by adding links to their homepages. Next, add some detailed information about the main differences.)
  5. Describe Users, Roles, or Personas with business goals. List and describe all roles in detail. Add the benefits and values they want to achieve. You could describe business segments of users. Details about the function will be needed later

Example:

  1. Users (owners of old automobiles in Europe) – sell cars
  2. Buyers (lovers of old automobiles) – buy cars
  3. Editors (company workers) – validate announcements
  4. Administrators – Manage settings
  1. Do you have any other important business information? (If you have any other important issues joined with the business background, please add them now. Next, we will go deeper to ask more about the requirements.)
  2. List the functionalities that you imagine your application must have
  3. Choose what system you need
    1. Web application (on desktop)
    2. Web responsive (scaling to mobile)
    3. PWA mobile app
    4. Native APP Android
    5. Native App iOS (Apple)
    6. API to integrate with other systems
    7. VR application
  4. Specify any systems that you want to integrate with your application. Example: Any CRM, ERP, Accounting system, or other
  5. Where do you want to deploy your application? On your own infrastructure/On the contractor’s infrastructure?
  6. Do you need support with changes after the 1st version of the application
  7. Do you have a hard deadline? If you have any hard deadline that limits the time for building the application, set it, please. For example, this contract is part of another bigger project. Another element depends on this project.
  8. Do you have any special needs for Technology Stack?
  9. Financing (My own private budget, Corporation’s budget for external projects, I will look for investment). I need only an estimation at this phase

When I think about your request, I think about the problem that you really want to solve. 

On the market, we have a lot of similar applications, so why can’t you use them? Of course, we could help build your idea for a solution but but I need to ask “why you don’t use other applications. An answer to this question would help me understand your real problem so that we can better analyze it to solve it. 

Process – Step 3

Ok, we are waiting for the answer and move to Step 3. In this article, we will focus on a happy path but you can find a link in the description of this film and check other alternative ways in the process. For example, the follow-ups.

Answers from the Client

  1. What industry will your application be used in? HR, Finance, E-commerce, or other 

I’m a Graphic designer but my brother-in-law is a teacher of the Spanish language. 

  1. What best describes your project? 
  1. You want to build an MVP (Minimal Value Product) to check your business hypothesis
  2. New Product with all the functionalities
  3. A new tool in an existing process
  4. New App to solve problems in your current solution (new version of an existing App)

Ad a) Sorry, I don’t understand. As I said, I want to build an application for my needs and after that, I think about starting to sell it to other Entrepreneurs, or maybe students to log work, how much time they spend on materials, or managers in companies to log time for their workers. 

Ad b) Yes, this will be a new application. I think I have well-defined needs so I hope we could do all the functionalities

Ad c) I log my time in Excel now. I think it’s not an effective tool, so I want to create some other way to log time

Ad d) This will be a new application

  1. Describe your business goal as the owner or investor. Why do you need an application or a system? What problem do you want to solve? Try to describe the problem without insight into the solution. Example: “I need a new app to optimize the current process of collecting information about customers”

It’s very similar to your example. First of all, I need to log in and report how to bill the client for my work. As I mentioned, the current way that I take care of it in Excel does not meet my requirements. I see in my work that I have some core activities and some supporting activities. For example, my core activities are designing, working on projects, and supporting activities are meeting with clients, mailing, or calling to analyze details. I want to analyze how much time I spend on core and non-core activities

  1. List some examples (If you know some similar solutions, list them by adding links to their homepages. Next, add some detailed information about the main differences.)

I will find my notes and send you them later

  1. Describe Users, Roles, or Personas with business goals. List and describe all roles in detail. Add the benefits and values they want to achieve. You could describe business segments of users. Details about function will be needed later

Example:

  1. Users (owners of old mobiles in Europe) – sell cars
  2. Buyers (lovers of old mobiles) – buy cars
  3. Editors (company workers) – validate announcements
  4. Administrators – Manage settings

From my perspective, I think all users are Entrepreneurs like Graphic designers or Teachers who would use this App

  1. Do you have any other important business information? (If you have any other important issues joined with the business background please add them now. Next, we will go deeper to ask more about the requirements.)

As you asked in the first email “On the market, we have a lot of similar applications, why can’t you use them? I think that the problem with using this type of application is that I never remember logging the time regularly. 

The need to enter the hours hurts because I “keep busy” and I have to log into the system, click through something, and enter the activities. What I said concerns the situation when I do not enter activities immediately (because I am still busy, or there is so much work that I do not have time for anything else), and two days later I do not remember what I did …

  1. List the functionalities that you imagine your application must have

Enter hours, Enter activities, and Enter the name of the project or client name. Report with core and supporting activities

  1. Choose what system you need
    1. Web application (on desktop) – no need
    2. Web responsive (scaling to mobile) – I don’t understand
    3. PWA mobile ap – I don’t understand
    4. Native APP Android – Yes
    5. Native App iOS (Apple) – This would be nice but not necessary right now.
    6. API to integrate with other systems – I don’t understand
    7. VR application – Not now
  2. Specify any systems that you want to integrate with your application. Example: Any CRM, ERP, Accounting system, or other

I think neither

  1. Where do you want to deploy your application? On your own infrastructure/On the contractor’s infrastructure?

I don’t know, I hope you will help me with that

  1. Do you need support with the changes after the 1st version of the application?

I think we could talk about other features after building the 1st version. 

  1. Do you have a hard deadline? If you have any hard deadline that limits the time for building the application, set it, please. For example, this contract is part of another bigger project. Another element depends on this project

I want to start using this application in the new year maybe. But without some stiff deadlines.

  1. Do you have any special needs for Technology Stack?

I don’t understand

  1. Financing (My own private budget, Corporation’s budget for external projects, I will look for investment). I need only an estimation at this phase

This will be financed privately by me but this will be an investment in my small company

Comment

When we have the answers, we have to make the first decision. We have to think if this project is worth taking care of and analyzing it more. Now – we can go to the step 4

Process – Step 4 – consider cooperation – phase 1

We could assume in our process of building software that we have 4 different ways to move on and it depends on the precision of the answers that the client sent back

  1. the Client completely doesn’t understand our questions or doesn’t have time to analyze them
  2. the Client sent answers without any details of the information that could help us even roughly estimate the project or the Client sent only his needs without any purpose of the solution. 
  3. We have a lot of information and the purpose of the solution so that we can roughly estimate project
  4. We have enough information that we can accurately estimate the project and what’s more, send a final declaration that we are able to build the application. In this case,  probably some other analyst prepared the software specifications.

In the first case, we have to organize a full workshop with the client and go over our questionnaire from the email step by step with him. The third and fourth cases rarely occur and we will maybe prepare another episode about it. 

In this series of articles, we will process the second case.  At first look, we could sum this case like this. The Client understands his problem and his needs but we have to help him find proper solutions. In the next episode, we will take some time and analyze the Client’s answers more closely.

Go to the next part of the article “How to collaborate with Client” – Part 2 >>

About author

Karol Kordziński - Business AnalystI’m Karol Kordziński from Poland . I’m an analyst with a couple of years of experience. I’m the owner of ITGrowPartner where we help small- and medium-sized companies analyze projects.  But mainly I’m the owner of Product Core Lab. Saas tool to manage a product in the whole Product Lifecycle. With this tool, you can explain your product and processes in a structural method. We introduce you to how to model software products step by step