Agile vs. the Waterfall model

Agile vs. the Waterfall model

When speaking about hurrying and internet products, we should immediately pay attention to the Agile model.

Without intending to be exhaustive I will tell you how this model can solve many of your problems and what makes it different from the “standard” Waterfall model.

Let us start with the Waterfall model. If you choose to use this model for starting up your online business, you will probably go through the following process.

  1. Requirements
  2. Design
  3. Implementation
  4. Verification
  5. Maintenance

The phases of the process can be more or less in number, depending on its specific character, but what is most important in this case is that every activity starts when the previous one is finalized. This may be also called domino effect, in which you have a chain of successions and not a single activity can be started without finalizing the previous one. For the experts in project management this model is absolutely clear and it is often used in factories, production lines, and unfortunately, in internet projects and the web industry. The bad thing is that if you have made a fatal mistake, you will find out about it in the fifth phase, which you have reached after months of work. With the Waterfall model everything is described in detail so as each of the different processes contributes to the overall finalization of the project to the maximum. So, if you have a store with 50 functionalities, in the first phase you will have to describe them all; in the second phase you have to work out the design of each of them; while in the third phase you have to program them. In case any of these functionalities is illogical and is not well-accepted by the market, you will find this out in the fifth phase, which would have taken you six or nine months… In fact, my personal experience shows that that the loss of time in this process is much bigger than the total amount of expected time for each of the processes. Strange, isn’t it?

For example, if you need a month for each of the phases, you can easily calculate the time until the project is ready, or in other words – five months. So far, so good, but you have a chain structure, and there is a lot of blood, sweat, and tears behind each phase. There is always statistical variance, even when certain activity is not done by people and there is no human factor involved. In this case, when most of the work is done by people, you should expect the emergence of different factors, which affect the time needed to finalize the concrete phase, such as leaves, sickness, bank holidays, conflicts, crisis situations in the company, which consume time at the expense of the current project. In most cases, each of the phases is done by different people or teams.

If you are in the first phase, the designers and programmers, who will join in the second or third stage, are working on other projects to make use of their time. The other projects they are working on are also based on this model and respectively have set deadlines, too. If you are a few days or a whole week late, you have not delayed only the designer and the second phase but also the entire process with a week. Each delay accumulates time loss that is very hard to be compensated because a whole month could have passed until you reach the final phase when it is impossible to catch up with the deadline. On the contrary, if you wish to gain time in such a process, you will have to start gaining time from the very first phase, so as every other phase to pass smoothly. The worst thing that can happen is to miss the moment when the project enters the programming phase – in this case the delay will not be restricted within the 5 or 10 days you have lost so far, it will be delayed with a month or two, since because of your delay the team has already undertaken another project to keep the programmers busy. Your delay leads to delays in other projects, just like delays in other projects result in a delay in yours. And you should also bear in mind the notorious laziness of programmers, which is behind the late realization of most of the IT projects.

As a helpful prelude to the Agile model, we should take a look at the Sashimi model, which is very similar to the Waterfall, but what makes it different is that the phases do not have to wait for the finalization of the others to be started and there is partial overlapping in the beginning and in the end.

Of course, sometimes this cuts the time loss but as a whole it is not much different from the Waterfall model and most of the negative characteristics remain the same.

The Agile model is the most adequate option for internet projects. As I have already mentioned, I do not intend to be exhaustive on the matter, since the subject of this book is not focused on the processes management models, and I will just provide you with the general information.

While the in the first two cases the phases followed one another, here, in the Agile model, they go along in parallel and cyclical manner.

This model is based on several principles that are fundamental for online products – breaking the project into small steps and simplifying it, starting the first step as soon as possible, encouraging consumers for feedback, going to the second step in accordance with the data collected after the start of the first phase, and so on, until project’s finalization.

If we take the online store, which we established following the Waterfall model, for example, now, with the Agile model, we should do the following:

  1. We know that we have 50 functionalities but to realize them we need 5 months. That is why we simplify the project by creating a store with only two functionalities in the beginning – exposing the products and their email ordering.
  2. While the design is being developed the programmers are programming, the products are being tested, and any mistakes and errors are being referred back to the designers and programmers. When the project is completed, it is time to launch it.
  3. The process starts immediately from the very beginning, taking into account the feedback from the consumers already using the website with the two available functionalities. It may turn out that out of all 48 functionalities the manager has planned, the consumers need mostly three of them – online payment, automatic saving of the data after the first order, and product comparison. These functionalities are launched for design and programming, the testing goes in parallel, and when ready – they are started. Then it becomes clear that consumers do need a few of the others functionalities, too, which will make their visits and stay on the website easier and nicer, while the money spending goes smoothly, without a hitch – and the whole cycle starts all over again.

 

What makes the Agile model better?

The Agile model is better because it allows you to launch your product online within a month, while with the previous model you will have a month only to work it out. In this case, prioritizing the functionalities plays a leading role. It is clear that you imagine a certain project as a complete whole (in its final form) with functionalities realized at 100%. But if you invest money for months or a year, develop everything, and eventually it turns out that it is a complete failure, you will lose large amount of both money and time, which you will not be able to take back, especially the time. At the same time, the Agile model allows you to break a big project into small micro-projects, which you can finish within short deadlines and thus see the results periodically, and calibrate it towards the market situation and your consumers. This way, you will not only woo the consumers, who will see a constantly improving project, but also have the chance to react to any situation not in 5-6 or 10 months but yet in the second week. This is how your project will be almost completely finalized in 5-6 months, but it will be much more perfect and with much fewer problems than a project that did not undergo constant tests in real-time conditions and situations, having a whole bunch of useless functionalities.

