Project methodologies explained: from “Waterfall” to “Agile”

As a freelance project manager, I was involved in many projects. A lot of teams are using the term Agile but are working in an “Inter-Sprint Waterfall” or “Intra-Sprint Waterfall” process. In this article, I will explain the difference between “Waterfall”, “Inter-Sprint Waterfall”, “Intra-Sprint Waterfall” and “Agile”

What is Waterfall?

First introduced by Dr. Winston W. Royce in a paper published in 1970, the waterfall model emphasizes that a logical progression of steps be taken throughout the software development life cycle (SDLC), much like the cascading steps down an incremental waterfall. While the popularity of the waterfall model has waned over recent years in favor of more agile methodologies, the logical nature of the sequential process used in the waterfall method cannot be denied, and it remains a common design process.

Find below the 6 stages of Waterfall.

Requirements: During this initial phase, the potential requirements of the application are methodically analyzed and written down in a specification document that serves as the basis for all future development. The result is typically a requirements document that defines what the application should do, but not how it should do it.

Analysis: During this second stage, the system is analyzed in order to properly generate the models and business logic that will be used in the application.

Design: This stage largely covers technical design requirements, such as programming language, data layers, services, etc. A design specification will typically be created that outlines how exactly the business logic covered in the analysis will be technically implemented.

Coding: The actual source code is finally written in this fourth stage, implementing all models, business logic, and service integrations that were specified in the prior stages.

Testing: This stage, QA, beta testers, and all other testers systematically discover and report issues within the application that need to be resolved. It is not uncommon for this phase to cause a “necessary repeat” of the previous coding phase, in order for revealed bugs to be properly squashed.

Operations: Finally, the application is ready for deployment to a live environment. The operations stage entails not just the deployment of the application, but also subsequent support and maintenance that may be required to keep it functional and up-to-date.

High-level overview of the Waterfall process:

Waterfall

What is Inter-Sprint waterfall?

An “Inter-Sprint Waterfall” looks like this: In one sprint, the business product owner, probably a business analyst and visual design team (UX/UI) are working on the “What” needs to be built. Since they are working “Agile”, they adopt some agile process. Requirements will be documented in user stories. The user stories are not treated like real user stories but more like mini-specification documents (or longer). The mini-specs/user stories are nearly conceivable about a given user story.

The whole sprint 0 is consumed to figure out and document the user and technical requirements. Grooming sessions are conducted, visual designs created, UX flows and style guides are created. A second sprint is added to develop the new features. Several documents are handed over to the programmers. Visual designs, spec documents, UX flows, etc. No programming can start until all defined artifacts are delivered. The programmers take an attitude of saying that they will build everything that is asked for. Some team members are sometimes a little more agile and develop all mini-spec before a user story is completed. Other team members think it is dangerous to work in an agile way.

The third sprint is used in some organizations for testing purposes only. In the Inter-Sprint Waterfall method, the test team is working 1 sprint behind the programmers. Fortunately, most teams realize that developers and testers need to work in the same iteration. They do not extend this to the whole team.

This leads to the process shown in this figure.

Inter-Sprint Waterfall

This figure shows a first iteration devoted to design. A second iteration (possibly slightly overlapping with the first) is devoted to development. And then a third iteration is devoted to testing. It might be your organization’s first step toward becoming agile. But it’s not agile.

What is Intra-Sprint waterfall?

People who used to work in an extensive waterfall development environment, and who are new to agile, often think that a sprint is a mini waterfall. It is not!

“We tried Agile/Scrum but it didn’t work”.

The team tried an iterative waterfall development approach. Same mistakes as described in the “Inter-Sprint Waterfall method” were made. User stories are too complex.

An “Intra-Sprint Waterfall” looks like this: In one sprint, the business product owner, probably a business analyst, and the visual design team (UX/UI) are working on the “What” needs to be built. Since they are working “Agile”, they adopt some agile process. Requirements will be documented in user stories. The user stories are not treated like user stories but more like mini-specification documents (or longer). The mini-specs/user stories are nearly conceivable about a given user story.

