paint-brush
Use this Framework to Easily Scale Your Software Development Businessby@dakic
634 reads
634 reads

Use this Framework to Easily Scale Your Software Development Business

by Momcilo DakicApril 29th, 2022
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

A friend of mine has a small software development company. He was struggling with keeping his profit margins high enough. Communication and planning were the villains in this story. I had a feeling that my experience in managing complex projects could be applied to his case as well. The program contains 6 steps. The "Ignition" and "Research" steps are related to product discovery, followed by the "Definition" step for the ideation process and the "Prototyping" step.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail

Coin Mentioned

Mention Thumbnail
featured image - Use this Framework to Easily Scale Your Software Development Business
Momcilo Dakic HackerNoon profile picture

A friend of mine has a small software development company. It's a small team of five: four software engineers and a designer.

One weekend, we both went to a BBQ party where he started talking about his business endeavors and the obstacles that he was facing. He was struggling with keeping his profit margins high enough. The projects that he was working on had a fixed scope and fixed price, where his profits were included in the price. However, despite his efforts to estimate the scope accurately, he ended up working longer than expected, extending his projects for a couple of weeks or months, for the same price. A couple of projects were finished with him barely earning to break even.

Obviously, communication and planning were the villains in this story. Despite the fact that he invested time in project planning, he was lacking the structure and communication techniques that would help him align with his clients, and agree on the scope of work. Due to insufficient communication, gaps in product features were detected in later stages of the projects, leading to unanticipated work, and consequently, profit losses. More often than not, gaps were caused by assumptions - he had one assumption and the client had another - but they never aligned on their assumptions. These situations even lead him to question his abilities to execute projects.

I understood his worries and frustrations since I've been in tech for years now and dealt with similar challenges in my own projects. I have been working as a software engineer for about 6 years, and 5 more as a product manager, where the last two years involved projects for Big Tech. I had a feeling that my experience in managing complex projects could be applied to his case as well, so we agreed to take a stab at his challenges, and come up with a framework that could help him beat his villains.

So the plan was to create a step-by-step guide, that would act as a template for bridging the gap between the start of the project inception and execution. Here's what we came up with.

The program contains 6 steps. The "Ignition" and "Research" steps are related to product discovery, followed by the "Definition" step for the ideation process and the "Prototyping" step as validation activity with your client. The "Roadmap" step is dedicated to setting expectations and outcomes. Finally, the "Execution" is intended to facilitate and communicate the progress.

The basic idea is described in the following paragraphs. However, if you want to try out the entire guide and improve your execution, you can get the whole guide here.

Ignition

This is the first step in the product discovery phase. The purpose of this step is to align on the problem that we're trying to solve, formulate a basic question to be resolved, provide some context, identify decision-makers and stakeholders, agree on the criteria of success, the scope of the solution space, constraints of the product and key resources of insight.

This should be put in a document and should be signed off by both parties involved. This leads to shared accountability, and every change in the future should be negotiated as a scope change (and price change). One huge benefit of this step is aligning on assumptions, and saying them out loud. This leaves no room for misinterpretation and gives a healthy start to a project.

Research

This part of the guide will help you structure your interviews and knowledge transfer process. Essentially, this will help you to "download" everything your client knows and provide you with valuable context about the domain and the problem space.

You will be able to understand user needs and define happy paths, but also corner cases for each scenario. Again, structured information will spark the conversation with your client and any missing pieces will be easily detected. By doing this step well, you will set yourself up for success, since you know exactly what you're supposed to solve and what is the scope of your work (and also what is not part of the scope).

Definition

This is the fun part, the part where you come up with innovative solutions. With the help of the previous two steps, you've accumulated enough insights and you have a strong foundation to build on top of. Even though innovation is a creative process, it still needs some sort of structure, and that's what this step is all about - how to streamline your creativity and use previously generated insights.

This step will help you identify target users and their affinities. Based on user journeys you will be able to come up with tailored solutions. Also, user story mapping technique will help you prepare your backlog and release cadence. The benefits from this step are detailed scope of work, that will further involve your client in the process of idea validation and will ultimatelly help you in estimating the time required to build it. For all of these steps, it is crucial that you have everything in writing, so you can verify it with your client, and keep the knowledge base for later.

Prototyping

This one is straightforward. Use the insights from the Definition steps, and create a prototype. Use the prototype to present it to your client, and ask for feedback. At this point you still haven't started with the development, so every change is more than welcome. Visual representation of your idea is more palpable for the clients, so the effort invested in creating a prototype is time well spent.

This step will guide you through the process of creating Information Architecture that will firmly pave the path for your product development. Based on the information architecture, it's easy to create a great user flow and user experience, covering the main user flow as well as corner cases.

Roadmap

With everything planned out, roadmap is a document that will encapsulate your plan. You will use this document as a communication tool that will help you manage client expectations and communicate the progress and outcomes.

This step will help you to formulate outcomes for each product release, so that your client understands what will you deliver after each iteration. This will set clear expectations, with no room for misalignment. At every given moment, you, your team and your client will know what has been done, what's currently being worked on, and what comes next. This will be a central go-to document to get these information, and kickstart the discussion about any priority changes or unanticipated blockers.

Execution

This step will make sure you follow the plan, and deliver value with each iteration. Execution will pace you throughout the project, and will make you hit your targets and milestones, leaving you with initially projected profit margin.

Good iteration planning and reviews will make everyone informed and aligned. Your clients will know what are they getting, and your team will know what needs to be built.

Program Impact

By applying this program to his next project, my friend successfully managed to hit all the milestones and deliver the project on scope, on time. This was a huge breakthrough for him, and he felt in control again. Furthermore, the client that he worked with was impressed beyond expectations. The client offered him two more projects and introduced two more leads, which was another huge success.

You can learn more about this program here, and apply it to your next project. I'm sure it will bring you huge benefits such as building a strong, long-term relationship with clients - building partnerships. This will take your company a long way, making your service more professional. As a result, your rates can be higher, your profits bigger and you will be able to tap into more serious client markets. By using this template, you will avoid obstacles imposed by communication and planning gaps and will avoid missing your projected profits.

I would love to get your thoughts on this structured approach, and would love to hear your success stories.