Speaking at the WebIt conference, Andrey Sebrant, expert with the largest search engine in Russia – Yandex, which outplays Google in terms of market share in Russia, explained that his company tried to avoid having target groups. Despite the fact that this is something every marketing expert will advise you to do before the start of a new website or a new vision of an already popular project. The problem Yandex was faced with was that when presenting the new design before a target group, there were highly positive feedbacks. After the official introduction of the new design before all consumers, however, the company would find out that they did not really like the new vision, or the other way round – something they found irritating, was now much more likable than before. This discrepancy is explained with the fact that the target groups were given restricted time to test the website and express an opinion. While when using the product for a longer period time, consumers were faced with a series of inconveniences or discovered new benefits, which the target group missed. That is why Yandex avoids making analyses before starting a new project or functionalities. The company grounds its developments on beliefs, assumptions, and intuition. Then, a big team of mathematicians join the process, detecting each action taken by consumers, and establishing a consumer behavior map. Analyzing the data, they obtain information about the needs of consumers and the mistakes made, and then use this information to upgrade the concrete function or project. This way they meet the condition to start the idea as fast as possible and then, at a later stage, to simply improve it.

One of the most secure ways to save money and avoid losing your motivation because of time is to start your project when it is not absolutely complete, with a minimum number of functionalities, enough to start realizing your idea. Derek Sivers explains this approach in detail in his book Anything You Want. When starting any new business, we imagine its final version, which may take years – thousands of employees, offices all over the world, billions-worth profit. To start this project, however, requires too much time and many people give up on their idea simply because it is too big and unattainable because of the lack of financing. The solution Mr Sivers offers is to start at this very moment, even with 1% of the real idea.

In other words, if you have an idea to realize a project that is a financial intermediary and analyzer for the investors’ needs, then you should start with the simplest thing – make a blog, offering your consultations, even for free. After you gain the needed critical mass of followers, you may start charging fees for your personal consultations, and later on you may develop a platform allowing people to play at the stock exchange through your website, and so on. The initial investment in the blog may be of about USD 40 – to pay for the domain and hosting in the first year. Not to mention that you can even start it absolutely for free with blogger.com. It will be a modest start but still, you will already be in the game. This is the idea and the way many of the internet projects around the world have started, now enjoying hundreds of millions of consumers. They have started something to present their idea to consumers – something to attract followers.

If your idea is good, it will develop and you will have motivation and opportunity to find supporters, partners, and even investors much more easily. If your idea is not worth it, you will lose around USD 40 and some free time but you will learn an awful lot from this small failure. So, start now! Leave the analyses for later.

Me personally, I went through all this about 15 years ago. Together with a friend of mine we decided to make the biggest website for teenagers in my home country. We did not take as our aim to look like any other website – we simply knew what was missing on the market and what our classmates were interested in. We did not have money for the domain and hosting, so we used a free one without even having the chance to use a database or PHP. At some point we bought a domain for $ 35 (a long time ago:) , an investment that seemed more than huge back then. This is how we obtained the TeenProblem.net domain.

The initial website did not have an administration control panel – something everyone has grown accustomed to using and requiring at the moment, it was entirely written in HTML. To make it clear for the non-programmers, too, I should explain that this is a static website, where if you have to change even a single comma in an article, you have to open the website source code and change it there. If, God forbid, you wished to change the design or add a new category in the menu, then you had to edit more than 1,000 files, manually. It was a simple technology, the only technology maintained by the free hosting we used.

The idea was to have experts, who consult teenagers, but how to recruit experts when you cannot find even the $ 35 (this was the price back then) needed for a domain? The traffic was growing larger and the free resources of the hosting started getting exhausted. In a year we were forced to pay for the hosting. Many hosting companies turned us down because of the high traffic we generated. We entered into a vicious circle – the more the traffic, the better for the website, but the more the traffic, the more expensive its maintenance, while we were not making any money from it yet. It was not until the fourth year after the website’s establishment that we managed to assemble a computer, which we used as a server and finally had bigger freedom to personally control its fate from a technical point of view. We finally started making real money from the advertisements on the website. In the meantime, I had already re-programmed it three times, while the design was updated more than eight times.

In 2007 we announced our wish to be acquired by a bigger company and thus we managed to realize the biggest deal on the internet market in Bulgaria in that year. Ten years after its start, the website had a market share of 82%, which made us the clear leader in our field.

This is a good example of how to start a successful project without any money, analyses, or a business plan. Practically, it only cost us sleepless nights and a few bucks, a ridiculous sum compared with the currently generated profit and the price we sold it at. If from the very beginning we had set ourselves the goal to attract hundreds of users, more than 45,000 visits per day or specific revenue targets, we would have probably scared ourselves off before even starting because at the time when we took up the project such parameters seemed impossible and out of the question. However, eventually they came true thanks to the fact that we realized the project step by step, primarily after consultations with our consumers.

Leave a reply

Your email address will not be published. Required fields are marked *