Once the requirements are done, the team will start developing during the defined time box. If the development is finished, that test team will do the validation within the same timebox. 

Intra-Sprint Waterfall

This approach might work if features are prioritized and time-boxed. A strong definition of done and to not deliver features that are incomplete.

What is agile?

Agile is a specific project management methodology, most often used by software developers and engineers. This Agile project management methodology is a time-boxed, iterative approach to software delivery that builds software incrementally from the start of the project, instead of trying to deliver it all at once near the end. Traditional project management techniques focus on achieving identifiable milestones using complex scheduling tools like Gantt charts. It works by breaking down projects into little bits of user functionality called user stories, prioritizing them, and then continuously delivering them in short two week cycles, called iterations.

Ideally, in an agile process, all types of work would finish at the same time. Constant feedback from the end users is asked to help developers and the product owner defining functionalities that would be integrated into the succeeding builds. The teams are Cross-Functional teams and work on interactions of a product over a time-boxed period. The work is organized into a backlog that has been prioritized based on the feedback of the clients’ needs. The backlog serves to constantly remind each team member that the goal of each iteration is to produce a working product.

The team would finish analyzing the problem at the same time they finished designing the solution to the problem, which would also be the same time they finished coding and testing that solution. Multiple features are analyzed, developed and tested by the cross-functional teams and are time-boxed. At the end of the iteration, a demo is held. The client is able to provide fast feedback. Based on the feedback, changes can be implemented and moved into production.

Agile

Agile management is not always the best choice for every industry, especially those involving long-term, complex decision-making processes. Agile allows managers and team members to make quick tweaks and adjustments. Problems caught before they progress too far or affect other areas of a project save a great deal of time and help businesses stay faithfully within budget.

The complete picture ‘Waterfall” vs “Inter-Sprint Waterfall” vs “Intra-Sprint Waterfall” vs “Agile”

Complete picture “Waterfall” vs “Inter-Sprint-Waterfall” vs “Intra-Sprint Waterfall” vs “Agile”

So what methodology would you use?

There is no need to say which methodology is better. You can choose the one that is the best for your project.

Take as much advantage as possible of what you know. Then you would take an iterative, trial-and-error-and-learn approach to find the best methodology.

Rob Gielen

11 Tips for New Project Managers

