For organizations that continue to operate under waterfall processes, working with a vendor that follows an agile framework on a mobile app development project can be difficult. Where waterfall focused businesses are accustomed to receiving numerous reports on project status, delivery dates, and timelines to support lengthy decision-making processes, agile businesses spend less time focusing on writing these reports and more time on delivering value to the customer quickly.
It’s the lack of structured reporting that makes waterfall enterprises wary of agile development methodologies. It’s unfamiliar, and with no clear cut delivery date for a final product, no reports, and promises of deliverables in just two weeks, many enterprises question the management of timelines and scope.
This post will breakdown how both timeframe and scope are approached in agile software development and what enterprises can expect when working with a vendor that follows an agile framework.
Project scope in traditional waterfall environments, is defined early on in the project planning phase. The project scope involves determining and documenting a list of specific project goals, deliverables, features, functions, deadlines, and costs. Ultimately this list of requirements outlines what needs to be achieved to deliver a successful project. However, what waterfall management processes don’t take into account is that requirements sometimes change as a project progresses.
The waterfall methodology argues that change should be minimized and avoided. Leaders who still follow this methodology worry that complete flexibility and continuous change to requirements (as is common in agile) can lead to scope creep. In the waterfall methodology leaders often postpone any changes in scope for a future project. While this may be seen as a way to mitigate scope creep, it instead poses the risk of releasing a product that no longer meets the needs of the user.
In an agile development environment, the project scope is seen as a variable. This approach allows for changes to be assessed throughout a project, so that project teams can immediately and incrementally incorporate learning and feedback to develop better products. Because of this, the scope is redefined at the start of each sprint, allowing teams to address and prioritize which requirements and changes to focus on, and which requirements and changes are lower priority and will stay in the product backlog for future consideration. This should ease the mind of leaders worried about scope creep in agile development as the natural process of reprioritization and planning at the start of each sprint ensures teams stay focused on meeting the most important requirements to minimize delays to the project.
The question of how long a project will take to complete is dependent on an array of variables that include the scope and requirements of a particular project. Most mobile app development projects, for a single platform, can take several weeks. Depending on the complexity and scope of the project, development can even reach upwards of 16 weeks. While the waterfall methodology sets a final date to deliver a fully completed project, agile development releases a deliverable at the end of every two-week sprint, continually improving and building on the last deliverable until a final product is produced. With an infinite amount of changes being considered in agile, waterfall leaders are often unsure of what to expect in terms of receiving a final product.
No amount of planning, scheduling or setting deadlines is going to make app development predictable. So instead of obsessing over dates, agile development focuses on delivering a usable product to customers every sprint. While it may take a while for waterfall enterprises to see the benefit in this, once they see that a product can be delivered in a two-week sprint, they will begin to see how this reduces the risks of mobile app development more than any kind of planning can. Instead of promising to deliver a fully complete product in four months without testing, and the possibility of technical and functional issues, agile ensures a well-tested and fully functional product is launched to market. To better understand and determine how an agile vendor such as Clearbridge Mobile approaches time frames, it is important to look at the phases each sprint will go through.
Each sprint goes through the following phases:
This is the planning phase of the sprint. The team needs a thorough understanding of what is feasible to build within the scope of the requested development mobile app project. Product discovery and definition helps teams prepare project goals and understand the business outcomes and requirements the product will accomplish. It is the process of determining what the problem is, how to solve it, and how to measure progress.
There are many roles within an agile team. At this phase, the solutions architect will work to understand the requirements needed to create a solution and then plan and implement the design activities required. They are responsible for Unified Modeling Language (UML) diagrams, technical flow, and stacks, product stability, as well as reusability and scalability solutions. Testing begins concurrently as features are developed.
Additionally, with the continuous testing nature of agile development, changes resulting from defects or bugs can be discovered and rectified almost immediately, reducing the risk of late-emerging issues impacting the project schedule.
During this final phase, the product is tested against all requirements. The project manager is responsible for the successful initiation, planning, design, execution, monitoring, controlling, and closure of the project as it goes to market. Once the product is delivered to the market, user interactions are closely monitored to identify the opportunity for feature improvement.
Ultimately, the specific nature of a project is what will dictate the scope and timeframe of a project, regardless of the development method. The agile development methodology requires an integrated, collaborative process that differs from the traditional waterfall method and allows for the development of higher-quality, market-ready products. Understanding that the process is iterative allows for a better understanding of how to determine the scope of a project, allocate resources, and determine budget and timeline.