Project management can be a challenging endeavor. Like a jigsaw puzzle, it involves collecting several pieces, putting them together and arranging them so a desired outcome can be achieved. To do that successfully, your project must be grounded in principles that are not only tried-and-tested, but are also appropriate for the project itself and your organization.
Take the field of software development, for instance. Due to its ever-changing nature and complexity, its practitioners constantly have to conceptualize, implement and refine frameworks to streamline workflows, boost efficiency and improve the quality of their end products. Two of these frameworks, Waterfall and Agile, can be applied not only by tech professionals, but also by those who wish to optimize productivity in their respective organizations. Below is an overview of each framework, along with the common methodologies used to implement them.
As the name suggests, the framework follows a logical flow from one step to another. Sources differ as to what specific steps are involved. However, the original creator of the framework, Winston W. Royce, broke it down as follows:
- Requirements. This is where you obtain as much information about the end user as possible.
- Design. Based on the information gathered in the “Requirements” stage, a system can be conceptualized from the ground up. Afterwards, that system can be adjusted according to the specifications of the tools that will be used to implement it.
- Implementation. Once the design is complete, the system will then be transformed into a usable tool.
- Verification. Most Waterfall users skip this stage. However, it’s worth noting that Royce originally included this to ensure the final product meets the user’s needs.
- Maintenance. This is where user feedback is collected and incorporated into the system for the sake of upgrading it.
Since the Waterfall framework is linear, it’s relatively easy to follow and implement. As early as The “Requirements” stage, the cost of the resources for the project can be estimated. Also, the framework clearly defines milestones to measure the progress per stage.
However, Waterfall also has its disadvantages. Because it’s so structured, it can be difficult to accommodate major changes in the middle of a project. And if the end product requires significant revisions, the entire system might have to be rebuilt from scratch.
Initially, this framework was created to address the limitations of Waterfall. It emphasizes an iterative and incremental approach to designing systems, as opposed to a linear approach. Essentially, any changes in requirements and user feedback must be considered when they arise and be incorporated into the final product when deemed necessary.
Many popular project management methodologies are based on the 12 principles of the Agile manifesto. They include the following:
- Adaptive System Development (ASD). Those who utilize this believe that projects must constantly undergo adaptation. ASD is often divided into three stages, which are repeated again and again as needed: speculate, collaborate and learn.
- Dynamic Systems Development Method (DSDM). This is often used in conjunction with other Agile approaches like Scrum. It also advocates practices like MoSCoW Prioritization, where priorities are ranked according to these categories: Must Have, Should Have, Could Have and Won’t Have this time.
- Scrum. As a method for managing complex projects, Scrum is one of the most popular. It uses sprints, or fixed-length iterations, to break down the workload into increments and allow team members to make progress in spurts. Each sprint typically lasts one to two weeks long and ends with a meeting of all stakeholders to determine the next steps.
- Kanban. Derived from the Japanese word for “card,” kanban involves the use of visuals for team members to track their progress at a glance. Unlike Scrum, which discourages team members from making changes during a sprint, Kanban leaves more room for changes at any stage in the project whenever they’re needed.
- Feature-Driven Development (FDD). In FDD, the software industry’s best practices are all combined into one approach. As the name suggests, the model, list, plan, design and build of the final product are all based on features.
- Extreme Programming (XP). This approach has five stages, each having their respective rules: planning, managing, designing, coding and testing. The rules set expectations for team members, rather than being end goals in themselves. According to ExtremeProgramming.org, the methodology values communication, courage, feedback, respect and simplicity.
- Lean. In the context of manufacturing, Lean has five essential principles: identify value, map the value stream, create flow, establish pull and seek perfection. The Lean Software Development (LSD) methodology extends it to seven principles, as follows: eliminate waste, build quality in, build knowledge, defer commitment, deliver in record time, respect people and optimize the whole.
It’s not hard to see why Agile is popular as a project management framework. Because of its flexible model, it’s useful in cases where end goals are difficult to define. Also, since it values collaboration over design, it’s suitable for open, team-oriented environments.
Despite its popularity, however, Agile has its drawbacks. Since its success relies heavily on collaboration, teams that utilize it must have the collective talent, drive and initiative to see the project through to the end. Additionally, the constant changes required by the framework might pose problems for designers, some of whom may be frustrated at the relative lack of structure.
Whether Waterfall or Agile is the “better” framework depends on several factors. Some considerations for choosing a project management methodology include the organization’s core values and goals, constraints, key business drivers, risks, stakeholders, project complexity, project size and project cost. Regardless, the abovementioned frameworks can be applied not only by software developers, but also by those who wish to establish systems able to withstand changes in an increasingly complex world.
About The Author
Sarah Landrum is the founder of Punched Clocks, a career and happiness blog. As a freelance writer, Sarah enjoys writing about a variety of topics from career and business to healthy living. Catch her on Twitter @SarahLandrum for more great advice.