You have to be a bit of a renaissance person to be a successful project manager. You need skills and natural abilities that range from being a tactical problem solver to reading the nuances of human behavior. If you’re just getting started as a project management professional, then hat’s off to you! To help pave your way to a brilliant career, here are 11 tips for new project managers.Listen and engage. You can’t learn if you don’t listen, and this is a time to soak everything up. Pay attention to the landscape of your team; study your clients and customers; start to recognize the strengths of your teammates (an important skill for successful PMs). Then, take all that great listening, and engage with your team members and stakeholders in ways that matter to the project’s success. The more people you can get on your side from the beginning of the project—and your career—the more success you’ll have. Listening gives you material to use in building relationships.

  • Be a problem solver. Sometimes junior PMs (and senior ones) rush into the doing of a project before analyzing all the dependencies and identifying all the risks. See how much preemptive problem solving you can do up front to contribute to your team. And if you experience a project that goes awry in any way, put on your Private Investigator hat and find out the why-what-where-and-when of what caused the project to fail. The best lessons come from mistakes. But they’re only valuable lessons if you apply the learnings.
  • Be an effective team player. You want to both serve your team in your project’s best interest, and learn how to optimizing your team members’ expertise. Being a team player also means asking for help when you need it. You don’t want to be the person who waits too long to let others know there’s a problem brewing. Be a transparent problem-solver and let your team know the minute you spot trouble on the project. Be a pre-emptive thinker.
  • Know your project management tool. Whether you’re the one overseeing the project schedule, or you’re using collaborative project management software, make sure you know how to use the tool inside and out. Find ways to optimize the platform and encourage team members to participate fully, if applicable. If you think there’s a better way, take the lead to find a product that serves your needs better. Such initiative could win you points.
  • Know your customer. While it’s important to know who exactly you’re working for, it’s even better to know who your customers are as individuals and as an organization. Understand what your customer’s goals, vision and mission are; identify what they care about and how they like to communicate. Learn how they deal with change and project turmoil, or how they like to face conflict and solve problems—that kind of stuff. If you can react to your customers and clients in the most appropriate and meaningful way for them you could hear “promotion” before you know it.
  • Learn how to read people. AKA emotional intelligence, some people know how to read the mood of a room, but people skills can be learned. Learning about human behavior is (hopefully) a life-long process, but if you’re really good at it, or work really hard at developing your emotional IQ muscles, you’ll stand out among your peers in a big way.
  • Find a mentor. Mentorship is becoming a well-regarded and much-practiced path to career growth. There are many theories on what makes an appropriate mentor, but here are some options for mentor possibilities: co-workers, managers and former bosses, family members, teachers, friends, and a formal mentorship program. Or, in place of an official mentor, find someone whose working style you can model.
  • Enjoy taking on responsibility without full authority. One day you’ll be the person making all the big decisions—but don’t rush it. These are the golden days of opportunity, when you can take chances and learn in a forgiving environment without having to take the bit hit of responsibility. Savor it; your time will come.
  • Embrace change. Uncertainty is part of every project, so there will be many unexpected surprises in your project management career. You need to be flexible, adaptable and improvisational. Be the person who is ready for change and comes armed to the emergency meeting with strong solutions.
  • Get your Prince2 certification.Getting credentials can be an asset to any career. However, receiving your Prince2 has pros and cons. If you have the time, interest and company support it could be a great way to go.
  • Be kind, be honest, have a sense of humor. Being in charge doesn’t mean you have to take on a dictator’s personality. Treat people the way you’d like to be treated—with respect and as sense of humanity. After all, we’re all in this together.

10 Tips for Project Management Success

When it comes to project management, there are many challenges to keep each project on track and within budget. There are several factors to consider, as well as internal and external elements that may cause a project to derail. However, by taking a few precautions and having an excellent plan in place, you can lead your project to success. Here are 10 project management tips and tricks to help ensure your project will move along smoothly:

Tip 1: Nail Down Project Details
Before you ever start the project, make sure that it is based on a solid foundation and that you have the buy-in from all key stakeholders. Understand their interests and expectations and be aware of how they will determine whether or not the project is successful. You will also need to ensure that the project scope is distinctly identified, including the roles and responsibilities of the various project team members. Develop the project plan and verify that the goals of the key elements are clearly defined and closely aligned. You should also establish measurable and trackable success criteria, including accomplishing tasks on schedule, achieving budget targets, confirming product functionality is satisfactory to the customer, and ensuring government and/or industry regulations are met. Take care of all the details to lay the groundwork for your project’s success.

Tip 2: Identify Project and Team Requirements
Once you have a strong plan in place, you can start implementing it by assembling an effective project team. As noted in an article released by ITToolkit.com, “The project team is a working unit of individual parts, sharing a common goal, achieved through the structured application of combined skills.” The article also states that, “The first step to team success begins with initial organization: to assemble and organize available resources capable of working together as a whole through the integration of individual skills, talents, and personalities.” As a project manager, you’ll need to align those skills, talents and personalities with the appropriate project needs. Make sure that each individual working on the project is clear about their task and what they are providing upon completion.

