Two popular Agile methodologies for software development are the Timeboxed Adaptive Development (TAD) approach and the Continuous Flow approach.
The Timeboxed Adaptive Development (TAD)
approach is a time-based approach that divides the development process into fixed-time periods called sprints or iterations. Each sprint is usually two to four weeks long and involves a set of tasks or user stories that the development team needs to complete during that time. Examples could be DAD Life Cycle – Agile (Scrum based)
Characteristics of the Timeboxed Adaptive Development (TAD)
The life cycle is iteration-based, meaning that the solution is built incrementally in time-boxed iterations,
The Continuous Flow approach
is a flow-based approach that emphasizes delivering small, valuable increments of the product as soon as they are ready. Unlike TAD, there are no fixed-time periods or sprints in Continuous Flow. Instead, the development team pulls items from a backlog and works on them continuously, with a focus on delivering the most valuable items first. Examples of this are DAD Life Cycle – Continuous Delivery: Agile and DAD Life Cycle – Continuous Delivery: Lean
Characteristics of the Continous Flow Approach
It is highly effective approach for software development in specific scenarios. This methodology is particularly suitable for projects where the solutions can be delivered to stakeholders in a frequent and incremental manner. The approach works well when the work remains relatively stable within an iteration, allowing for consistent delivery of value to stakeholders.
Moreover, it is best suited for organizations that have streamlined deployment practices and procedures in place. This ensures that the software can be deployed efficiently and effectively, without causing any unnecessary delays or issues.
Projects that require getting value into the hands of stakeholders rapidly, before the entire solution is complete, are also ideal candidates for Continuous Delivery. This is critical for organizations that need to stay ahead of the competition and deliver solutions quickly to gain a competitive advantage.
The approach is best suited for teams that have mature DevOps practices in place, including continuous integration, continuous deployment, and automated regression testing. This ensures that the team can deliver high-quality software that is thoroughly tested and ready for deployment.
Finally, the Continuous Delivery life cycle works best for teams that are long-lived (stable) and working on a series of releases over time. This allows the team to establish a rhythm and cadence for delivering software, ensuring that the development process is consistent and predictable
Examples of Timeboxed Adaptive Development and Continuous Flow Approach
As a general guideline, feature teams benefit most from a mixed planning approach at the front end, using flow-based (Kanban-style) planning for customer-driven features and quarterly (timeboxed/Scrum) planning for large, strategic initiatives
Example of Timeboxed Adaptive Development (TAD):
Let’s say a software development team is tasked with building an e-commerce website for a client. The team decides to use the TAD approach to complete the project. They break the project down into two-week sprints, and at the beginning of each sprint, they select a set of user stories to work on. During each sprint, the team works on completing the user stories and testing them to ensure they meet the acceptance criteria.
At the end of each sprint, the team presents the completed work to the client for feedback. Based on the feedback, the team adjusts the plan for the next sprint, reprioritizing tasks or adding new ones as needed. This process continues until the project is completed.
Example of Continuous Flow approach:
Another example is a software development team working on a mobile app. The team decides to use the Continuous Flow approach to complete the project. They have a backlog of user stories and tasks that they prioritize based on their value to the customer. The team focuses on completing the highest-priority tasks first, and as they complete them, they pull the next highest-priority tasks from the backlog.
The team continuously tests and releases new versions of the app to users as they complete new features or bug fixes. They use metrics like cycle time and throughput to monitor their progress and identify bottlenecks in the process. The team holds regular retrospectives to discuss what is working well and what can be improved, and they make adjustments to their process based on these discussions.
Differences between both Agile Approaches
The key difference between Continous and the TAD is that the continuous delivery life cycle results in a release of new functionality at the end of each iteration rather than after a set of iterations. Teams require a mature set of practices around continuous integration and continuous deployment and other DevOps strategies.