Portal Home > Knowledgebase > Azereon > Agile Development

Agile Development

Agile development is a methodology where software is built through a flexible process spread over several smaller segments, or iterations. It encourages flexibility and collaboration between the development team and the client. We think it's a much better process and here's why:

Historically, websites have always followed the bidding process. A company decides they need a website, and ask several website design contractors for a bid on the project. The client then picks a company to develop the project (usually the one with the lowest bid) and then hope for a quality website for the price that was bid. While business can certainly be conducted this way, there are several problems with this method. Let's discuss them.

First off, it's impossible to accurately estimate exactly what is involved in building a website. Business is unpredictable, if it was predictable, we'd work with the stock market instead of websites, and make a fortune. Since it's not predictable, there needs to be some flexibility when estimating a website. A website is based on 3 factors, price, scope, and the time it takes to make it. Of those 3 factors, one of them has to be flexible. In the example above, the project scope, and the price are fixed, the time it takes to develop is the variable. In other words, the client wants exactly Feature A, Feature B, and Feature C, and it has to be done for $xyz. This creates 2 problems. First, since the scope is fixed, it means the client has to decide exactly what features they want in the beginning of the product. If they change their mind and want Feature D too, or that they don't really need Feature C, it's too late, it's already in the contract. The other problem is that the time for development is forced to be flexible. As an example, let's say the contractor bids the project at $2,500. If they're smart, they overcharged, just in case they run over budget, then they won't lose out. If they are right, then maybe the project only cost $2,000, in which case the client overpaid, since the contract was for $2,500, the development company keeps the extra. What if they were wrong, and it actually cost $3,000? Since the contractor committed to $2,500 they'll rush through the end of the project to cut their losses, and the website will be poorly made. In either case, the customer loses.

We knew there must be a better way, so we thought about it, and we found a solution. Remember we said that a site is based on price, scope, and time? Rather then making time flexible, we decided to make scope, or price flexible instead. This creates two options for the client.

Flexible Scope: This is the option for the client that still needs the fixed price. In this case, we decide on the price the customer can afford, and won't go over that amount. Then we collaborate with the client to decide what features are the most important. Then we build as much as possible, at the highest quality, until we get to the agreed price.

Flexible Price: For this option, the client decides what features they need, we prioritize them just like the flexible scope option. Like before, we start working on what's most important first, but this time, we keep going until the client decides they have all the features they need.

But it gets better. We said that this is a very flexible and collaborative process. When we first begin to work on a project, we build the priority list, by collaborating with you. But unlike the first example, this list isn't set in stone. We build the site in iterations. So this means that we look at the list, and maybe it has 20 features on it. You decide which ones are the most important, and develop them first. Maybe it's the first 5. When those 5 are done, we deliver the product, with those 5 features fully completed. You get to play with the website and tell us what you like, and what you don't like. Then we reevaluate the list. But maybe you have a new idea you want developed next, or maybe there was a feature still on the list you decided you didn't really want anyway. By breaking the project up into smaller pieces it creates a more agile workflow, and allows for the unpredictability of business. At the beginning of each iteration, you can decide what's most important now, not what was thought to be most important months ago when the contract was signed. You only need to commit to one iteration at a time, and if at any point, you don't want to start another iteration, that's perfectly fine. You get to keep all the fully developed features we already finished in the iterations before. So rather than worrying about staying on budget, we get to focus on building as much as we can at the highest quality, until you have the site you imagined.

So what are the top priorities for your site? Contact us, and we'll discuss what the needs of your website are, and we'll start your first iteration right away.

Was this answer helpful?

Add to Favourites Add to Favourites    Print this Article Print this Article

Also Read

Azereon uses Linux, Apache, PHP, MySQL, CentOS, and more.