METHODOLOGY FLEXIBILITY AS ONE OF THE KEY PROJECT MANAGEMENT TRENDS IN 2020
Project managers are in a perpetual search for the best methodology. First, there was Waterfall; then there came Agile and “all his children.” For several years PMs, PPMs, and PMOs across the globe are struggling to blend Waterfall and Agile methodologies while implementing large-scale software solutions. While IT departments have recently recognized the benefits of Agile ideology for the development and implementation of software solutions.
But can every organization transform into a fully Agile organization? Let’s find out.
Ups and Downs of Waterfall
The benefits of employing a Waterfall approach to project management include the ability to estimate all of the work required to complete the project, assess costs of and resources necessary for that work, and finally control the costs and work throughout the project lifecycle. The integration of subject matter experts from the organization into the project team and the clearly defined work structure allow for continuous control and planning activities as the implementation proceeds. The Waterfall method is “one of the simplest software process models for application development, but it is also known for its ease of implementation in the field of software development. For example, the model is designed in a linear fashion wherein you move to the next phase only when the current phase is complete, which promotes the definition of a clear work breakdown structure and the end goal early in the PLC and facilitates the measurement of progress.
Challenges with a Waterfall approach include the methodology’s inflexibility towards change, the amount of rework on a typical Waterfall project, and unpredictable software quality due to the delay of testing until late in the project. While there are numerous tools available for Waterfall project management, they do not supersede the need for adequate project and portfolio models and clear, consistent leadership driving the efforts. Some researchers and practitioners identify a lack of systematic portfolio management in organizations that use Waterfall methodologies for project management because the projects of the loudest advocates were prioritized rather than the executive board prioritizing the most critical projects based upon documented criteria. Resource management can also be inconsistent with Waterfall projects because the limited number of the best people are responsible for most of the tasks.
Projects Where Waterfall Works Best
The traditional approach is more appropriate for projects that have clearly defined user requirements at the beginning of the project and identified project goals, which also means they have low levels of uncertainty. Waterfall methods will likely be successful in these projects due to the flat rate of change expected and less need for user involvement. These projects will follow a linear and predictable path based on the initial plan, and the focus will be on optimizing the efficiency of the execution of project activities. The traditional approach is also optimal when formal documentation is a strict requirement, and operations are routine and predictable, such as in construction and engineering projects. The classic control cycle and well-ordered project system of traditional project management may not be optimal for design and development projects that require a more iterative nature. The tactical-level approach of traditional techniques works well for operational issues that have clearly defined objectives and constraints. Waterfall works best in projects with developers that work on the entire solution as one significant deliverable, customers that have minimal involvement after the initial specification of their needs, and communication that occurs primarily through formalized documentation that codifies both process and product knowledge.
Agile: Pros and Cons
The field of Agile project management arose as a response to the increasing complexity within Waterfall projects that also experience uncertainty around outcomes and changing goals. Agile project management is defined as “a highly iterative and incremental process, where developers and project stakeholders actively work together to understand the domain, identify what needs to be built, and prioritize functionality.” This approach allows IT developers and stakeholders to evaluate functional priorities and adjust requirements accordingly continuously.
The Manifesto for Agile Software Development contained twelve principles and four values and expressed the underlying ideology of Agile software development. The practitioners’ goal was to increase the quality, enhance flexibility, and accelerate time to market. The Agile Manifesto creators sought to address limitations of traditional software processes, such as the lack of efficacy within traditional project management methodologies in effecting change during a project or taking advantage of new opportunities as they emerge during the project lifecycle. The four values of the Agile Manifesto are as follows:
- “Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
The benefits of Agile methodologies include the following:
- Enables radical breakthroughs while retaining the benefits that accrue with operating as part of a parent organization
- Delivers the most valuable innovations earliest in the project
- Facilitates the rapid increase of team happiness
- Enables team members to develop general management skills.
While Agile methodologies have many pros, there are also recognized challenges. For example, companies that rely solely on mainframe technologies may find it challenging to assimilate agile methods compared to those that use object-oriented development techniques. Agile requires an investment in tools that support the fast pace and facilitate the iterative nature of Agile development techniques such as versioning management and refactoring, as well as the training required, so that project members use the tools correctly.
There are many barriers, both real and perceived, to implementing Agile processes. Variability in development approaches and deliverables is a concern. When both agile and traditional teams are developing software for the same product, they can develop radically different artifacts that might not integrate easily. Similarly, using Agile processes for legacy systems raises multiple issues, including the difficulty in disassembling a system in a way that accommodates incrementally built replacements and the challenge refactoring the embedded business processes that are now institutionalized in the PM culture.
Projects Where Agile Works Best
Agile project management is better suited for creative, innovative projects, such as new innovative product development projects. These projects share similar characteristics, such as high levels of uncertainty, unclear project goals, and incomplete up-front requirements. Iterative Agile methods will likely be successful in these projects due to the frequency of changes, need for close collaboration, feedback loops that focus the customers on their precise requirements, and frequent updates to the project plan. An iterative Agile approach is beneficial when fast implementation is required due to time constraints.
Hybrid Methodology And All Its Perks
Hybrid project management arose out of the desire to realize the benefits of Agile methods while still maintaining some of the structure of Waterfall methodologies. Hybrid project management is defined as “the borrowing, mixing, and blending of the processes from both agile and plan-driven methods to tailor project specific methodologies.
The benefits of a hybrid methodology include flexibility for the project team to customize a project-specific combination of methodologies. For example, it is perfect for a project with low overall variability where the customer has put an extremely high value on the product. So, the project team may choose Agile development methods and frequent user engagement and testing. In combining the iterative approach in development and testing with Waterfall PLC management and a phased progression, such a project will succeed.
Overall variability is determined through the combined variability of three factors: tasks, the capability of the assigned human resources, and the technology being used by team members to develop the project’s deliverables. The same characteristics that are evident in Waterfall or Agile project management methodologies may be found in hybrid project management, but are applied to a project on a case-by-case basis. However, the blending of Waterfall and Agile methods can prove challenging. For example, a software project performed by a small IT firm that was used to Agile processes for a large bureaucratic company that was used to employing Waterfall methodologies. While the bureaucratic customer organization required the formal documentation commonly found in Waterfall project management, the Agile IT firm’s reliance on tacit knowledge did not satisfy this requirement.
The Agile IT firm needed to document their knowledge in a manner sufficient to satisfy the bureaucratic company’s existing business processes. Other areas of dissimilarity between Waterfall and Agile that necessitate conscious choices rest in the categories of expected changes to requirements. In these cases, you should choose whether to scale a project to a small size to accommodate Agile or to go larger where Waterfall works better. The principles of either traditional or Agile project management can be implemented in most team-structured environments.
Best Practices in Implementing a Hybrid Approach
Hybrid project management borrows, mixes, and blends techniques from Agile and Waterfall methodologies to tailor a project-specific method. Hybrid project management arose out of the desire to facilitate the benefits of Agile methodologies while still maintaining some Waterfall structure. The customized, project-specific combination of methodologies is a benefit of the hybrid approach that requires flexibility on the part of the project team and will better prepare organizations for innovation.
If you want to blend different methodologies to boost the efficiency of your PMO, it’s better to do that with the right tools. Of course, Agile methodologies require specialized environments^ such as Jira or Azure DevOps, and enterprise project management systems such as Project Online may be a good fit for large waterfall projects. Otherwise, first step in implementing hybrid approach is to use appropriate tools for every project and team. But how to make it all work together? How to control all the work in different systems?
You can use tools such as PPM Express, which allow to integrate the data from all project management systems, manage statuses and progress, plan resources and do other administrative tasks from one single place.
Tailoring a Hybrid Approach
Hybrid approaches generally use a traditional approach as the initial framework, which is then refined by adding Agile components. For the specific case of developing applications for mobile systems, an optimal hybrid approach design includes an Agile focus on solution requirements and then validates the results against those requirements.
Designing the correct hybrid mix for an organization includes:
- Selecting the design engine
- Devising an artifact-oriented chain
- Building the process around it
- Composing a process around an existing pattern
- Integrating features and techniques from existing methodologies
- Applying the design chosen to define the method according to the current scope
- Iteratively refining and revising the plan to accommodate changes throughout the lifecycle.
- Specifying the scope of each iteration
- And revising and reprioritizing the requirements at each iteration.
When selecting an approach, the practitioner must know when to lean on each methodology they choose to include in the hybrid. The traditional approach is more appropriate for projects that have precise user requirements upfront and identified project goals, which also means they have low levels of uncertainty. Waterfall methods will likely be successful in these projects due to the flat rate of change expected in these projects, along with less need for user involvement. These projects will follow a linear and predictable path based on the initial plan, and the focus will be on optimizing the efficiency of the execution of project activities. The traditional approach is also appropriate when formal documentation is a strict requirement, and operations are routine and predictable, such as construction and engineering projects.
On the other hand, Agile project management is better suited for creative, innovative projects, such as new innovative product development projects *. These projects share similar characteristics, such as high levels of uncertainty, unclear project goals, and incomplete up-front requirements. Iterative Agile methods will likely be successful in these projects due to frequent change orders, the need for close collaboration, the feedback loop that focuses the customers on their exact requirements, and regular updates to the project plan. An iterative Agile approach is beneficial when fast implementation is required due to time constraints