A construction site on an alien planet is like a hive – everyone knows what to do, everyone has a specific role to play. There are risks and unknowns. Erection of a building under these circumstances requires careful planning, selection of materials, coordination, and teamwork. Similar rules apply in software development – engineers, product owners, designers, and quality assurance specialists are focused on their specific tasks. But the most important role is played not by developers; it’s reserved for the client. Here’s how the client’s responsibilities in product development translate into working application.
The importance of the client’s involvement in the software development process
Software developers are very focused, talented, and interesting people to be around. They can also act as your IT consultants, helping in product design and digital transformation. What they can’t do is to tell how your product should exactly work and what it should do for the end-customers. That’s your responsibility.
At Code & Pepper, we always say that the client knows the product best. The business justification behind its conception, market environment, and needs, list of functionalities to implement. By giving the software development partner these guidelines and practical information, you create the opportunity for smooth sailing. But it’s not enough. Active involvement at every stage of development is what makes the product market hit. It also makes it truly yours. How can we achieve that?
Conversation with your potential software development partner is like walking outside of the space shuttle for the very first time. You don’t know what to expect, developers don’t know it either. Your role is to talk as much as you possibly can. About your company, vision for the product challenges if you have a legacy code, business needs, surrounding market conditions. Anything and everything that can help a company deliver a performing software product.
At this stage, your vision and requirements are very important. The software development process starts with that. Other elements include budget, scope for the project, deadline. In this first phase, we have to understand what you want to achieve by creating the product.
Asking a lot of questions is a part of this process. We would like to know what’s your compliance and legal boundaries since FinTech products are limited by strict regulation. We can help with assuring compliance by implementing certain mechanisms but you have to be prepared for this conversation. Every software development company needs to know what sector of the business will the application represent and how the law will determine the outcome.
As Natalia Cholewa, our Lead Product Owner and Head of Engineering, says:
All of this can be chaotic at times, that’s why there’s a product owner. It’s a specialist who calms the water, structurizes information. The role of this specialist is to ask a lot of questions and help the team with all the goals.
Another important factor is risk identification. The more developers know, the easier it gets to predict possible roadblocks and bottlenecks. Both technological and organizational. Managing frontend, backend, full-stack developers, introducing juniors… It all takes a little time and thought. Not to mention fitting pivots and changing the project’s scope into the unchanged budget frames.
But that’s not all. You have the right to ask as well. In fact, the more precise you are, the easier it gets to estimate – time to make an app, number of needed developers, etc. The first phase of a business relationship is the perfect time to get feedback from the client and establish ground rules for future communication. This process is led by the product owner and involves business analysts and developers.
Houston, we have a problem
Many software development companies, including us, work in Scrum. That means sprints – short weekly or bi-weekly pockets when increments are done. Increments, also known as newly added functionalities and parts of application that you can click through. The problem with that – even the best estimation in the first phrase can’t prepare the team for everything. That’s why it’s called Agile. And that’s why developers, once again, need you.
Few hours a week. This is how much time we would like you to spend weekly talking with us. Reviewing progress, giving feedback, resolving possible issues, introducing ideas for new functionalities that you thought-up in the middle of the development process. For you it’s only a few hours, for developers and project owners it’s a goldmine. By picking your brain they can improve what’s already up and running, add new things, make adjustments here and there.
It doesn’t necessarily mean problems. In fact, a seasoned development company emphasizes transparency software. That means fewer problems. Clear communications, solid documentation for the code, and team availability for taking questions and implementing changes limit the number of bugs and enable smooth sailing.
Why it’s important to be involved in the software development process? Because the more you are involved, the more the sailing is actually smooth. Don’t get me wrong – it’s the developers’ job to make the software but it’s your job to act as an overseer.
And as such, your responsibility is to address root causes, not the symptoms. At the end of each sprint, the team will meet with you to talk about the latest progress. That’s where we expect feedback and discussion. Do we go as planned or change something down the road? Once a week we also hold another meeting called a refinement session. If there’s something you find problematic or if you want to simply build upon an existing structure, don’t overthink it and tell us about it during this meeting. By talking about real challenges, developers can quickly address the issue and create a solution. But if the meeting circles around symptoms, time is wasted.
The whole point of your involvement throughout the entire development cycle is to… be yourself. You are the business expert, our domain is software. Point engineers in the right direction at the beginning, and make subtle adjustments behind the wheel when it’s made. An experienced vendor will always expect you to review the software through the prism of business advantage. Does the software fulfill the goal? Does it attract users? It’s FinTech – does it make them feel safe? The client’s responsibilities in product development involve asking and answering these questions during sprints.
3,2,1… take off!
The product has been launched. What now? Well, it’s time for the maintenance and support. The client’s role in product development is now to… develop. Maybe you want additional functionalities. Maybe what you got is a minimum viable product (MVP) and now it’s time to build a full-blown application.
There are many possibilities. The important part is that software should always be built around real customer’s needs. It is worth integrating tools that track user behaviour. Taking that into consideration in the MVP helps you make decisions based on data. It requires almost zero development but potential gains are huge.
User-centric approach suggests close cooperation with your users. Collecting their direct feedback is essential – you can do it via simple surveys, focus groups, interviews – sky is the limit. You can also pick up our brains for a change – we’ve done hundreds of products, and may suggest some things as well.
Houston, we are ready for the next mission!
The importance of the client’s involvement in the software development process extends to the entire project. Some companies fail but others thrive. What makes them apart? Vision, ability to adjust, the right business partners. At Code & Pepper, we believe in building something together. With your mission control and our foot on the ground, we can conquer the moon, Mars, and other celestial objects.