In agile mobile app development, building a product should be a collaborative and transparent process. Our process is inspired by common agile philosophies such as Lean and Kanban, which help us deliver compelling mobile experiences for our users. Our custom squad-based development process at Clearbridge Mobile consists of 5 key components: product definition, project management, design, development, and QA that work together to promote flexibility, risk reduction, and predictable project velocity.
Our squad-based development process allows our team to plan together, exchange feedback, transfer knowledge, and review each other’s work. Each squad consists of a mobile application architect, product owner, quality assurance, developers, and a designer. This team works together to achieve better team efficiency, eliminating risks and biases and allowing for more transparency.
A squad-based approach offers a lot of advantages that help us deliver quality products:
These advantages allow us to deliver better products more quickly with predictable velocity and fewer risks.
Our first step with every project is establishing product definition, which sets the framework for efficient product development. Next, we move right into sprint planning:
Prior to the sprint beginning, each squad conducts a sprint planning session which lays out the goals for each sprint, the division of the work, as well as the features needed to complete the sprint. The squad reviews the product backlog and organizes story points which have already been prioritized during product discovery. The Product Owner reviews the roadmap, determines the hours required for each task, and capacity for features to include in the next sprint. We use a strategy commonly known as rolling wave planning, which lets us plan the sprint using the knowledge and insight we’ve gained from previous sprints.
Splitting up the specifications into incremented epics and stories helps our developers manage their project with more control and a focused goal. Each story point represents a particular product feature(s) which we map on a project roadmap to guide our developers. Each story is estimated by the team, allowing for transparency with the timeframe for implementation and easily enabling us to track our progress. Depending on the complexity of the feature, it can be labeled as one story point or several.
After sprint planning, the squad moves into the execution of the project. Our development team consists of two parts: mobile (Android and iOS) who develop native apps and cross-platform frameworks such as Xamarin and Appcelerator. The second are full-stack developers who handle the application logic: back-end development such as database integration, web services, and API, as well as front-end UI.
At Clearbridge, our squads conduct daily scrums where each team member provides updates of their progress, what needs to be done next, and solutions to challenges that arise. The Product Owner organizes these stand-ups for the squad and answers any questions that the team may have. We welcome clients to join in on our scrums if they wish, but many choose to view progress through our project management boards, which they have full access to throughout the development of their product.
During development, we conduct code reviews to ensure that we avoid bugs being pushed into production. Another developer will review a section of code before it’s merged into the main development branch. In doing so, each developer reviews other developers work and their commits to ensure that it’s correct. Not only does this process allow the team to verify each other’s code but it also allows the reviewer to learn more about other features and provides a sense of overlap and knowledge transfer. This creates a better understanding of how they structure their code and creates more awareness of other product features that are being developed.
At the end of each sprint, our teams present their completed work to the Product Owner and the rest of the team. The Product Owner decides to either move forward with the next sprint or send it back to sprint planning. Clients are encouraged to participate in the end-of-sprint demos as well to provide us with their feedback. With this transparent approach, the client is involved throughout the entire project lifecycle.
At the end of every two-week sprint, we perform a retrospective of the challenges and how to improve our process for future sprints. This retrospective is shared with the entire team for a greater sense of transparency and knowledge transfer for future sprints and projects.
Our agile process puts both customer and client needs directly at the core of development in every project we work on. With this approach, project management risks such as scope, time, and costs are properly managed, producing a successful project outcome.