Beyond Code: a Holistic Approach to Agile App Development
At Clearbridge, mobile app development doesn’t just mean coding and design. Our agile app development process is much more involved, encompassing strategy, development, QA, delivery, and maintenance.
We take this comprehensive approach because you can’t make a successful product without all of these aspects included. A product can be technically great, but will fail if it doesn’t offer value to users or there is no need for it in the market. Similarly, the unique value of the product can be clear, but the product will fail if the user experience is poor and there are defects.
We’re going to provide a high-level overview of how we approach product development at Clearbridge Mobile, demonstrating how considerations for a more holistic process can greatly benefit the quality of your product and its ability to succeed in the marketplace.
Product definition focuses on determining the goals of the product, mapping business objectives, market and competitor research, and creating a mobile strategy. At Clearbridge, product definition is completed in an intensive 2-3 day onboarding and project kickoff process, with a clear set of goals including:
- Creating a prioritized product roadmap
- Identifying business and technical challenges to be solved from a feature perspective
- Identifying success metrics and KPIs
- Discussing key questions or obstacles to success
At the end of this process, we provide a set of deliverables that include the user journey, user personas, storyboard, wireframes/sketches, and a visual app prototype.
Our onboarding process works to set the tone and priority of the delivery schedule for the project; ensures we have a solid foundation to build a successful, marketable product; and allows teams to make the decisions necessary to deliver a great product.
Our entire design process focuses on the end user. All decisions are made with the user in mind, which is why mapping out user personas during product definition is so critical. Understanding the user and their needs helps inform design that makes the experience with the app pleasurable and easy.
When we design a product, we focus on building an aesthetically pleasing but most importantly usable mobile app that offers a seamless experience. It doesn’t matter how good the product looks if it has a poor user experience. From product definition, we are able to take the discoveries and insights we made and apply them visually through a process of ideation, concepting, prototyping, and styling.
Agile App Development
Our custom app development process combines elements of various agile philosophies that allow us to create great apps, minimize downtime, reduce risk, and maintain predictable project velocity. The central tenets of our development process are described below.
Flexible, Squad-Based Development
Flexibility is an integral aspect of the agile methodology in theory, but not always in practice. Having flexibility is important because it allows you to shift and adapt to changing circumstances and project needs without affecting project velocity. The reason why so many teams struggle with it is that it needs to be instilled directly into the development process, which is no easy feat.
At Clearbridge, the structure of our development team and the processes we follow are designed to provide flexibility. We develop using squads; small cross-functional teams that plan together, share knowledge, complete code reviews, and have a known maximum capacity that allows us to scale up or down within that capacity based on project needs. There are a number of advantages to using this approach: knowledge transfer is seamless, development cycles are faster, downtime is reduced, and there is an overall reduction in project risk.
We also take advantage of rolling wave planning, which involves delaying product decisions until you are in the best position to make them. This allows flexibility to adapt instead of having to adhere to or re-plan a large requirements document that was drafted upfront.
Short Iterations (Sprints)
Sprints are a common agile development concept that involves short development iterations: in our case, 2 weeks. The purpose of sprints is to accelerate development and divide projects up into smaller, attainable goals that can be accomplished within certain timeframes. For example, developers will focus on building out a certain feature or closing out a certain number of tickets within the two-week timeframe, rather than trying to aim to complete an entire app by a certain date. This way, teams are more productive, time estimations are more accurate, and you don’t waste time or money in the event that products pivot or business objectives shift.
Story Points & Predictable Project Velocity
We plan and estimate capacity based on story points. Stories are small units that describe a feature from a user perspective. We assign values to each story using a points system that measures its complexity; the more complex the story is, the more story points it is given.
Squad capacity is also defined in story points. In other words, we know a squad has a maximum of, for example, 25 story points per sprint. This judgment is based on the past projects we’ve done that have allowed us to determine a consistent number of story points we’ve been able to get through in sprints from prior projects. This system allows us to more accurately estimate the time it will take to complete work and maintain project velocity.
Quality assurance serves the simple function of keeping bugs out of the final product. QA at Clearbridge is integrated with development throughout the project lifecycle, which helps reduce delays and bottlenecks and ensures that defects are corrected as they are discovered.
We use a combination of testing practices including cross-developer verification (code reviews and unit testing) and have a dedicated product team that handles client verification. Additionally, we use a continuous integration system that compiles projects, checks for errors, and distributes the app to the product team for testing.
When the application is ready to be published, we also handle the submission process to the appropriate app stores. For iOS, in particular, this is an important yet overlooked phase that many don’t consider in project timelines, but definitely should. If done incorrectly, having your app accepted into the App Store can take up to a week, in some cases longer if the submission is rejected.
At Clearbridge, we have a product release manager that assembles all the assets, optimizes your app listing, and completes the submission process according to the guidelines of the app store being submitted to.
Ultimately, looking at your mobile project beyond the scope of development is important to creating a better, more successful product. While from a technical and design perspective, it needs to be sound, you should also need a corresponding mobile strategy, a clear value proposition, an understanding of your users, and a process for testing and delivery. Taking this holistic approach is what could be the difference between failure and success in the highly competitive app ecosystem.