Starting a software development process
The aim of this post is to help you with starting a software development process. Do you perhaps have an exciting idea for a software product? Do you need someone to help you with developing it, but you aren’t sure how to go about it? If that’s the case, let me give you a glimpse into how Software Sauna typically starts software development projects from scratch. In five short steps.
But before that I want to point out, that these five points are by no means the only way to approach the subject. It might even not be suitable for everyone. What I will describe is the process with which Sauna usually approaches a new project.
Let’s walk through the process one point at a time:
- Getting started
- Technical meeting
- Workload estimation and offer
- Drafting agreements
- Kick off the project
1. Getting started
In the initial phase, we will most likely not know each other very well. Let’s start by fixing that and get familiar with one another. Who are you, what do you do, what do you wish to accomplish? The discussion will mainly revolve around drawing general guidelines of what a potential partnership might look like. We need to have an understanding of how the product will support your business and what the purpose of the product will be. This means that we will be discussing the targeted users of your product and their primary needs.
Another part of the discussion usually involves the internal structure of the project. Who is going to be involved, and what roles will they be playing in the project? We need to understand what kind of expertise the Sauna team needs to have, but also what capabilities you as a customer possess. How much domain or industry knowledge can you bring to the project? Do you have technical expertise internally that would support the Sauna team?
Then, of course, there is the question about money and finances. The budget needs to be taken into account right from the beginning, even if talking about money might be a sensitive topic. This gives us a mutual understanding of what the financial prerequisites for working together are.
These topics do pop up in our initial discussions rather often, but there is no one formula of right or wrong topics to be brought up. The goal at this stage is to learn as much about each other as possible. We need to find out if we share the same vision about developing your product. If we do, we usually proceed by signing a non disclosure agreement, after which we would like to take a closer look at any documentation you can provide us. This documentation could consist of an existing codebase, requirement specification, or mock ups of what the product is envisioned to look like.
Once Sauna is able to get more acquainted with the documentation, we will form a group to make an initial assessment of the project. We will evaluate how realistic we think the requirements are in comparison to the budget, and start preparing ourselves for a deeper discussion that will be held in the technical meeting.
2. Technical meeting
When we have discussed your project and mulled things over, it is time to gather again. This time we include the Sauna developers, who we plan will be working on this project with you. If you have access to a person with technical expertise, such as a CTO or technical leader, it is advisable to include them in the meeting as well.
The aim of this meeting is to discuss questions and concerns that the Sauna developers have bumped into while doing their initial assessment. This is the first step where we concretely talk about how the product should be developed. There will most likely remain unanswered questions after the meeting, but usually we have enough information to form an indicative workload assessment.
3. Workload estimation and offer
After our technical meeting, the Sauna consultants have considerably more information about application requirements and about your vision. Together we have talked about how to approach the development process and what functionalities to include. This is the time when Sauna consultants start breaking down tasks and features in order to give a rough estimation of the workload.
When the workload estimate is done, Sauna will make you a preliminary offer. The offer will present what kind of a team will partake in the project, how the project is going to be priced, an indicative timeline, and what features we believe can be delivered within required budget and schedule.
Once you have got acquainted with the preliminary offer, we should discuss if both parties are satisfied with the suggested solution. At this point of the process, we might still make quite big amendments, such as removing less critical features from the scope, and deciding to develop them later down the road.
4. Drafting agreements
Now we have reached an agreement of how to proceed with the development process. Now all that’s left to do is the drafting of agreements. This is usually a formality, since we have already discussed pretty much everything prior to this. It is, however, extremely important that you understand the contract clauses and that you request more information if something is unclear. Our standard agreement does usually cover everything, but on some instances our customers have had special wishes, which have required amendments in the drafts.
5. Kick off the project
After all the agreements have been signed, we can finally get our hands dirty. Usually we have a joint kickoff meeting on the first project day, in order to start things on the right foot.
Although the project kickoff is the final part of this blog post, it is rather the starting point of something new and exciting. From this moment on, your idea will slowly start materialising and taking the shape of a software product.