How would a software house serve you if it were a restaurant?
Depending on the organizational culture of a given company and the nature of the service offered, the customer service processes differ. If you want to work with a software house, beware: the customer-contractor relationship is even more unique (as the level of complexity of the service is very high).
Therefore, if you want to develop your digital product and you haven’t worked with a software house before, we recommend you to read the story below. In this allegory, we will show you all the dependencies which appear in the process of digital product development from the first contact to the release of the product. Sit back and enjoy! 🙂
Imagine you enter a restaurant called ’At the Developers’, which operates in a manner similar to a traditional software house (except that it serves meals rather than digital products). From the doorstep, the Head Waiter greets you with a friendly smile, takes your coat off and asks about your needs. Interestingly, the Head Waiter is more interested in the way the service is provided than in the details of your meal. So he asks where you are coming from, how hungry you are, what meal you are thinking of, whether or not you are going to eat with your wife, how to serve the dish, how much you would like to pay and what billing methods you prefer. You may say that the Head Waiter is your guardian who makes sure that you receive what you want the way you want it.
Once the Head Waiter knows how to take care of you, they invite you to the right seat. Then, the Waiter comes to you and the Head Waiter silently goes back behind the bar (so that they can offer help or company at any time).
The Waiter gives a bow and kindly asks what dish you would like to have. You define your preferences quite enigmatically and wait for the suggestions. At this point, to your surprise, instead of a menu, you get a series of clarifying questions: whether the meal should contain meat or be vegetarian, whether you know what you want to eat, whether the products should be cooked or fried, what you are allergic to, whether you are interested in a single dish or a permanent catering service and how long you are going to stay at the restaurant. Finally, you are asked to list all these items. Unfortunately, this is the first time you have been asked such a question, so you ask for help.
The Waiter suggests making a custom menu together. As you feel your hunger getting worse, you reproach yourself for not having written down all the items beforehand and not having come in with a ready list. But you patiently answer all the questions to clarify the doubts. You know that the amount of time you devote to it will influence the quality of the meal (and you want to eat well).
The Waiter takes their time to write down everything you need and then goes to the kitchen. There they talk to a team of cooks, giving them instructions and inquiries. The Waiter consults with specialists in a given category about the individual items; e.g. they talk to a vegetable specialist, a meat specialist and a seasoning specialist, estimating the time needed to make the dish. It turns out that you have not identified some important parameters: how to do the meat, what the amount of vegetables is or what kind of spices you prefer, so they come back to you with all the new questions.
Fortunately, in the meantime, the Head Waiter has offered you coffee and a nice chat, so you are starting to feel more and more comfortable here.
Seeing the smiling Waiter coming your way, you return the smile, deep down hoping to receive your estimate. Instead of your estimate, however, you get another series of questions.
Feeling your hunger grow, you start to wonder what stage you are at, so you ask a short but concise question: Are we nearly there yet?
The waiter replies reassuringly that after you clarify all the queries from the cooks, it will be possible to determine the scope of your dream menu. At the same time, they pour you herbal tea and move the warm cup closer to you.
Then, having obtained all the necessary information, the Waiter cheerfully toddles back to the kitchen and passes it on to the executive team. Each department (vegetables, meat, and spices) processes it meticulously and then constructs a beautiful menu for you (a breathtaking one).
This time, a piece of paper presented by the Waiter turns out to be the estimate of your dish. You look at the piece of paper and cannot believe your eyes. Your dish seems not only to be breathtaking but also disproportionately expensive compared to your original idea.
It turns out that you have to give up the dessert and, instead of champagne, you choose water. After a moment’s thought, you order a basic vegetarian version, i.e. the MVP. So, the entire negotiation process is done again and finally, you get a satisfactory quote for your lunch (a bit less food, but hey, you are not a big eater).
You and the Waiter have defined the minimum type and amount of ingredients your meal must contain to remain satisfying enough. You want a predetermined price for the dish because you have an exact amount in your wallet – you are not going to change your mind about the meal or spend a penny more (fixed price).
The Waiter offers a modern way of rendering the service; one which has come from America. It enables you to follow the progress of the Cooks’ work and try the piece of the dish instantly as it is being made (whether or not it is properly salty, done, or chopped). This way, you can be sure that whatever the Waiter ultimately brings you it will be exactly what you want (without disappointments).
Once you have specified your requirements, knowing how much you want to spend and what the sequence of work is, the restaurant owner comes up to you. You sign the contract, and then the Chef comes up. He takes you to… well, to the kitchen. You get to know the cooks, their responsibilities and join the cooks’ instant messenger (Slack).
At this stage, your interactions with ‘At the Developers’ will be narrowed to developing the dish together with the Chef and the Chef’s team. As a result, the Head Waiter returns behind their counter and the Waiter returns behind the bar, waving to you from time to time.
Sitting in a comfortable chair, you find out that you can read a book about the agile food preparation methodologies from the restaurant’s mini-library. So you take one and immerse yourself in plinths.
In the meantime, out of view, the team of cooks is rushed off their feet, fine-tuning the details of your dish. Because you have agreed to the American customer service method, the Chef keeps bringing you a piece of the dish every now and then. They want to check with you whether the team has chosen the right ingredients and if they are blended well. Every time, before you receive something new to try, the Chef Assistant Team checks it (if it is tasty and safe for you to eat).
When carrot work begins, you notice that there is a bug (error) on the root. You wince, pointing your finger at the bug and expect Chef to eliminate the problem (delivery of a legit carrot). The Chef goes through all the fixes with their team and after a few iterations, they bring you a beautifully fried cauliflower with new carrots, topped with breadcrumbs.
With relish, you eat the crisp cauliflower which melts in your mouth and you feel an endorphin rush. Now you know you will come again with your friends for the next meal.
You come back to us once a month because you liked it very much.
This is how the stages of customer service by software house look like (more or less), except that they have little to do with food 😉
A cast of the story:
- The Head Waiter – the Product Specialist is your guardian who will guide you through the process of preliminary arrangements related to the collaboration.
- The Waiter – the Business Analyst is a specialist who will clarify the scope of the project and the technical requirements with you.
- The Chef – the Project Manager is the person who will run your project and manage the development team.
- The Owner – the CEO is a person who manages the company and has the capacity to act on behalf of the company.
- The Team of Cooks – the executive team, including Developers, Designers, will create the perfect product for you.
- The Team of Assistant Cooks – the Testers verify the software developed by the executive team, checking it for errors.
If you want to know more about the roles in a software house, read our article: Who is Who at a software house?
Terms used in our story:
- A functional specification is a document which makes it possible to determine the scope of the project and estimate it correctly.
- Agile – a group of software development methods based on iterative and incremental programming. After each iteration, the product is delivered to the customer for inspection.
- Fixed Scope, fixed price – the scope and price of the project are predetermined.
- Bug – an error in the software.
- Fix – a bug fix.
- MVP – a Minimum Viable Product is a product containing basic functions which meet a given requirement, used when we want to verify a market need.
- Slack – a tool for communication between team members
To find out more about IT industry terminology, read: Software House dictionary – 30 terms you should know.
What does the price estimate process look like?
- Submitting a request for quotation
- Clarifying the product with a Product Specialist (product brief, functional specification)
- Consulting a Business Analyst about the project
- The Business Analyst consultations with team members consulting the relevant team members (Designers, Testers, Web Developers, iOS and Android Developers)
- The Business Analyst preparing a quote and sending a proposal
- Accepting the quote or narrowing the scope down and preparing a new estimate
- Refining the terms of the contract with the Product Specialist
- Signing a contract with the business owner
- Iterative work with the Team managed by the Project Manager
- Product Release!
If you want to know more about how to estimate the price of your project, read: What information a software house needs to estimate a project.