5 things you need to do before you start software development

You have an idea and want it to become an application. At first glance, it might look like there is nothing in between the idea and the code that brings it to life. Before you start the actual development part, we strongly convince you to make sure you remembered about the steps you can take on your own. Aside from preparing yourself for software estimation, you need to let your idea bloom in the best available way – by understanding the details that will make it work.

Before starting development, make sure that you are prepared for:

  • Crystallizing your vision. What do you imagine your product should look like? What features should it have? What goals is the product to achieve?
  • Understanding your business. A great app can’t be developed without a deep understanding of the business it’s meant to support. Know your business requirements and the needs of your future users.
  • Confronting business with technology. Knowing what features the product should have and what problems it’s designed to solve, you can start thinking about the best technology stack and plan the development. Not the other way.

Goals

Setting goals is the first milestone in project management. It should provide answers to the following questions:

  1. What will the project achieve? (Performance goal)
  2. When and how will the outcome be achieved? (Time and resources goals)
  3. How much will it cost? (Budget goal)

Resources should include staffing requirements and available infrastructure necessary during the project.

The project goals should be consistent with the overall business goals of your enterprise. Keep in mind that these 3 factors affect each other and any changes applied to one of them, e.g. reducing available staff, will most probably impact the project’s ending date, possibly also the final result.

Setting goals helps you remember about primary objectives during the project’s lifecycle, enables staying on track and achieving particular benchmarks.

Defining the persona

The project persona is a made-up character, representing the future user of your project’s outcome. Building a persona is a way of imagining the human recipient of your product and gives a broader knowledge about customer needs. This approach brings you closer to understanding challenges and opportunities before testing the product in vivo.

To design your persona, think about a number of characteristics (background information, including demographic and behavioral data, the person’s pains, gains and currently used solutions, along with a name, picture, and personal details) and answer the crucial questions: Why would the persona need your product? How would the persona benefit from it? Which problems will your product solve? Your product will most probably respond to the needs of various customers but you should approach them differently, with regards to their needs, problems and goals.  Below picture shows possible personas for a car-sharing app, along with their various needs.

Planning

It may be tempting to launch your project the very moment you come up with the sole idea of doing so but you need to realize that the time has not come yet. Instead of launching a project built with dreams and assumptions, take your time and focus on proper planning.

This is the right moment to settle the schedule, define all requirements, and document accompanying plans. Without a plan, achieving your set goals most certainly won’t be possible. Not only will it help to establish the delivery date, but also the steps towards it – the necessary resources, costs, managerial approvals, and other requirements.

Story mapping

Story mapping is a tool enabling better understanding of the product by envisioning the user’s perception of it. User stories are developed in the course of discussions with stakeholders or based on personas. They are designed as a way to influence the functionalities of the developed system.

To explore the users’ thoughts, use the proven template:

As a [certain user], I want to [take action] in order to achieve [profit].

Mapping gives a visual representation of how the amount of work may be divided into feasible bits. This part of the project allows focusing on the most important issues in the first place and efficiently prioritizing tasks. Read more: How to prioritize features for a Minimum Viable Product?

Epics

Epics are one of the “measurement units” used in project management. They may consist of a user request, a project requirement or a feature to be implemented. Epics contain details on the required component as designed for the final outcome. This part of the project contains smaller bits of information and is supplemented by the data gathered in user stories.

Epics usually occur when a component elaborated in the user story and primarily thought to be simple expands into a bigger chunk of work, making the development of said component impossible during one sprint. This pieces are a consequence of the component growth, resulting in “bigger” user stories that need to be divided into smaller sections. The purpose of the above-mentioned attitude is enabling the team a better estimation of efforts, as well as making vast progress in certain tasks.

Dividing work into “smaller” and “bigger” sections is a subjective matter and it varies in companies using this approach. User stories and epics enable classifying work and tracking the efforts efficiently.

This being said, if you’re still not sure if you can conduct these steps on your own, do not hesitate to join us for discovery workshops and explore the full potential of your idea. At Neoteric, we treat each project as a potential game-changer and support it comprehensively, going far beyond the code. Our interdisciplinary team is here to support you and make sure that your project remains your project. It’s the joint effort that lets us see beyond the code and grasp your business objectives.

We will launch your web application 2-3 times faster than you expect!

Articles chosen for you:

Share the article with your friends!

Written by:

Copywriter and part-time bat-girl. Working with words, ensuring that the software house speaks human, not only tech. Writer, baker, costumes maker.