Striking a balance. Releasing agile potential in V-cycle environments

Jul 26, 2024 by Andreea Simona Grigorovici

 

In brief

  • The V-model was designed with rigidity in mind to keep projects advancing in a logical sequence by insisting one stage is completed before the next begins
  • As a group of methodologies Agile displays a strong commitment to continuous improvement, embracing flexibility, it prioritizes responsiveness to change 
  • Agile estimation, the process of measuring how much time and effort a project/task requires, is used to improve decision making, manage risks more efficiently, and ultimately learn how to adapt to change effectively 
  • Although the two approaches might seem diametrically opposed, finding a balanced combination of both can provide flexibility within the strictness of waterfall projects like the V-model   

 

What is the V-model and its advantages?

                                   

The standard software development process used in the automotive industry is called V-cycle (also known as the Verification and Validation Model). This model splits any software development process into two phases like two converging paths meeting at the peak of a V. The left side of the V contains the requirement analysis, function/software design and change management, while the right side of the V concentrates on the main verification and validation activities.

The V-cycle method was initially created for usage in the industrial sector, then spread widely to IT sector in the 1980s. Having its origins in the conventional waterfall model, a sequential engineering approach, the V-Model traces its roots to a linear progression where each stage requires completion before advancing to the next one. It gained traction in the engineering realm in response to the escalating complexities of products or systems, necessitating heightened testing and analysis for robust project development.

The V-model offers several strengths that make it a valuable approach for engineering projects. Following the clearly defined steps to small increments of software development allows for testing earlier in the process, while this helps with finding any existing problem earlier in the development stages, this also sets a rigid way of working. Nevertheless, because each of the team members knows exactly their role and what their responsibilities are, a boost in productivity can be seen in the projects where this model is used. Another advantage is the transparent process of the entire project life cycle, thus enabling the definition of a budget framework starting from the initial design stage.

However, the V-model also has its weaknesses which can push projects to adopt other management methods. It relies on requirements which are assumed to be known and stable from the start of the project, which is more often than not a false assumption. This can lead to problems when the requirements change over time, during the development process. Nowadays, the market and the economic context are in continuous change.
Moreover, the V-cycle method is rigid, and does not consider unexpected events which can occur at any time. Another drawback is that communication inside the teams is almost non-existent as each team member has their own role and always relies on documentation whenever a problem is encountered.

All these drawbacks can be addressed with using the Agile model, however the choice between the two depends on the context and project requirements.

 

What is Agile and what are its advantages?

 

The Agile approach emphasizes on open communication, adaptation, collaboration, and continuous improvement. In 2001, through the publication of Agile Manifesto, Agile was born as a methodology and since then many Agile frameworks have emerged (e.g., Scrum, Kanban, Lean, etc.).
Projects usually combine practices from different frameworks, and even add their own perspectives to achieve their purpose. The application of Agile within each team is unique to their needs and organizational culture.

Agile, at its core, is a collaborative and iterative project management methodology. The project is divided into smaller batches, each of them following a cycle of planning, execution, and evaluation.
There is a misconception that Agile is defined by the ceremonies and specific development techniques, rather than that, Agile is a group of methodologies that display a strong commitment to continuous improvement. Embracing flexibility, it thrives on adaptability, fostering a dynamic approach to software development that prioritizes responsiveness to change. The Agile methodology brings forward a focus on delivering quality results and improving customer satisfaction. Teams are encouraged to be open to changing priorities, goals and even culture when necessary, to provide better results.

The Agile method is an attractive project management methodology because it brings some big advantages. Firstly, by enabling swift responses to changing requirements, it guarantees that projects adapt to a rapidly evolving landscape. The iterative nature of Agile leads to continuous improvement of projects, resulting in a faster time to market for results in a dynamic business environment. This also reduces the risk of project failure if the market or customer needs change. Moreover, by applying the Agile mindset, one is making sure that results are continuously delivered, not just at the culmination of the project. While results are important, projects are built around motivated individuals who bring talent and technical expertise and collaborate towards a common goal. Fostering a culture of transparency, teams tend to work better in a medium where communication, idea exchange and constructive feedback is valued and implemented.
Agile brings back the focus towards the team as a cohesive unit, comprised of motivated individuals who take ownership of their work, leading to a more engaged and motivated workforce.

While Agile brings a multitude of advantages, ultimately the choice between Agile and V-model depends on project requirements, stakeholders’ preferences, and needs.

 

Adapting to change through estimations

 

As we explore the advantages of both V-cycle and Agile methodologies, it becomes clear that continuous improvement is a catalyst for streamlined development. However, one vital aspect the Agile framework revolves around estimations, which is a practice that plays a crucial role in planning but also serves as a strategic tool for navigating the ever-changing landscape of project development. Agile estimation is the process of measuring how much time and effort a project requires. The purpose of estimating project tasks is to improve decision making, manage risks more efficiently, and ultimately learn how to adapt to change effectively. Establishing a proper and efficient estimation technique, that aligns with the project needs, can lead to reduced costs and more accurate planning.

 

