Blog

Iterative vs. Fixed-priced Projects

Waterfall_large

For those of you familiar with a traditional project management process, you’re probably familiar with a usual project life cycle- plan, budget, design, develop, test and release, A.K.A. waterfall. This style of management can typically be found in fixed-price projects. You may be less familiar with the percentage of projects that utilize this management process, yet fail to stay within the project’s intended time line, budget and scope.

According to the “Chaos Report”, a project management research study on software development companies:

…35 percent of software projects started in 2006 can be categorized as successful, meaning they were completed on time, on budget and met user requirements. This is a marked improvement from the first, groundbreaking report in 1994 that labeled only 16.2 percent of projects as successful…

35 percent! Almost two out of every three software development or integration projects fail.

My experience with 2 project life cycles:

While there are 4 project life cycles adopted for software and web development, Viderity primarily works within the Waterfall (also known as Serial) and Iterative cycles. While all project life cycles have advantages and disadvantages, these two have been widely accepted and adopted by software, IT, and web companies.

Both were developed to manage project risks, but one is probably more suited than the other depending on the amount and type of risk involved in your project. To explain, let’s start by providing a brief overview of the Waterfall and Iterative life cycles.

The Waterfall Life Cycle

Using the Waterfall life cycle, your team is supposed to be able to first obtain every possible requirement (Project Planning and Strategy). Based on those requirements the team moves into design. Once everyone agrees on the “big picture”, the team starts developing or building. All pieces are developed, completed and integrated before testing begins.

Waterfall life cycles take longer because the team is tasked with predicting how much a project costs, how long it will take to implement features, and how quickly defects can be fixed – things that are inherently unpredictable.

Many business stakeholders prefer waterfall life cycles and fixed-price projects up front with a very high-level overview of features and services. It’s very reassuring to know exactly how much a project will cost before you spend any money on it. Small projects (e.g., basic websites that include static, brochure-type pages) flourish from this type of development process because there are less complex programming requirements. However, if your project is more complex (e.g., a website with advanced functionality such as e-commerce integration), I recommend using an iterative, incremental, life cycle. A waterfall approach on these types of projects may result in failure.

The Iterative Life Cycle

Viderity uses an iterative life cycle for projects that require more complex planning and development. The iterative life cycle looks a bit like the waterfall approach at the beginning of the project for the requirements and analysis phase, but uses monthly “sprints” through the remainder of the project. Sprints align and manage expectations by permitting the customer and project team to see working prototypes as they are created. Early review allows greater flexibility for development and testing so that the customer gets exactly what they want.

Instead of spending 2-3 months in low-level requirements gathering, and then building out all features and testing them before release, we recommend spending 2-4 weeks defining the feature sets, determining which features are most important to the customer, then developing, testing and releasing features in monthly sprints.

While the project’s time frame and price are not fixed at the start of the project, the intrinsic nature of developing this way has proven to reduce cost and increase the potential for success.

How iterative processes reduce risk

    • Product features are continuously analyzed and negotiated based on need, price, and timeline.
    • Project estimates are based on very small chunks
    • Business requirements are not written in stone and can be changed
    • There are rapid development and feedback cycles early in the project life cycle