Good, Fast, Cheap: Should retailers consider agile software development?
Written by Debra Weinryb, Content Strategist at diff agency
With shifting customer demands and global socioeconomic uncertainty, many organizations are changing the way they are getting work done through project teams. According to research by the Project Management Institute, more than half of all organizations are reorganizing their activities around projects and programs. Companies that value flexibility, collaboration, and strong communication will be more ready to respond to change. It's these agile teams that value empathy and innovation that will be more likely to thrive.
The Iron Triangle project management theory
There’s an old rule based on the Iron Triangle project management theory that says that a project can never be good, fast, and cheap. It’s only ever possible to achieve two of those three.
For example, if you are building a house but want to do it quickly and at a low cost, the quality won’t be as good. If you want a house built quickly of high quality, the materials and labor will cost more. If you want something of high quality but low cost, it would take longer to build.
To summarize this theory, there are only 3 scenarios for every project:
- Develop something quick and of high quality, but it will be costly
- Develop something quick and cheap, but it will not be high quality
- Develop something high quality and cheap, but it will take a long time
To put the Iron Triangle theory into perspective, here are a few scenarios to explain them further in the context of finding developers to build you an ecommerce website:
Situation 1: Fast + Good: Let’s say you are shopping around for an agency to help you build a custom ecommerce website. You want a good quality site but you also have a deadline from your manager to make it fast for an upcoming new fashion marketing campaign launch. With this scenario, the odds are against you since it’s not possible to produce a good quality product at a fast rate. Creating a custom designed store requires an investment of time. When the focus is on quality, the development phase is not rushed.
Situation 2: Cheap + Fast: If your company wants a cheap ecommerce website, and wants it fast, then quality is out of the equation. A lower price tag comes with fewer bells and whistles. If you’ve ever chosen a free option for a subscription site, you’ll notice that it came with fewer features than a paid version. Likewise, cheap websites are usually built using a website template. This makes it harder to reconfigure the architecture of your website or add features. You may also find scripts slow down your website that you don’t even need.
Situation 3: Good + Cheap: When shopping for a custom ecommerce site, you may want to secure a cheap (low cost) site that is good quality. In this situation, the odds are against you. Software development teams who build cheap websites don’t invest time to do research that a web design agency will, like user experience testing for example. User experience testing ensures your shoppers are satisfied with your design before you build it. By cutting costs, you’ll only receive basic services that will not guarantee quality.
How to work within the Iron Triangle project management theory
Using the good, fast, cheap rule, you’ll have to make choices about what’s important to you and your business. Here are a few pointers to discuss with your development team members to get the most out of your ecommerce project:
Priorities for building a website quickly
- Be upfront with your deadlines and what you want made within your timeframe. This way you can ask your developers for feedback on what’s possible.
- Get clarity on if there is wiggle room in your project deadlines. See if you can take longer to complete a project and manage your team’s workload for developing software.
- Be clear on the functionality that you want built within your timeframe. Let your developers know about any requirements you have in mind.
- Implement your project in small steps to avoid making big mistakes. By working in shorter increments you can avoid having to redo old work.
Priorities for making a cheaper website
- See if you can increase your project budget through investments, a crowdfunding campaign, or simply reallocating resources from other projects.
- Discuss your budget with your development partners and see if there are low cost ways to achieve your goals. You won’t know your options without asking.
- Find out if there is a way to pay instalments over a long-term period. Perhaps you can make multiple payments while you earn money instead of a lump sum.
- Plan your project in advance and secure development time early to see if you can get a discount on your project. Planning ahead will also help you reduce stress.
Priorities for making a quality website
- Ask for feedback on your project goals, and what services your developers can offer to make your project better. Use their expert knowledge in addition to skills.
- Request a statement of work (SOW). An SOW will help guarantee that the work for your project will be done according to your set guidelines and expectations.
- Consider asking your developers to create a seamless omnichannel experience for your users. This means that content consumption on all devices will be in sync.
- Identify your site’s user experience. Ask your developers to design for a wide range of devices and screen sizes. You may also want to consider website accessibility.
The Iron Triangle implies that you would have a clear understanding of what your project entails before you start. For development, this means that teams would first decide on product requirements to define a project scope. Resources would be scheduled for a set list of work items, and estimates would be provided to you based on the fixed scope. This work methodology follows a traditional waterfall method.
What is the Waterfall Methodology?
The Waterfall Methodology is when each phase of a product’s life cycle occurs in sequence. Each phase depends on the deliverables of the previous sequence and corresponds to specific tasks. In website development, this approach provides less flexibility for iteration because work flows in only one direction, like a waterfall. For example, a project requirements/analysis plan would be followed by design, building, testing, deployment and maintenance.
The Iron Triangle gives development teams the information they need to make trade-offs between time, resources and project scope. However, following the waterfall approach also comes with constraints:
- Changes to project requirements cannot be easily made. Changes may include designing for new technologies, changes in the marketplace or new business goals.
- Development teams may not foresee problems. Issues can arise from implementing designs and may be difficult to resolve without revising or redoing the entire project.
- Sometimes we don’t know exactly what to ask for up front. This is challenging as new technologies emerge, and going back to make changes is both timely and costly.
As explained above, following the waterfall methodology doesn’t leave room for user experience testing or other feedback opportunities to improve your project. You can agree to build your perfect ecommerce website, but hoping you will get exactly what you want is wishful thinking. Agile practices, on the contrary, acknowledge that humans make mistakes and often discover new ways of doing things. It encourages development teams to work iteratively and respond to change.
What is Agile Methodology?
Agile is an approach in which a team breaks up project phases to include continuous improvements and collaborations with all stakeholders. Rather than extensive planning and design up-front, the agile methodology allows for changing project requirements. The goal of each phase is to develop a working product which can be shown to all stakeholders for feedback. Feedback can then be incorporated into the next phase of an ecommerce project.
Successive iterations provide an opportunity for ongoing improvements to your user experience and business value at any phase of development. However, following the agile approach also comes with constraints:
Customers must have time to provide feedback. Agile demands more customer involvement than a waterfall approach. All parties must be committed to work together.
Less predictable compared to a waterfall model. Agile requirements are expected to change. This may increase the cost a little more compared to other fixed methodologies.
- You won’t have a blueprint of the final deliverable. Agile is based on discovering problems and responding quickly. The method values flexibility over a rigid mindset.
An agile development process includes research, adaptation and revisions to build an ecommerce site that demonstrates business value to your users. It recognizes that we all make mistakes and encourages us to make adjustments along the way. Agile asks that cross functional teams resolve issues at all project phases through testing and learning. This allows agile teams to change project requirements with minimal consequences to cost and time, in comparison to completing a project and then having to start all over again.
How agile creates value with creativity
Agile encourages collaboration between all the different functional areas throughout the entirety of an ecommerce project. This is in contrast to the waterfall approach which is regimented and keeps teams in silos. Sticking to a siloed approach means that by the time you get to the testing phase, you could find that your initial requirements aren’t relevant anymore. Instead, an agile approach focuses on value for clients through its emphasis on rapid iteration, and because teams work collaboratively rather than siloed, the method promotes creativity.
Good Fast Cheap. Can you have all three?
The missing gap in the waterfall methodology is that it is difficult to envision what your final project will look like while you are in the planning phase. A waterfall approach doesn’t leave room for feedback loops or usability testing, both of which can inform your decisions and challenge your assumptions of existing concepts. Agile’s iterative testing process means that checks are made to overcome problems and help you deliver a higher quality product faster.
The waterfall methodology can be risky because it is rigid and changes are costly. Since this approach doesn’t give room for project progressions, there is a likely potential that your new ecommerce website may not meet the needs of your users. This also means your site could be built with poor functionality that doesn’t engage your audience. Developers can’t easily change the functionality in a previous phase without restarting it, which costs extra time and money.
If you’re able to accomodate the flexibility of an agile approach, it is highly worth considering. It could end up being better, faster, and cheaper than following a waterfall methodology after you consider potential mishappenings and how difficult it is to go back to make changes to a project that is complete.
Agile’s flexible approach to development can enhance business value by ensuring your features are delivered incrementally. Agile means that your team will take the time to understand your project requirements. Customer satisfaction is at the forefront of the agile movement, and each incremental feature will be tested to deliver business value. By focusing on quality and gaining valuable feedback early, agile encourages teams to test quickly, and incorporate the ability to change. Feedback is received from usability testing, product demos, or customer feedback.
In the waterfall methodology, value delivery is only delivered at the end of your development process. If your project doesn’t meet your expectations, it is unlikely that you’ll have time to deliver a new project in time or on budget. This is why agile project management provides more flexibility for making corrections and delivering quality products faster. By working collaboratively rather than siloed, an agile approach will encourage creativity so your team can foresee and resolve problems, without having to redo an entire project. If you choose an agile approach, you might find that it will be better, faster and cheaper than a traditional waterfall model when all components are taken into consideration.
Want to keep up with all things ecommerce? Be sure to sign up for diff’s monthly newsletter.
You can read more about ecommerce trends right here: What is headless commerce?