At some point in time, you’ve either witnessed or participated in the wrath bestowed upon a software developer who failed to deliver what was expected.
You know the story right?
You patiently await the release of a new web app. When it’s finally released to the public, you’re excited—even giddy. New software is always exciting. Until, that is, you discover it’s full of bugs or missing some of the functionality you were eagerly anticipating.
“Don’t worry,“ the company says, “The bugs and new features that you’re looking for will be rolled out in version 2.0. You can expect to see that sometime in the first quarter of next year.”
With a sigh of disappointment, you accept the fact that you’ll just have to wait.
If you’ve been around the tech space long enough, you’ll remember the days of Windows 95, Windows 98, and Windows Vista. The years when Microsoft just couldn’t get it right.
Let’s put scale, technology, and broadband limitations aside for a moment. Wouldn’t it have been better if Microsoft had released an initial version and followed it up with frequent small updates—similar to what happens with some of the mobile apps on your phone?
Can you imagine putting your customers through the same experience? Can your startup afford to create any level of customer dissatisfaction in today’s competitive marketplace? Unless you have deep pockets and a mile-long marketing budget, you probably can’t. The good news is you don’t have to take the same approach.
In this post, we’re going to take a look at the benefits of launching your web application in phases. More specifically, we’ll talk about how those phases might be structured in a way that helps you not only get to your goal faster, but with a better result.
Two Approaches to Web App Development
Let’s consider two common approaches to the development process. Both are proven methods that will get your web application to market, but there are some distinct differences. It’s worth exploring these differences because one method is potentially superior to the other, especially for startups.
The Waterfall Approach
The first method is the Waterfall approach, and it’s fairly common. The launch process follows a specific, regimented sequence that moves your web app through all the stages required to get from concept to launch. We’re not going to go into a ton of detail here, but it’s helpful to understand what each specific stage might be:
- Requirements – What is required of the app? What are some specific use scenarios? What functions must the app perform?
- Design – This phase involves designing a solution from an aesthetic and architectural point of view. How will the app function? What programming language will be used? How will the user interface be structured?
- Coding – During this phase the web app transitions from what is essentially a blueprint to a functioning application.
- Testing – With a functioning web app, it’s now possible to begin testing for and fixing bugs. Keep in mind it’s almost impossible to eliminate all bugs prior to the initial release.
- Operating – The day you’ve been waiting for, your app is finally ready for the world to see. This is the stage where real world testing and feedback begins.
While the waterfall approach doesn’t sound too bad at first (after all, it’s very logical), it’s important that you consider the potential implications. Imagine a series of 100 foot high waterfalls. Each one represents a phase from the above list. As your web application goes over the waterfall to the next phase, there’s no turning back. Each successive waterfall leads to the bottom—launch day—where you’ll start the process over again. This process makes the execution of each stage extremely important. If you make a mistake, it will take considerable time and effort before the next iteration is released.
There is no arguing that this is a structured approach. It will get you from concept to launch every time. But is it the best choice for a startup?
The answer to that question depends on your goals. But, one thing is for sure: Going over a waterfall can be a scary proposition. There is little room for error, and mistakes can be costly.
The Agile Approach
In effect, the agile approach is like a waterfall, only each step is much smaller. Let’s make the assumption that the following goals are important to your company:
- You’d like to prove your concept early in the development process before you burn through too much cash.
- You need to generate revenue, growth, and profitability as quickly and efficiently as possible.
Both are reasonable assumptions, right?
The agile approach is one that can help you achieve both of these goals by doing the following:
- Shortening the Development Cycle
The Agile approach to application development shortens the process into manageable steps. Each step is a smaller milestone than what you would experience using the waterfall approach. You no longer expect every release to be perfect, nor does it need to be, because each step can be easily corrected in the next release. For most companies, small and frequent corrections are preferable.
A shortened development cycle has the added benefits of eliminating the potential for over-analyzing as well as the need to seek perfection—two problems that often result in costly launch delays.
- Provides Rapid End-User Feedback
Who is your web application for? The end-user, right? So, doesn’t it make sense that the most important feedback in the process should come from the end-user? You bet it does.
Since the agile process is based upon shortened phases—develop, test, release, feedback—the final result is often an application that does a better job of meeting a customer’s needs and expectations because it has been built with their feedback in mind. Trello is a great example of a web application that is frequently pushing out updates and improvements while gathering customer feedback.
If your web application involves an end-user fee, consider beta pricing or finding a way to thank your early adopters. Without their input and feedback, this approach would not be nearly as effective.
- Revenue is The Ultimate Proof
Adopting an agile approach means your application goes live and begins generating revenue sooner. This results in an opportunity to generate revenue at an earlier date than any other approach (with the exception of pre-selling). It also means that you’ll have an opportunity to prove your concept before you get too far down the rabbit hole. Nothing helps to validate your idea faster than live feedback and sales. And hey, the cash flow is helpful too.
- Improved Team Communication
When the launch of your web application is broken down into short phases, it forces your team to communicate more often and more efficiently. It will no longer be possible for your design team to hand off the project to developers and then wait until the process circles around again several months later. There needs to be open and frequent communication between all team members in order to keep the iterative process flowing smoothly.
Picking the Best Approach for Your Startup
As a startup, there is nothing more important than getting your product or service to market. Without customers, sales and feedback, all you have is an idea. An unproven idea at that.
While you could argue that a waterfall approach also implements phases, I think you’d agree that they are much larger in scale and less forgiving in nature than what you’d experience in an agile approach.
The shortened phases that are inherent to agility result in benefits to both your customers and your company. It allows you to remain flexible, open to feedback, and it can even make the process of pivoting easier—if the need arises.
The end result is a more efficient, more adaptive, and more communicative company that is capable of going from concept to launch faster that you ever thought possible.
If you’ve experimented with different approaches when it comes to launching your web application, we’d love to hear about your experiences in the comments below. Or, if you’d like to discuss how we can help your company adopt a similar approach, please get in touch.