Stage 4. Project Kick-off & Setup
– Mobile & Web App Development Process
How does an App Development Kick-off look like? Why is it crucial for the success of your app? How will it introduce you to the role of a Product Owner? How do developers set up your project?
In this article, we will introduce you to an App Development Kick-off and Project Setup which takes place in the first Sprint. In every software house, it can look a little bit different, but for sure – it’s worth to go through this phase very carefully.
Let’s think about a football match. Before players start the game, the captain completes the team and set the positions – a goalkeeper, defenders, forwarders etc. Everyone knows his role and the role of his teammates. Players warm up, get to know the strategy, and listen to the last instructions from their trainer.
Without this preparation, they would play chaotically and blindly. We can compare that to the App Development Process. If you won’t kick off your project properly, you will feel probably like:
So let’s see, what the Kick-off Process means.
What does the App Development Kick-off mean?
You have already chosen a Partner for your project, your apps’ UX and UI design are ready. Now, you can start the cooperation with your team on your apps’ development. All that will be happening in this starting point, we call App Development Kick-off. At Droids On Roids, we usually go through it during one Kick-off meeting – but it can be split into more meetings.
Why is the App Development Kick-off so important?
You are going to be a part of the development team. You will work probably with people, who you don’t know. Maybe even it is your first time as a Product Owner.
So, as in a football team, together with your partner, you need to set the roles, the responsibilities, and the rules on the “playground”. Have a look, how can the process look like.
How does the App Development Kick-off look like?
After completing the App Development Kick-off:
- You know everyone from your team, and the team knows you
- You are introduced to the role of Product Owner
- You are aware of each other’s roles
- The rules, you want to follow, are set
- You are introduced to the tools you will use (e.g. Slack, Jira, Confluence)
- Things to do are listed, described and prioritized
- Work for the first Sprint is defined
- Definition of Done* and Definition of Ready* are determine
Definition of Done – acceptance criteria used to assess when a task has been completed.
Definition of Ready – the set of minimum criteria that every user story has to meet before it is ready for inclusion in a next sprint.
What tools you will be introduced to?
An important part of the App Development Kick-off is your introduction to the tools. You will use them to communicate with your team and monitor their work. Have a look at what kind of tools can it be, and how the team prepares them for your project.
It is worth to notice, that the below-listed tools are very common, but they are not the only ones. So don’t worry if your partner would offer you different ones. Just make sure, if they meet your needs as a Product Owner.
Jira allows to plan, track, and release software projects. The team creates a new, customized Scrum board for your project, that will help you to stay focused on delivering iterative and incremental value. With Jira, you can create user stories and issues, plan sprints, and distribute tasks across your team.
✔️ Jira dashboard
The team configures for you a Jira dashboard where you will see reports showing summaries of worked hours, team’s progress, or the predicted release date. Below you can see an example of those report.
The team sets up a page for your project on Confluence which is a collaboration tool used to help teams to collaborate and share knowledge efficiently. Users can create pages which can be commented on and edited by all members of the team. So, it can be a place where the most important information about your project (e.g. contacts details, meetings summaries, or team members contacts) can be kept. It can be integrated with Jira.
The team creates a private channel on Slack dedicated to your project, so you can easily contact with every team member. Slack is a tool that allows users to communicate through channels organized by project, topic, team, or whatever you will need. For example, at Droids On Roids, we usually use e-mail communication for reports or sending longer pieces of information, and Slack for every-day discussions and instant messaging.
Hockey App is a tool for real-time bug tracking, app monitoring, and app distribution. We create a new app and set up permissions for Development Team, Product Owner and Stakeholders if needed.
How do the developers set up your project?
When App Development Kick-off is completed, you start the first Sprint. It is also the moment when developers set up your project.
These 6 steps are specific for mobile app development, but in the case of web apps, they look similar (with the exception of the third point).
Creating a repository for a project at GitHub or another web-based hosting service
The source code of your app has to be kept somewhere. On a computer of a developer? It’s not safe. It could be lost if the device will be broken. And it could not be easily shared with other developers and you. That is why the code is kept on cloud-hosted services where the code and its’ all versions are kept and archived. Creating a repository for your project means creating a space dedicated to your project on the hosting platform.
Continuous Integration setup
Every new piece of code has to be checked before it is merged into the project. It’s checked manually, but also with automated tests run by special platforms like Bitrise, CircleCI, or Jenkins. The process of automating the build and testing the code every time a team member commits changes is called Continous Integration.
At Droids On Roids, we use Bitrise. We also set up notifications on Slack, so we know e.g. if Bitrise detected some bugs in the code.
Setup a beta distribution tool on CI platform
Hockey App, App Center, Fabric – these are a few examples of tools that help you to collect live crash reports, get feedback from your app’s users, or distribute your betas. To say simply – they take care of the quality of your app. At Droids On Roids, we add a Hockey App step to Bitrise.
Choosing a code architecture, libraries & SDKs
Developers choose the code architecture for your project (e.g. MVP, MVVP, VIPER, MVC, Clean Swift). Code architecture can be compared to the construction of a building. It is not visible outside when the building is finished, but it decides about the shape of the object and its’ solidity. If it is built wrong, then the whole building can collapse.
What is more, developers choose also libraries & SDKs (Software Development Kits) which they will use in your project. Other words, SDK is a set of software development tools useful in apps’ creating.
Setup project in IDE (Integrated Development Environment)
Developers set up your project in a program that they will use to write the code – e.g. Android Studio for Android Apps, or XCode for iOS Apps. To the program, they add also outside SDK or libraries that will help them to optimize their work.
Register the app in Google Play Console, Firebase API Console, and other services if needed
If your app will use some third-party party components (e.g. Google Maps, push notifications), it must be registered on the suppliers’ services.
App Development Kick-off has a significant influence on the successful cooperation with your software partner. In short, it’s time to define your role as a Product Owner and to clarify every role in the team. What is more, Project Kick-off means also setting the rules you want to follow, and planning the work to do.
This article is a part of the series Mobile & Web App Development – 7 Stages You Need To Know which covers the following topics:
P.S. Special thanks to Artyom, Karol & Marcel from Droids On Roids team who shared their knowledge about project setup!
This article was published also on Medium.