Types of estimations in Agile projects

 

Usually, estimations can be made for time or for complexity. Complexity estimation centers on assessing the intricacy and challenges associated with individual tasks. It involves understanding technical complexities and dependencies. Complexity estimations are often expressed in abstract units like story points. Contrastingly, time estimations in Agile involve predicting the amount of time it will take to complete a task, this is expressed in time units (such as hours, days, or weeks).

Agile methodology offers a variety of estimation techniques that can be used in the development of projects. However, three significant types are presented further:

 

a. Planning poker

Planning poker is a card-based system of estimating the effort in Agile. In a planning poker session, each member uses a set of cards with values for time or for complexity. The leader of the group (sometimes the Scrum Master) names a component of a project for the group to discuss for estimation. The discussion clarifies any uncertainties, and after it each member chooses one of their cards they feel best represents the estimation. Everyone shares their cards and discusses further the reason for their choice. This process is repeated until a common estimation is reached.

 

b. T-shirt sizing

T-shirt sizing is a simple process where teams assess each component for estimation, assigning a designation according to common T-shirt sizes covering size from extra-small to extra-large. The group discusses each item when presented, then decides on a consensus placement for the item. This allows the team to sort tasks by size and provides an overview of the expected work ahead. Moreover, templates for T-shirts can be used as reference points, this can help the team align to a specific known instance.

 

c. Three-point method

The three-point method is an average-based estimation framework. When evaluating the size of a task, the team creates three estimations based on three scenarios. An optimistic estimation for a best-case scenario, a pessimistic estimation for a worst-case scenario, and the most realistic estimation, which represents the best guess for the actual effort required, not considering possible challenges that can appear unannounced.
To reach a final estimation, the team can either find the basic average by adding all three estimations together and dividing the result by three, or the team can use a weighted average. This entails calculating the most probable outcome multiple times, such as summing the optimistic and pessimistic estimates and then multiplying the most likely estimation by four. The final step involves dividing the total by six.

 

How can Agile estimations be applied in an environment with V-model history?

 

Integrating Agile estimation techniques into waterfall-based projects (such as V-model) shifts the focus towards breaking down requirements into more manageable units comparable to Agile User Stories. The collective expertise of team members can be used to measure effort and complexity of work. This principle fosters a collaborative environment where divers’ perspectives contribute to more accurate estimations. The incremental approach within the V-model structure allows for iterative development cycles which enable teams to revisit and refine estimations as the project advances. This adaptability is important, especially during regular project reviews or when unexpected challenges arise. Investing time and employing effective techniques for accurate estimations ensures the project’s progression and continuous improvement. As the teams gain a deeper understanding of the project, estimations will improve if the change is embraced. Furthermore, the collaborative approach to estimating encourages open cooperation and communication among team members, thus ensuring that diverse insights are considered. Integrating risk assessments into the estimation process acknowledges uncertainties and allows for the inclusion of contingency plans. Thereby, the tools which are typically designed for Agile project development can still be used to maximum advantage within the waterfall framework. This can also include digital platforms that support Agile practices, facilitating estimations, tracking and even collaboration within teams. The goal is to strike a balance between the approaches that enhance adaptability and responsiveness, without completely deviating from the V-model structure and objectives.

 

Conclusion

 

In conclusion, integrating Agile practices into waterfall-based projects is possible. Integration of Agile estimation principles emphasizes the importance of breaking down tasks, employing relative sizing and fostering collaboration for more accurate estimations. Furthermore, projects can benefit from adaptability in planning, collaboration techniques and the usage of Agile tools within more traditional frameworks. By embracing a more collaborative and flexible mindset, teams can enhance their ability to navigate uncertainties, refine estimates iteratively, and ultimately contribute to more successful project outcomes. The potential for synergy between Agile and waterfall methodologies allows for a more adaptive and responsive project management approach.

 

References

  1. www.atlassian.com/agile
  2. builtin.com/software-engineering-perspectives/v-model
Andreea Simona Grigorovici , Software Developer

Andreea Simona Grigorovici author linkedin

Software Developer

An IT professional with over five years of experience. For the past two years, she’s been working as a technical team lead for an automotive project at Luxoft Romania. She’s passionate about delivering high-quality work and always strives to improve her skills by taking on challenges and participating in various training sessions. In her free time, she loves to read and paint, finding these activities to be a great way to unwind and tap into her creativity. She believes that a well-rounded life is essential for achieving success in one’s career, and she strives to maintain a healthy work-life balance.