Agile Product Development: Speed & Adaptability in a Competitive World
What Is Agile Product Engineering?
Under an agile product engineering approach, multifaceted teams with expertise in design, development, operations, and various other fields collaborate seamlessly to enhance the overall user experience. Whether it’s streamlining mobile ordering processes or simplifying account setup, these teams are well-versed in agile methodologies that emphasize efficiency and momentum.
This involves breaking down complex initiatives into manageable two-week projects known as ‘sprints,’ conducting pilot launches of new products to gather invaluable user feedback, and swiftly assessing operational efficiency prior to scaling up. To crystallize their objectives, the teams employ design thinking techniques to gain a deep understanding of user needs and pain points.
This preliminary phase of work serves as the foundation for technology teams to successfully introduce their initial digital offerings on time and on budget, outperforming previous technology projects by achieving a three to fivefold increase in speed, according to McKinsey.
Principles of Agile Product Development
Agile product development is guided by a set of fundamental principles that encompass various aspects, including strategy, structure, process, people, and technology.
Strategy: The North Star of Value Generation
Agile organizations maintain a relentless focus on value throughout the customer life cycle. They achieve this by designing flexible and distributed approaches to deliver value, underpinned by a shared organizational purpose and vision—their “North Star.” This North Star serves as a guiding light, aligning all strategic and operational decisions within the organization. It defines not only why they do what they do but also how they do it. Establishing a clear North Star can be particularly transformative for product companies, creating alignment around value, target markets, customer criteria, and product features.
Structure: Stability and Mastery
Agile product development thrives on stable teams, where engineers work together for an extended period, typically one to two years. This stability enables team members to specialize and master specific skills, fostering efficiency. When teams are consistently assigned to functions across product applications, they develop in-depth knowledge and can identify opportunities for cross-product synergy. Furthermore, team cohesion helps maintain the performing stage of team building, leveraging individual strengths and weaknesses for more effective production.
Process: Iteration and Integration
Agile teams place a premium on rapid iteration and experimentation, often working in short, one- to two-week sprints. This iterative approach complements traditional stage-gate processes, providing the best of both worlds. Stage-gate processes offer a holistic view and milestone targets, while agile methods inform day-to-day operations. Many organizations combine these approaches, ensuring that flexibility and structure coexist harmoniously.
People: Empowering Ownership
The heart of any organization’s performance, whether agile or not, is its people. Agile transformation can unsettle employees by challenging traditional boundaries. To counter this, it’s essential to foster ownership, especially among engineers. By encouraging ownership at the team level, organizations can improve prioritization, predictability, and overall delivery rates, enhancing the efficiency of the production pipeline.
Technology: Digital Enablement
Agile transformation presents an opportunity to leverage digital tools that support teams in various ways. Collaboration software, knowledge management networks, and backlog management tools all enhance information sharing at scale, facilitating knowledge transfer and skill acquisition.
For a better illustration of agile product development principles, see the infographic below.
Agile Development in Practice
Agile Frameworks and Methodologies
Two major organizational frameworks within the agile domain are Scrum and Kanban.
Scrum is a widely adopted agile framework that provides a structured and iterative approach to product development. At its core, this framework runs on the principles of openness, scrutiny, and adjustment, all aimed at enhancing cooperation, adaptability, and the capability to effectively react to change. Scrum organizes work into small, time-boxed iterations known as sprints, typically lasting two to four weeks. During these sprints, cross-functional teams work collaboratively to deliver a potentially shippable product increment.
- Scrum defines specific roles within the team, such as the Product Owner, Scrum Master, and Development Team. These roles have distinct responsibilities to ensure clear communication and effective decision-making.
- Scrum employs several artifacts, such as the Product Backlog, Sprint Backlog, and Increment, to manage and prioritize work. The Product Backlog lists features and requirements, while the Sprint Backlog details the tasks to be completed during the sprint. The Increment is the potentially shippable product portion at the end of each sprint.
- Scrum introduces various events to enhance collaboration and inspect progress. Daily Standup meetings, Sprint Planning, Sprint Review, and Sprint Retrospective are some of the key events aimed at fostering communication and adaptability.
Kanban, on the other hand, is an agile product development framework focused on visualizing and managing the flow of work. It originated in manufacturing but has since been adapted for various industries. Kanban emphasizes gradual and evolutionary change, promoting continuous improvement and efficiency. Work items are represented as cards on a Kanban board, moving through different stages as they progress.
- Kanban boards are used to visualize work items, their current status, and the workflow. This visual representation lets teams promptly spot bottlenecks, optimize processes, and manage work-in-progress (WIP) limits.
- Kanban operates on a pull system, meaning that work is pulled into the system based on demand rather than being pushed onto the team. This prevents overloading the team and ensures that resources are utilized efficiently.
- Kanban introduces WIP limits for each stage of the workflow. These limits restrict the number of items that can be in progress at any given time, promoting a smooth and balanced flow.
Agile product management frameworks like Scrum, Kanban, and others are not unchangeable structures; they are intentionally crafted to be flexible and customizable to suit the specific needs of each project. A fundamental tenet of agility draws from the kaizen philosophy, a cornerstone of the Toyota production model, which revolves around the concept of continuous improvement. The primary objective is to extract insights from every iteration and fine-tune the agile product development process in response to these newfound understandings.
Successful Case Studies
Let’s move from theory to practice.
1-EA
Electronic Arts, a global game developer and publisher with multiple development centers worldwide, faced a significant challenge in managing and reporting resource allocations. The company had been relying on a single Excel spreadsheet to forecast resource needs for a limited number of projects, with planning restricted to a mere six months. Recognizing the limitations of this approach, EA sought to streamline and centralize its resource allocation process. This led to the inception of the Centralized Resource Actuals and Forecasting Tool (CRAFT).
Solution
We at Vodworks were tasked with developing a comprehensive platform to address the resource allocation needs of EA’s global operations. Our solution, CRAFT, was designed to provide end-to-end resource management, including scheduling, forecasting, and budgeting. Leveraging a tech stack consisting of .Net Framework, Angular, NHibernate, ADO.NET, SQL Server, Azure, Windows, and IIS and following the agile product development methodologies, we set out to create a transformative tool.
CRAFT’s primary objective was to optimize resource utilization, improve project planning, and align resource allocation with broader business objectives. This significant shift from the previous approach allowed EA to plan and allocate resources strategically on a global scale. The platform’s scalability and flexibility ensured adaptability to future changes, supporting EA’s efficient management of its global operations.
Challenges
One of the major challenges faced during the project was accommodating the diverse wishes and expectations of EA’s various stakeholders. Different teams, departments, and divisions had unique requirements for the platform, making it crucial to manage scope control effectively. To address this challenge, we adopted a strategy of frequent releases and engaged closely with stakeholders, crafting CRAFT into a remarkable tool that fulfilled the needs of each department.
Features
CRAFT was equipped with several key features to meet EA’s resource allocation and reporting needs:
- Reporting. The platform offered robust reporting capabilities, delivering valuable insights into resource allocation, utilization, and project progress.
- Role-Based Access. A role-based access system allowed different user roles to access relevant information and perform authorized actions, ensuring data security and user-specific access.
- Resource Forecast Allocation and Actual Allocation on Project: CRAFT facilitated the accurate forecasting of resource allocation for projects and allowed tracking of actual allocation against these forecasts.
- Approval of Allocation from Leads and Owners: An approval workflow ensured that resource allocation received the necessary authorization from leads and project owners before implementation.
- Resource Revisioning: The platform allowed for the revision and updating of resource allocation to adapt to evolving project requirements while maintaining effective resource management.
- Snapshot Mechanism for Resource Allocation: A snapshot mechanism enabled EA to capture and save the state of resource allocation at specific points in time.
Results
CRAFT has had a profound impact on EA’s resource allocation and management. At the time of writing, the platform has enabled the budgeting of over US$3 billion and is highly regarded by the EA team. Its satisfaction led to the phase 2 sign-off, which is currently in development.
CRAFT stands as a testament to the success of agile methodologies, continuous improvement, and effective collaboration, underscoring the transformative power of tailor-made solutions in addressing complex organizational challenges.
2-Cleverchain
Introduction
The case of Cleverchain highlights the successful development of a cutting-edge product designed to address Anti-Money Laundering (AML) and compliance needs for both individual and business entities. The product also offers continuous monitoring for risk changes, providing match likelihood and risk assessments.
Tech Stack
The product was built using the following technology stack:
- React
- Node.js
- Cassandra
- MongoDB
- AWS EC2
- AWS VPC
- AWS Internet & Nat Gateways
- AWS WAF
Our Role
Vodworks played a crucial role in the project by providing comprehensive end-to-end development services following an agile product development methodology. This encompassed project design, development, rigorous testing, and seamless deployment.
Challenge
The primary challenge in developing this product lay in consolidating information from diverse sources and merging it into a cohesive risk profiling system. This necessitated an intricate process of data collection, analysis, and integration.
Development Lifecycle
We followed a well-structured agile product development life cycle:
[object Object]0. Conceptualization. In this initial phase, we meticulously created and validated the product’s requirements against the core problem it aimed to solve. Additionally, we conducted small Proof-of-Concepts (PoCs) to validate the technological design, ensuring that it would align with our objectives.
[object Object]1. Design. During the design phase, we laid out the blueprint for the product, defining its architecture and user interface. This phase was critical in ensuring that the outcome would be both user-friendly and practical.
[object Object]2. Development. Following an agile development methodology, the actual coding and implementation of the product took place. This phase included the integration of unique features that set this product apart in the AML and compliance domain.
Features
The product boasts several essential features that empower organizations to effectively manage AML and compliance:
- AML Compliance. This feature ensures adherence to Anti-Money Laundering regulations, helping organizations maintain the highest standards of financial integrity.
- Screening & Risk Profiling. Entities, whether individuals or businesses, are meticulously screened and subjected to profiling. This comprehensive approach enables organizations to make informed decisions based on potential risks.
- Reporting. The product provides in-depth reporting capabilities, offering valuable insights into the risk assessment and compliance status of screened entities.
- Profile Monitoring. Continuous monitoring allows organizations to stay updated on the risk status of entities, enabling timely action in response to any changes.
- UBO Calculations for Shareholders. Ultimate Beneficial Owner (UBO) calculations provide clarity on each entity’s ownership within a company, supporting robust compliance practices.
Conclusion
Just like the previous case study, our collaboration with Cleverchain demonstrates the incremental power of tailored solutions and highlights the impact of agile development methodologies on realizing the most complex projects.
Things to Look Out for in Agile Product Development
Transitioning to an agile organizational model is undoubtedly a significant shift. It involves relinquishing traditional hierarchies and adopting a more flexible, customer-centric approach. However, there are crucial aspects that organizations need to be mindful of when embarking on this transformative journey, as pointed out in one of the McKinsey Podcast episodes.
Interactions between Agile and Traditional Teams
The coexistence of agile teams and traditional, hierarchical structures can pose challenges. Agile teams are designed to operate closer to the problems and customers, allowing them to make decisions within their defined scope. This speed and flexibility are central to agility. Yet, in an organization where not all parts embrace agile practices, friction can arise. These mismatches between the rhythms and objectives of various teams can hinder the scaling of agility.
Selective Adoption and Resistance to Autonomy
One common pitfall is the selective adoption of agile principles. Organizations may cherry-pick the most accessible aspects of agile, such as appointing Scrum masters or adopting some of the practices, but they often struggle to let go of control and grant autonomy to teams.
Empowering Autonomous Teams
Empowering teams to be autonomous is a fundamental element of agile success. In practice, however, organizations may find it challenging to let go of hierarchical decision-making. Managers, who are used to making major decisions, may resist the shift towards autonomous teams. The failure to appoint a clear product owner or to identify a representative customer can lead to fragmented decision-making and compromised sprint outcomes.
Subject-Matter Expert Allocation
Efficient agile teams require dedicated subject-matter experts. In many cases, however, these experts are overloaded with multiple projects, preventing them from fully committing to a single team. This results in a lack of focus and suboptimal sprint outcomes, ultimately hindering the expected agile transformation.
In essence, agile product development adoption requires a holistic approach that involves a fundamental shift towards empowering teams and reevaluating how decisions are made, as well as how resources are allocated. It’s not merely about adopting agile practices but transforming the organization’s culture, structure, and way of thinking to truly embrace agility.
If you’ve been in search of a software development partner with an agile mindset, we’re just one form away.
Subscribe to our blog
Get in Touch with us
Thank You!
Thank you for contacting us, we will get back to you as soon as possible.
Our Next Steps
- Our team reaches out to you within one business day
- We begin with an initial conversation to understand your needs
- Our analysts and developers evaluate the scope and propose a path forward
- We initiate the project, working towards successful software delivery