Creating an app or a mobile product requires
- the conceptualisation of design, ideas, and content
- writing robust code that will also be “easy enough” to work on, later – when the inevitable changes come.
- many hours of testing, tweaking and fine-tuning and
- making sure the client, team and internal stakeholders expectations all stay aligned regarding progress, timelines, features and budget
In addition to these tasks within the team, are the relationships that feed into the team; the customer and the end users. To ensure successful product development, the focus must be on continuous communication. With over a decade of creating successful products used by millions across industries such as Fintech and eHealth, we have discovered that for us at Polymorph, Agile is the best methodology to create the success we have had.
Agile is an approach to product development that divides the process of creating a product into a series of development cycles. Each of these cycles consists of subtasks which are seen as separate mini projects for the team. These subtasks are solved and validated before moving onto the next phase of development. Polymorph’s Agile App Development Process focuses on flexibility; to deliver the right product with the right features to the market.
We choose the Agile Methodology for many reasons but here are three central ones:
- Agile allows us to focus the team on adapting to new requirements as they are discovered, rather than trying to predict what the end user wants and building that assumption. This adaptive approach allows Agile teams control over unpredictability, meaning that the product created is validated and when it goes to market many of the challenges that would have hindered its integration are already dealt with.
- Agile is people oriented, not process oriented, in two distinct ways. Firstly, the skill within teams are more important than the process and allowing teams, not processes, to lead, means that we find the tools required for the problem at hand much quicker than traditional product development which is narrowly focused on one type of process. Secondly, we are always looking to the customer and end user for more information. Thus, ensuring a product that answers a need, solves a problem and delights the user.
- When the team isn’t focused on the end user, flaws can become failures, but placing the product into the end user’s hand early in development moves flaws to learnings that can shift a product from failure to success. Iterations are done in one month cycles or faster, which means that frequent feedback loops keep the product development on track and focused.
Of course, like all methodologies, Agile has critics. One such criticism is that it creates a low quality finished product in two ways; lack of overarching architecture and low quality coding. The focus on subtasks is blamed for not planning out the whole product. If this happens, it is usually because the Agile Methodology has been implemented incorrectly. When done right, Agile engages in subtasks as well as constructing the whole. Ensure that the Product Owner and the Scrum Master are closely aligned and this should not be a challenge.
Critics state that coding is of a poor quality as developers are more focused on rapid adaption instead of good code. This has not been my experience as bad coding is not permitted just because development is done in fast iterations. In fact, many times, we have found that our products are less buggy as developers have time to focus on solid coding in each iteration. The reason is that each phase focuses on strong iterations that are built on instead of trying to get out the entire product at once.
After over a decade of using and refining Polymorph’s Agile App Development Process, I strongly believe that the Agile Methodology at the core of our process keeps the customer central to the development, allows for an early release to the market, creates a short feedback loop which means faster decision making, as well as many other great benefits to the customer, end user and development teams.