Tip 3: Be the Project Leader
A key role in project management is the project leader. In this position, you will need to cultivate good and positive team dynamics and act as a coach and/or mentor to all team members. You will also be the leader when it comes to getting input from the project team and major stakeholders, as well as getting their buy-in. As a project leader, you are essentially the captain of the ship. That means you will need to ascertain the rough waters that may be ahead. In addition, you will need to inspire your team to follow you through the turbulent times, as well as the calm times. If you don’t have effective leadership skills, you may not be able to prevail over the challenges facing your project. Take the helm and lead your team to success.

Tip 4: Define Critical Project Milestones
Identify defining moments throughout the project. You can provide a life cycle of the project by including the four main phases: initiation, planning, execution, and closure. Perform a real evaluation at the end of each phase. Make sure to examine every deliverable. From parts of the product to the technical documents to the project plan, you will need all of the elements involved to ensure the product is meeting the project specifications. The product needs to be aligned with the quality your customers are expecting. These milestones will not only help you to eliminate project risk and monitor project change, but will also alert you to any continuing problems and ensure that each piece is correctly completed.

Tip 5: Keep the Communication Lines Open
One of the most critical steps in the project management process is to ensure that the communication lines are open. As the project manager, you will need to be the operator of this communications system. Keep a communications plan and stick with it. Throughout the entire project, communication should be consistent, open, honest and clear. Make sure you keep in touch with all key stakeholders and team members during the project process. Ensure that everyone has the information necessary to make decisions and proceed with the project. You can also keep everyone on the same page by creating status reports based upon the project information and updates.

Tip 6: Attain Pertinent Documentation
From the initiation of the project to the milestones along the way, you should have documentation signed by the stakeholders. A recent ConnectITNews.com article recommended to “Make sure all documentation is in-line with your project management methodology of choice to ensure your project team is covered in terms of deliverables, and expectations.” Even with the best project management processes in place, it is not often that a project is completed on time and within budget, so you will need to have the appropriate documentation ready for the stakeholders and plan for any unforeseen events. However, you don’t want to overcomplicate the project management process with too much documentation that doesn’t add value to the project.

Tip 7: Manage Project Risks
There can be a risk at any time during the project. Your project management experience with similar projects can help guide you so that you may be able to foresee when risk is imminent and when corrective action needs to be taken. By having open communication, you should be able to understand what, if any, risks are approaching and manage them before they get out of hand. You will need to identify and control project risks before they control you. Since a risk is only a potential problem, you want to take care of it before it becomes an actual problem. As one of the most imperative best practices in the project management process, risk management is essential to project success.

Tip 8: Avoid Scope Creep
Managing scope creep in project management is another essential element to project success. Although some change is inevitable in any project situation, you will want to keep your project from creeping into chaos. In general, scope creep happens when new elements are added to a project that’s already been approved, but no consideration is given to increasing the budget, adding more time to the schedule and/or adding more resources to compensate for the revised project. If the project’s scope does need to be revisited, you can participate in the rescoping process. Make sure to have the proper documentation and have all stakeholders sign off on these changes before proceeding.

Tip 9: Test Deliverables
Deliverables should be tested at every critical milestone and the final product must meet the project requirements. Before moving on to the next phase of the project, you need to be sure that the product is coming along as planned. An ITToolkit.com article states that, “As a project evolves, various types of deliverables are produced to support project continuation, to measure progress, and to validate plans and assumptions … Results are expected and must be delivered at every stage of the project lifecycle.” At the end of the project, the deliverable must meet or exceed the customer expectations to be considered a success. The final phase of the project is closure. This grand finale is a sign of achievement for you as a project manager, as well as the rest of your team and stakeholders. Once the project is complete and the customer is happy, your mission is complete.

Tip 10: Evaluate the Project
What lessons have you learned along your project management process? Each project can be a valuable learning tool. You will want to review the project as a whole, as well as analyze various project components. What were the project victories? Where were there project disappointments? Make informed conclusions about the project’s quality and the product’s performance. Compare the planned return on investment (ROI) to the actual ROI as one way to understand the level of your success. You can use the lessons learned from each project to minimize future failures and maximize future successes.