Introduction
One of the most common questions for businesses is how to optimize processes to save money and improve the workflow. Currently, we have many opportunities, like using third-party services, developing a custom software solution, etc.
In our case, we recently completed a platform for our client based on the specific business’s needs. He had just a list of requirements, and we managed to make it real. It was the case where we had a long project preparation (almost a year), many discussions, and finally we moved on to the development stage. Now it’s still under our maintenance.
My name is Anhelina, and today I will be interviewing the Project Manager of our team, Kostiantyn, who worked on this project from the discovery phase to the completion.
Getting acquainted with the client and some general information about his company
A: Can you share with us some general information about the client? What is the industry, company size, and geography?
K: The client is from Belgium. He has his factory for furniture and cabinet production. I’m not sure about the company size, but it’s not so big, up to 30 workers.
A: At what stage did the client come to us? Did he have any existing system, prototipe or an idea only?
K: The client had just an idea. He wanted to create a builder similar to what their competitors had. Looking ahead, the platform works out even better than his competitor’s.
A: Why did the client decide to go with custom development instead of a ready-made solution? Is it possible for this type of project?
K: There aren’t analogies in ready-made tools, so the custom software development was the only way. The platform should be a complex solution with a wide scope of specific features for furniture building. One of the most important tasks was to work with 3D models and create furniture builder functionality.
What were the client’s needs and problems
A: Did the client have any issues in the current workflow management, or does he want to optimize it only?
K: The client and his team didn’t have any problem with process management. One of the main reasons for the platform’s development was promotion. They just wanted to make his approach more modern and increase the customer experience.
A: What business goals were tied to the project (reducing manual work, improving customer experience, scaling operations, etc.), and were they prioritized?
K: Improving customer experience and company promotion were the main goals. This system is designed to provide a visual representation of how the selected cabinet configuration will look “in real life” thanks to detailed 3D models.
A: Did the understanding of the main goals changed during the project discovery and building?
K: Fortunately, no. The client had a clear understanding of the needed platform functionality, since he knew how it worked on his competitors’. He just wanted to implement some additional improvements, and that’s it.
Who are the key users, and what scenarios are relevant to each of them
A: Who are the key user groups (employees, customers, etc.)?
K: The platform is planned to be built for customers. It’s people who need to set up a workspace for their garage, service station, workshop, etc. The system helps visualize the chosen configuration, change it, and set it up to your needs.
A: As the platform was built for the customers, what were their main problems with the old processes, and how does it work now?
K: It’s difficult to imagine and visualize how a cabinet will look in real life, not just on paper. With a 3D configurator, you can view the model from all angles and almost “touch it”. If you want to change the size or something else, you can do it without any limits.
A: Did you take into account whether users are tech-savvy or not?
K: Of course, it takes into account that from the beginning of the project. We assumed that our clients weren’t tech-savvy and weren’t active tech users. That’s why we provide hints and explanations for every button and step, so users understand what to do next.
How the project was adapted to the client’s budget and timeframes
A: Did the client have a clear budget range from the start? How realistic were their expectations?
K: The client didn’t have a fixed budget or a clear understanding of how long it would take. That is why we have started working on the estimation based on the basic requirements. The budget was flexible, and the final range was calculated when we defined the full scope of work during the discussion.
A: Did we discuss MVP or a full-featured product?
K: We started working on a full-featured platform with future maintenance in mind. We didn’t discuss the MVP version.
A: Did you consider any risks in the early stages? (deadlines, holidays, dependencies)
K: During preparation, we created a risk matrix that included a wide variety of factors that may affect the process. One of the risks was not meeting the deadline, because we needed to use some specific technologies to make the builder work correctly. We didn’t use them a lot previously, so we admitted that we may need a bit more time for research on it.
A: Were there any scope or timeline estimation changes during the work?
K: Yes, towards the end of the project, additional time was required to polish the system. The 3D models that were provided by the client required additional optimization to speed up the system. We didn’t notice it before the development process, so we discussed it with the client later and decided to improve it.
Wireframes and UI/UX preparation
A: Did the client have any wireframes/sketches, or did our team create them from scratch? How did they affect the project’s clarity?
K: The client provided wireframes of their vision for the system and the functionality they needed. Of course, it helps us better understand the project logic and our tasks. During development, we just refined their work, optimizing the user experience in some areas and consolidating functionality in others.
A: Was UI/UX designed from scratch or based on templates?
K: The UI was fully developed from scratch by our team. We used Bootstrap 5, and it was enough for such a type of project and its needs.
A: How was the client involved in design preparation?
K: He just provided us with a scheme description of how it may look. Our team created the design based on it, and the final result was presented to the client for approval. He made several changes to the placement of some buttons, as well as some colors, after which it was finally approved.
Software Requirements Specification preparation
A: Was the SRS needed for the project, and did the client understand its importance?
K: Yes, sure. We had a document that was constantly supplemented and improved throughout the preparatory stage of development from the very beginning.
A: Who was involved in preparing the SRS?
K: Almost 80% of the work was done by the client, who described his vision, the required functionality, and provided references. We made clarifications, several suggestions for improvement, and technical details for implementation.
– How did SRS affect project understanding and development? For whom was the specification the most useful?
K: The specification was most useful for developers, as it helped them take into account all the nuances of functionality. It helps plan the database structure, correctly distribute tasks, and assign them to sprints.
As for the client, he may better understanding of what scope functionality he will finally get. Based on the detailed SRS, we could prepare a detailed and accurate estimation with minimum go beyind the deadline.
– Did the document help you to avoid misunderstandings later?
K: Sure, because having such a document allows both the client and development team to quickly understand and agree to specific and transparent acceptance criteria for the project’s delivery. Even if you have any questions, you can discuss them before the development process, during the discussion, so as not to waste time later.
Summarizing
A: Did early preparation help you minimize risks? What could have gone wrong without this preparation?
K: Yes, the risks were significantly reduced. Without project preparation and discussion, critical functional areas could have been missed, leading to extensive rework and costing 2 times more the final budget.
A: Did any hidden constraints appear later?
K: The main issue that was found during the development process was that not all 3D models provided for development met the required standard. It entailed additional work.
A: What feedback did the client give?
K: The client likes the final result. As I mentioned, he had some references and wanted to develop a platform similar to his competitor’s. But our version became even better because we could take into account all the system cons and add some improvements.
A: What was the most critical preparation step for this project?
K: Full approval of the entire list of features that should be in the release version, and perhaps even more importantly, a detailed description of the mechanics of user interaction with them. All these details you can find in the SRS, so we can highlight that detailed and clear specification preparation, which is one of the most important steps.
A: What advice would you give future clients?
K: All key issues and gaps in logic must be addressed and clarified before active development begins, as any changes to an existing structure will cost significantly more and take longer than the few days or even weeks spent clarifying all the details. So, feel free to have a discussion with the clients and the development team to ask for the needed information as long as you need.
As a summary, we just want to say that each project and client is unique and needs its own approach. So, don’t be worried to ask your development team at each stage of your project development or preparation. If we may help you, feel free to contact us, and we will help you at any step.
