Stage 3. Project Kick-off & Setup
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 Innopolys, 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.
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 Innopolys, 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.