Project planning - main goals and requirements
In this article, we explain how we do project planning and its main goals.
Every client formulates the requirements for software development projects in their own way. Some requests that we receive generally describe the desired product while others are very technical and detailed.
In all cases, we have to bring our clients’ requirements to a standard format so they could be clear to our developers.
The clearer the requirements the faster the project development.
Also with full requirements, there are fewer risks involved.
We always do the project planning stage before the actual development starts.
“Sprint Zero” – what is behind this Term?
The “Sprint Zero” concept comes from the Scrum software development management framework and describes the process of preparation for the project development.
According to the Scrum methodology, the Sprint Zero has the following goals: assemble the team, set up the project development process, arrange project planning, build a backlog and start working on the design.
We call Sprint Zero a project planning stage.
In this article, we will try to explain what we do during the project planning stage and which goals we intend to achieve.
How project planning works at Jasoren
During project planning, we communicate extensively with our clients to clarify their expectations from the development process and the end product.
At this stage, we discuss the project budget, the features, and functions to be implemented, the deadlines and milestones as well as the project design details.
We usually complete project planning within one or two weeks, depending on the project size and complexity.
We determine the client’s requirements for the project and translate them into tasks understandable and achievable for our development team. This way, we ensure that the product we develop meets the client’s expectations.
According to the Scrum concept (although we don’t apply Scrum principles to every project), every sprint should produce something deliverable.
Sprint Zero, or project planning, is no exception, and we also set specific goals for it.
Of course, project planning is not the only stage where communication happens.
Communication is essential at every stage of project development and is usually coordinated by the project manager.
However, during project planning, the team is also communicating actively, discussing the vision of the application to be delivered and putting down the functionality scope and design preferences.
The better the project is discussed during the planning stage, the more productive the development process will be, as all details will be clarified by that time.
We start our team selection by evaluating the complexity of the project.
More complex projects will require developers that are more experienced. Also, some projects might need developers with expertise in niche technology.
Our programming experts have participated in various projects and worked with different technologies. Using our resources, we can put together the most optimal team for any project.
To select team members, we hold interviews with every developer and organize team meetings with our clients. This process doesn’t require much time and usually takes a maximum of 7 days.
Product concept development
The client may have a general vision of their product and the goal that this product is going to achieve.
Sometimes it may be difficult for the client to single out each individual feature the product should have to achieve that goal. In such cases, we consult and advise our clients on the most optimal functionality.
We perform market research to identify the end users of the app and the problem that our solution is going to solve.
Based on the research results, we create project design, list the requirements to the application, and determine the functionality to be implemented. These requirements are then included in the project backlog.
We also provide business analysis on the expected performance of the application and its monetization possibilities.
Some of our clients have no technical background. For these clients, we provide additional technology consulting explaining the way their application will work under the hood.
Project cost estimate
During the project planning stage, we also discuss the project budget, especially when the planned budget does not fully cover the estimated project costs.
In this case, we try to offer an alternative solution matching the customer’s needs and fitting the initial budget. We can achieve this either by excluding minor features, applying another technology or service securing a similar result or by simplifying the approved scope of the project.
In addition to laying down the project functionality, we also use the project planning stage to create wireframes.
Wireframes are a set of application screen layouts showing how different screens are related to the application.
Wireframes are used to represent the visual concept of the solution and help to confirm that all the required components have been included in the project scope.
The next step after creating the project wireframes is a design. The design includes the color theme, the animations to be implemented, as well as other details of the application appearance.
During the design discussion, we listen carefully to our client’s preferences in respect of the visual elements and try to create the application features corresponding to the client’s expectations.
Basic project documentation
- User Story is a description of a particular application feature from the point of view of the end user. User stories usually have the “as a user, I should be able to do this or that” format explaining precisely what the feature should achieve. Through user stories, we ensure a more in-depth understanding of a particular function and the accurate description of its purpose.
- Detailed Estimation is a document created based on the client’s requirements for the product and containing the list of tasks to be completed during the project development. The detailed estimation indicates the total time required to deliver the project as well as its budget.
- Project Plan is a document based on the precise project estimation where the entire project scope is divided into sprints. For each sprint, we define the start and end dates as well as the total hours needed to complete the sprint. Also, the Project Plan lists the features to be implemented in each sprint. With the help of the Project Plan, the client can monitor the project development progress and its delivery date. In addition, the client can check the Project Plan to see at which point a particular feature will be implemented.
- Technical Requirements is a document laying down the technology required to build the project – the programming language to be used (if a particular language is preferred or recommended), the programming flow, the third-party components, and their APIs, if any, etc.
To sum up, project planning produces a set of materials describing the functionality of the application to be developed, the development specifics, the estimated schedule, and the general application concept.
The project planning stage includes all preparation works needed for the development to begin.