Before you dive headfirst into a software development project, it’s important to keep a few things in mind when you’re working with an external partner. Software projects not only need engagement from a development team, but also from you, the client. You should be ready to devote time for planning, analyzing, and discussing the product roadmap with your development team.
Hiring a development team
A client should take time to hammer out many of the aspects of a product before the project starts. First of all, he has to look for a professional software provider. It may be tempting to race to the bottom for price, but balancing price and quality is a key consideration. If you don’t have internal programming resources already, you’ll need to spend some time looking for the right provider. Finding the best delivery partner can be time-consuming and needs a lot of effort. And that’s only the first step.
Legalities and a product brief
Once you’ve found a perfect development partner, the next step is to negotiate all the legalities and sign a contract. It also needs effort on the client’s site. You need to determine the project scope, define the application’s features, and describe the expected result. Here’s our guide on how to get an accurate cost estimate and to allow the IT team to understand how the application should work and what features it must cover.
Defining the application’s scope and estimate
Clients describe their vision in many different ways. Some of them compare their idea to some tools that already exist on the market and have similar features. It’s very common for clients to have an app in mind that they’d like us to emulate. For us, it’s a nice way to get the first feeling of a solution we’ll build. In the second stage, we ask additional questions to get a more detailed understanding of an idea and its full range.
Some clients already have examples of the mock-ups or even sketches of their preliminary idea. They prepare information about the business value and show how it should be supported by the future product.
It’s very helpful for both sites to agree on as much detail as possible before a project start. But without a technology background and project experience, it’s not easy for many clients to define the detailed product vision. We can easily understand that. That’s why we offer our clients product design workshops as the first step of work on the application. Such workshops clarify all product details in its technology and business aspects. We advise on features to be chosen for an MVP, define usability that meets target groups needs, and prepare an application prototype which very often is necessary to convince investors/sponsors to support a project.
In our workshops, we spend a few days together discussing the vision of the project about the features of some use cases about the business itself. So there is a moment in which the client should teach us about his vision should convey to us as much information as possible here in order for us to understand the project and to estimate it. So that’s a lot of effort and our clients really need to allocate some time to determine all the details and the common point of view relevant the product and its vision.
We need to ask a lot of questions to digest the information that we learned and come back with followup questions. We engage clients in this somewhat intensive process. While it sometimes takes quite a long time, the finished product will be sound. In order to get professional service, you’ll have to set aside time to get everything right.
Workshop preparation for application development project
Once you decide on taking the product design workshop, here’s what you should expect. So, in case of meeting with one person which represents the whole company, he should be well prepared. He must have knowledge both from the business and technology side. It is really important if the person is meeting us only alone in person or if it’s a kind of company project where there are more stakeholders.
Understanding all sides of the project and achieving all the knowledge needed could be very time-consuming. The whole team needs to meet together in the same room for a few hours, clearly defining the future product functionality cannot be overestimated.
Product owner role
We work in scrum methodology, so we have to choose a person who will be responsible for the whole application development project. Usually, we do not allocate the product owner on our side. Scrum assumes that there is a development team, but there is also the role of a product owner who is in charge of deciding which features are in the system. He or she has to know everything about the product and answer any questions about how developers should implement features. The product owner is able to respond to all questions about the product, system and also business background.
It’s better for the clients to have a person on their side who has a very strong industry background and a great understanding of the client’s business niche. Working as a delivery team we can perfectly recommend the technology, UX, and many other aspects but at the beginning, we need to acquire the domain knowledge from the client’s business.
A product owner must answer questions that arise throughout the project. He or she needs to respond quickly enough not to create a bottleneck. In order to avoid sending a single question, we organize so-called backlog groomings or backlog refinements. These are meetings where the goal is to explain the backlog to the team and discuss with the development team all the upcoming tasks trying to find out all these questions before we start the implementation of a given feature. This kind of meeting usually lasts much longer at the beginning of the project and then we keep these meetings regularly every week or every two weeks depends on the length of the sprint just to refine the next stories on the list. This way can be on the right track with all client’s needs with the minimum effort from the client’s side to run the project on time and budget.
The great example here is our project for The Guardian. The company has a dedicated business owner on its side who takes care of the business — the roadmap for the system in terms of business discusses with us about priorities and features. All the process is led by Slack — both sites are this way very responsive and the communication is smooth and quick. We run together planning sessions and so-called groomings to set up what should be done in the next sprints.
Client’s engagement as a success factor in application development project
Of course, there are clients who do not want to engage so much in the project. They just want to write down specification then want the software provider to learn and understand their business enough to ask all the questions that appear during the development process.
We try to discourage clients from that kind of approach, but if there is still a need on client’s side to pass us product owner role, we try to adjust and prepare for the role as much as we can. Then we only need a contact person on the company’s side to decide about the next step of the project. That is why we always try to encourage our clients to consider this team spirit type of arrangement and be ready for some serious involvement on their side.
As you start your software development project, be sure to prepare to work with your software development team to get the best possible outcome. Do your research and hire a software partner that will be open and honest with you and who has a history of excellent work. Assign a product owner who knows the ins and outs of the project and is ready to work closely with developers. Devote time and effort to get everything in order and finally, take the plunge.