10 Best Practices of Software Product Management for Small and Medium-sized Companies

DigitalSuits is a software development company that focuses on E-Commerce and SaaS solutions mostly for startups and small-medium businesses. The company was founded 5 years ago in 2016. We have profound expertise in such domains as e-commerce, real estate, insurance, and fintech. We are experienced in software development, but we also have our own experience with startups. One of our co-founders has founded 2 startups and got investments from accelerators so we know this matter inside out.
This interview is about our own practices that we use in our work and with our clients. These tips help us to achieve the best results and our clients — to get the results they are eager to achieve. Moreover, certainly, I would like to show what’s under the hood and to share my own and the company’s experience — how we work, how we provide our services and how we treat our partners and clients.
The readers can figure out and choose the most interesting and helpful practices that we use. They will be able to get an upfront understanding of our work, the model of collaboration we follow. It is always good to know a bit more about your future tech partner — our clients are able to learn about us a bit more in this interview.
I’m eager to share my own tips, pros, and cons of every approach that we are going to discuss. It is a must-read for all business people who are going to be involved in the software development process. Here I want to answer all “Why’s and How’s” of the software product management process. Every startup and every product faces challenges. Thanks to our startup experience and profound knowledge of the industry, we could prevent or minimize their effect on our clients. This information will help you to collaborate in the best way, to achieve the set goals, get investments, deliver projects on time, and avoid any kind of challenges.
Custom software development can leverage the process of automation within a company, for example, robotic automation or digitalization of the manual work. It is a great tool to reduce employee costs and to speed the processes. For instance, if a company wants to automate some internal processes, business owners will not only achieve cost reduction but also avoid mistakes and failures and be sure that the work will be done no matter what. Sometimes humans are not able to deliver work on time — from now on, everything can be automated and done by special programs and software created for the unique needs of the company.
We work with SMEs and startups. Some of our clients are tech agencies — they develop services and products for their clients and collaborate with us on partnership terms. Still, the majority of our clients are startups. We share our knowledge in software development with them and consult them on how software or a product feature may affect their future roadmap or future investments. Working with SMEs we help them to digitize and automate processes.
There are three various types of client requests: Firstly, to develop a software solution so all people all over the world could use it, and secondly, to get investments. Just to give an example, the last client that we started to work with in the summer wanted to create an event platform that combines online and offline participants to be a part of their event. It doesn’t matter if you are staying at home or you are at a real event offline. We delivered it in less than 2 months — the 1st deployment was in 45 days from the beginning. Right now we keep improving this system, supporting on-going events and new events. Later on, we have plans to extend the system functionality.
Secondly, other software development companies require to extend their products or teams by software developers. Finding a tech partner to collaborate with is faster and more reasonable than hiring new developers. Companies need to equip office space and environment, provide a complete recruitment process for newcomers. Moreover, there are many corporate responsibilities with them. That is why it is easier and faster to find an agency that will provide experienced software developers when there is a need.
Thirdly, software development companies outsource and build partnerships with us if they don’t have enough in-house resources or domain expertise that we have. Thus, we collaborate with them to complete and deliver any type of project. We have such clients working from Canada and the US.
It varies. When we deal with startups, there are some technical guys in the team, but usually, it is not enough to deliver the project by themselves. They are aware of some technical tasks, but they focus more on doing business, attracting and retaining customers. The right way for startups is to entrust software development to us. We’re responsible for the technical side of the project, they go for business.
On the other hand, our outstaffing partners have teams of developers and profound knowledge in development. They require just to extend their team as soon as possible.
In the beginning, the most challenging part for every client is to understand what they want to achieve in the shortest period of time. If we consider startups, they usually struggle with focusing on the main features of the project. They are eager to chase two hares at once — to be on track and to continuously add new features to the product. But this approach makes the development stage overcomplicated and doesn’t pay in the long run. That is the most demanding part of our communication.
Certainly, the next thing that our clients take into consideration is time. They are worried about time-wasting and tight deadlines. Every developer tries to avoid hard-coding and poor quality of code. But if you force the development team to work at a high speed and to hasten the development stage in general — it may affect the quality of the code and as a result the product quality. Secondly, being in a rush, startups don’t have enough time to make the product better and to finalize some features. They need to find the right balance between being in a constant rush, making never-ending product improvements, searching for game-changer features and wishing to please all customers.
Now I’m OK. At the beginning of the road, I didn’t understand that business can be different. Now I do. Sometimes you need to develop hot features and deliver the result fast at the expense of quality. It could pay you off and bring much more than doing everything in a correct way. But now I always remind our clients that it is really important to dedicate some time in the future to improving features that were developed at a high speed.
We put ourselves in their shoes and analyze the situation. Eventually, businesses may not understand all the consequences of different approaches in software development. We are like “referees” between their requirements and their needs. We help our clients to stop, take a breath, and think about every decision.
Here is a recent example: we were developing an online event platform for our client. They took a really fast pace to deliver the project and also tried to make every feature very special and important. It brought them to a point where they were overloaded and the team was demotivated. We highlighted this situation many times, but one day we asked them to join the call and discuss it. Eventually, we drew their attention to all the circumstances that they could face in the upcoming future if they didn’t stop being in a rush. Actually, it was not only about the fact that they may lose the team but also about the business and product as well.
They were so inspired to deliver their amazing project through COVID-19 times and provide people with the opportunity to be a part of any event. The point is, delivering a product of poor quality but full of features would not have worked out for their business, product, and team members. This is what we tried to explain and we did it successfully. After our conversation, they agreed with us on many points.
It includes proper management at all levels. I mean, not only development management but team communication and management, development management, client expectation management. There are also subpoints — communication, plan of delivery, clear requirements. Software product management consists of many parts. I can’t highlight just a few, because it depends on the situation — when dealing with different businesses, the prioritization may shift and some points will be more crucial than others.
When you have a product idea, there are a lot of steps between the idea and the product that can deliver it. That is why we start from the beginning — gathering the requirements. Basically, software product management is the list of requirements that the client should complete before delivering the product to customers.
It’s about the idea. When you have an idea, it seems easy to understand. When you try to explain this idea, it becomes more complicated. It makes you get a new angle on your idea. The key point is that if you have a vision, you can define a scope of work. Write it down — and you will be able to understand the idea better, improve and explain it to others. Our experience shows there are plenty of situations when a client only has a vision of the product. And here is our turn — our mission is to define requirements and help to understand the idea and product better. This is called “Discovery phase”.
Here is the guideline on how to define the product requirements:
You need to outsource software development in 2 cases:
In this way, it is better to have a reliable partner who matches the requirements. When the vendor has proper expertise in the domain, it will take the client less time and money than if they were investigating everything from scratch. So I think that finding a vendor should be aligned with domain expertise as well.
Start from research. Firstly, pay attention to the domain expertise — it increases the chance to make the product more successful. Secondly, find clients’ references, reviews, and external information about the vendor. You can find useful information about the vendor on external platforms like Clutch and GoodFirms. If you see that clients collaborate with the vendor multiple times, it means that this company did its job well. It is much easier to keep working with a trusted vendor than to find a new one. Moreover, it increases the chances of delivering the project and making the client satisfied.
A good outsourcing company means:
It is crucial with every client, but even more important with clients from a different time zone. For example, we have 7-10 hours difference with clients from the USA. Here communication, team management, client expectation management is crucial.
First of all, you can arrange an interview or set an introduction call with C-level managers. Ask them the following: how they do their work, what approaches they use, how they manage clients, ask them to provide client references. You need to talk to people, to see them — it helps you to understand them better. At this stage, you already can decide if you are ready to move forward with them or not. Moreover, you can always google and find everything.
Task estimation is essential in software product development. During the estimation phase, it becomes clear what functionality is required to achieve the goals, how to sort it out and how to plan further development.
The team that is going to deliver the project is responsible for task estimation. One of the fatal mistakes is to rely on an estimation that is not completed by the team that will do it. I am sure that sometimes clients face an under-or-over estimation, which actually is not a good approach. Clients are looking for transparent and fair estimation. Also, there can be some hesitation because clients are not aware of the whole process. On the other hand, it’s necessary sometimes to give a chance to the company or the vendor to explain their estimates. As their expertise was called upon and they know how to deliver the project, it is worth giving them a chance to explain the estimation and the work they are going to do. After that, you can decide.
It depends on the project size. For small projects, we provide an estimation within one day. If our client requires a large project estimation or if it requires research, we usually provide it within three days.
In this case, there are two approaches to prevent such a situation:
We also provide comments and assumptions. It may help our clients to understand how confident we are. For example, if there is no design but only a vision, it’s really complicated to provide accurate estimates. However, speaking about typical tasks that we developed before, we make an approximate estimation with a higher or lower confidence level.
Simply put, estimation includes time for project management, development, requirements, investigations, testing, delivering, and communication.
Why do we include communication here? Team communication is very important as team members need to communicate to do their work better and faster. Also, there are daily or weekly meetings with clients where team members are involved in communication. All in all, our estimation includes all this work.
Moreover, the estimation should always be agreed upon with the clients, as there they can see the list of all vital steps to deliver the project.
It happens quite often. For this reason, we schedule a call with the client and explain our estimates. We try to find alternatives to change the cost or a timeline by reducing some features or unnecessary functionality, or even assigning more resources to speed up the process.
Firstly, we investigate reasons why it is taking that long. We figure out every issue and discuss it with the team. For that, we do brainstorming and retrospective. Usually, it’s a part of project management. After that, we find ways to make improvements and move forward.
Here is the list of the tools we use in our work: Gantt Charts, Jira, Confluence, Toggl, Basecamp, or even Trello. Jira is an awesome tool that provides Project Management with almost all features that are needed, like roadmaps, charts, and schedule. It helps us to plan our work, give an approximate project roadmap with timelines and time to deliver. This tool is a good solution for showing the roadmap to clients and delivering the whole picture of the software development. For smaller projects we use Basecamp. There you track all the document changes, task statuses and go through different projects. Sometimes we use Trello for small projects and tasks if there just a few improvements are needed.
Metrics help to predict future development timelines. A Burndown chart helps to understand if we are on track. At a Retrospective we look back at our achievements and roadblocks and reflect on how to improve.
Basically, we don’t use a lot of metrics, because usually it is not required. We use just the most important metrics that show: that we are on track how much the team is able to deliver during a time period
Here is the list of metrics we mostly use:
Answer the following questions and write down simple answers “What features should I do more of? What features should I get rid of? Where should I innovate?”. It is important to be ready to de-scope some features to save money or to speed up to enter the market sooner.
In the beginning, it’s crucial to make a MVP or prototype of the project. A Minimal Viable Product (MVP) is the easiest way to touch the market without a complex solution. It allows you to be flexible in changing your product and choose a different direction. Building features with a MVP mindset ensures you don’t build wrong things upfront, since it forces you to rely on feedback over making long-term assumptions.
Sometimes, a prototype makes sense as our client can share it with potential clients or investors and get valuable feedback.
It depends on the team size, but it may take from 1 week to 2 months. The factors that influence the time of development are: the size of the product, the scope of work, the final product that clients want to deliver to the world.
Making a strategy, keep in mind the Now, Next, Later states. Simplifying allows you to focus on Now and Next, and to keep Later out of sight.
A product roadmap is a shared plan of work that highlights the direction and task prioritization. Looking at the product roadmap you can understand the scope of work, the list of features, and then plan your work accordingly. It’s like a schedule where you can see the ideal way of delivering the project, special features, and some developing steps you are going to complete during a specific period of time. You can clearly see the deadlines and the timeline of the development. We share roadmaps with our clients as it makes it easy to understand the development process and provides transparency.
To improve team achievements with minimum required actions, we do a retrospective. It is a type of regular meetings, where we collect data, sort out issues, determine actions and make a plan for implementing changes in the future. A team lead or a project manager should be prepared well for the meeting and have a list of points that should be improved. It should boost the process, make the work smoother and enable the team to perform better.
Also, we practice stand-up meetings. They are daily checkups of the progress. To avoid misunderstandings within a team and to provide good communication, at daily meetings all team members understand the responsibilities of others. Thus everyone is aware of the common scope of work.
It is necessary to be on the same page with the team. We try to prevent any critical situations when the team is demotivated, exhausted, and does not perform well enough. That is why we invest resources in their motivation and help to manage their feelings.
It is quite obvious, but well-organized communication saves a ton of time and makes the process smoother.
In our work, we have a communication plan as we value quality communication. To provide a high level of transparency, we provide constant meetings with clients, sprint or week reports, time reports, product roadmaps. Our client should always be aware of what is going on in the project. We always stay in touch with the client and set up our own schedule of meetings based on the client’s preferences. In this way, they’re able to manage their expectations.
As we care about communication, we use special tools like Slack, proper Task Management Systems for daily and weekly reports, and Confluence to track call summaries, to keep the team posted on the project updates, and to store information in one place. These tips are the minimum that is necessary for good communication.
Any architecture enhancements can have a significant impact on your customer and the future of your product. Answer these questions before you start developing and spending money on new features. This way, you can understand the real necessity of a change:
All in all, any product enhancements influence the total cost of the project. Then it’s vital to weigh the pros and cons. The client has to be sure that enhancements are necessary to implement as product users crucially need this functionality. Also, another option can be considered as well, for example, to deliver a feature differently, like an extension or even a separate solution.
If it does affect the final price, then the feature can be delivered for beta testing or presented to investors and clients to collect their reviews and feedback. A good way to check the necessity of a change is to deliver the feature in a simple way to understand whether there is a real need for functionality extension.
Developing a product, we should always think about the end users. All decisions should be made in accordance with customer-centricity and added value. If changes make the product easier to use, improve the usability and performance, they should be implemented without a doubt. If opposite, they don’t bring any value.
Thanks to our profound expertise in working with startups, we know the importance of the interaction with customers, partners, and the market. Their insights are critical and invaluable for understanding the real product value.
Moreover, having analyzed the chosen market niche and products, make a short survey and collect analytics to learn how customers interact with your product. Keep in mind what you liked the most in the products you used and move forward with this knowledge. Try to understand if this functionality is required in your product, and if so, how to make it better.
Actually, not everyone follows these tips. More than that, it doesn’t mean that those companies are not going to be successful! In most common cases, businesses just use the most suitable tip in the specific situation. As for DigitalSuits, once we work with clients and partners, we make the process easier — communication, collaboration, the scope of work. We always try to find a balance between features and real requirements. After that, we move forward.
A novel shows the Project Manager’s day-to-day realities. This book teaches us the art of keeping everything under control, not going astray despite all the events, people, and obstacles.
This book tells about 45 mistakes and lessons learned from them. These are vivid stories that show you the simple truth. But it's always interesting to dig deeper and find causal links.
This book is about the manufacturing process. Looking from a different angle, we can see that the main idea behind the plot is to learn how to get rid of everything that bothers and to improve everything that boosts you. It teaches you to think systematically and consistently, find bottlenecks and reduce costs.
The best reading for choleric people who experience difficulties managing themselves and for those who want to learn how to think strategically. It shows how tactics, thoughtfulness, prudence, and foresight of daily actions affect not only the result but the process itself.
This book will help you to "love" the risks and realize the fact that black is not always black and white is not always white. It teaches you how to find benefits and opportunities where, at first glance, everything seems to be a failure.
Win-win negotiations with extremely high stakes by the top FBI negotiator. It will be useful to managers and everyone who faces negotiations with clients and the team.
There is already hype around some of these books, and some are not about project management at all. None of the books are textbooks, tutorials, or guides to action. These books help to broaden your horizons as well as imaginative, critical, and strategic thinking. These extracts will probably help you someday to turn knowledge into action and bring these ideas to life on your projects.
I hope you found answers to your questions in this article and I revealed the software product development process. If you are interested in product development and you need our help — contact us by filling the online form or chat with our representative on a chatbot.
Content Marketing Manager at DigitalSuits
and receive tech news right to your inbox!
Related Articles
10 Best Shopify Stores for E-commerce Design Inspiration
Thinking about redesigning or creating a new Shopify store? We’ve collected 10 ideas to help you come up with one-of-a-kind e-commerce website design ideas.Read more8 Main Headless Commerce Advantages
In this post, we reveal headless commerce benefits and reasons why the headless commerce approach is a game-changer in software development.Read moreWhich Platform is the Best for E-commerce Website?
In this article, we compare the best e-commerce platforms for building your online store. Learn more about key features of e-commerce platforms in this post.Read moreWhat happens next?