Iterative vs. Fixed-bid Projects
For those of you familiar with a traditional project management process, you’re probably familiar with a typical project life cycle- plan, budget, design, develop, test and release, AKA waterfall. This style of management can typically be found in fixed-bid 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 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 are failures.
If you are not planning on selling services or merchandise on your site, collecting customer data or statistics, or updating site content via a content management system, you can probably rest assured your project will not be a total failure. However, if you are planning on utilizing any or all of these features into your website, I highly recommend you continue reading.
My experience with 2 project life cycles
While there are 4 project life cycles adopted for software and web development, LevelTen primarily works within the Waterfall (also known as Serial) and Iterative cycles. While all project life cycles provide advantages and disadvantages, these two have been widely accepted and adopted by software, IT, and web companies alike. 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 you your project.
To explain, let’s first start by providing a brief overview of the Waterfall and Iterative life cycles. If you would like a very in-depth understanding of life cycles I recommend reading The Pragmatic Programmers, “Manage It!” This book is fantastic for beginners and experts alike.
The waterfall life cycle
Using the Waterfall life cycle, your team is supposed to be able to first obtain every conceivable requirement (Project Planning and Strategy). Based on those requirements the team moves into design to determine the look and feel of the site. Once everyone agrees on the “big picture”, the team starts developing. All pieces are developed, completed and integrated before testing and release 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 fix-bidding projects up front with a very high-level overview of features and services, and for good reason. It’s very reassuring to know exactly how much a project will cost before you spend any money on it.
Basic websites which include static, brochure-type pages thrive from this type of development process because there are few technical features with less complex programming requirements. However, if your web site requires functionality including e-commerce, CRM/CMS integration, or any type of community involvement, I highly recommend utilizing an iterative, incremental, or agile life cycle. A waterfall approach on these types of projects will most certainly set your project up for failure.
The Iterative Life cycle
LevelTen 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 utilizes monthly sprints through the remainder of the project. Sprints align and manage expectations by allowing the customer and project team to see working prototypes as they are created.
Early review allows greater flexibility for development, testing and changing so the customer gets exactly what they want. Instead of spending 2-3 months in preparation and low-level requirements gathering, then building out all features and testing them before release, we recommend spending 2-4 weeks understanding 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 beginning of the project, the inherent nature of developing this way has proven to reduce cost and increase the potential of success exponentially.
How iterative processes reduce risk
- Project estimates are based on very small chunks
- Site features are continuously analyzed and negotiated based on price, need, and time line
- Business models/requirements are not boxed and can be changed
- Customer effectively determines the price, scope and time frame of the project.
- Rapid development and feedback loops early in the project life cycle
If you are looking to create a dynamic, integrated, and engaging website, the iterative process is your best plan of action. It keeps your client communication open and your project risk low. It's essentially an upgraded, future-oriented version of the waterfall method. As such, it is our recommended methodology.