How to run successful web projects

In order to achieve quality, we create and launch websites using a method we called “FFF” — fixed time, fixed budget, flex scope. In this article I’ll tell more about this approach and why we came to it.

A typical project

Usually, a typical project looks like this. A client goes to a web studio to make a website. Studio manager figures out the details, and together with the client they come to common understandings and the solution. Then the manager put all the things into work plan with timeline and deadlines. All this sealed as an agreement in which the studio is committed to launch the website on time, whilst the client — to pay regularly.

After that, the manager turns the plan into detailed technical specifications. Based on these specifications, a designer makes design, and a programmer makes a code. Let’s call both design and coding as “development”.

We’ve got such plan:

Expectations: estimated launch of a typical project

The participants may not even guess, but most likely the project is doomed to failure, like “Titanic” and the iceberg.

Let’s see why.

A perfect plan

A plan is such a perfect world of peace, light, and harmony. The best case scenario. But the point is such scenario is almost never happens, because we are live under the influence of external forces: a designer got sick, a client didn’t accept design with the first try and asked to come up with another idea, a web server has crashed. Or: a client is off to vacation so the approval is delayed for two more weeks, a coding was more complicated than expected and took longer. Or the market is collapsed. Some of these events can be predicted with the experience, but not all.

Adjusted to the reality, the plan now looks like this:

Reality: the real launch date, two months later than expected

As the result, the studio team is forced to work extra hours in emergency mode, because the website should be launched a month ago. The client is unhappy because he losing his money, and thinks that the studio had failed him. Eventually, the website is launched in two months later, most likely with bugs. All project members are demoralized, the money is spent, the reputation is ruined.


“A perfect plan is a best case scenario that probably never happens.”

The law of losses

Fact: it’s an illusion that you can launch a project in time, within the budget, with all features, and with 100% quality. In order to create a quality product, you have to sacrifice something. Let’s take a look at the possible options.

Time. “Well, let’s launch a website in two weeks later, not big deal”. This sounds harmless — indeed, what’s the rush? However, the truth is the following: it you bring extra time resource, the project will sick by a disease called “featurism”. Featurism — is the uncontrollable desire to add more and more features, or change the existed one, that led to more complex system. Over time, some already implemented features starts to seem outdated. The website is not even launched yet, but it already seems old — so you want to update it over and over again. In this case, the problem is even worse than in the “perfect plan” example — those websites may not be launched at all.

No, we definitely can’t sacrifice time. On top of that, time is the most valuable and irreplaceable resource in the Universe.

Featurism: endless reworks and additions, the launch date is not even seen on a horizon

Money. The budget and the deadlines are linked together, just as the time and space. Putting an extra money to the project only creates a new problems, see above why.

Quality. The quality of the final product — is the company’s reputation. Launch a website on time and within budget, but lame, oblique, and full of bugs — is unacceptable from the professional ethics point of view.

Features. Here is interesting. If a website has less functions and sections, you can focus more on testing to avoid bugs in the release version. If your website has less features, you can launch it earlier and get benefit of it. And if it’s becomes clear that some features are missing, we can add them in the future with no problems.

The first iPhone. It had no video support, or even a flashlight, whislt most competitors already had it. These features has been added later.

“Time is the most valuable and irreplaceable resource in the Universe.”

The three “F”

For the first time I’ve heard about this approach in “Getting Real”, a book by 37signals. The three “F” are stands for fixed time, fixed budget, flex scope, and for short we called it “FFF”.

The principle of this project management approach is based on the main simple idea: the launch date cannot be moved. Period. The whole point of the project is depend on time.

If during development it becomes clear that we don’t have time to implement some features, we leaving them outside of the scope of the project and, if necessary, add them in the future. We call this procedure “to flex” — i.e. to make a decision of flexibility, or to simplify.

FFF approach is aimed for the result: to launch a quality product that works. During development, it is sure to have something to correct on the way, i.e. to flex it: simplify design, modify or even get rid of some features. It is important to understand that this is not a special case, but part of the process. This is how an idea turns into product.

Efficiency

When making a decision about flex, we think of efficiency. Efficiency is a meaning of the function, why it exists in the first place.

Let’s take an example. A website, classical “Contacts” section. Meaning of this section — “to help users get in touch with us”. If basically by design it supposed to be a feedback form, but during the development we realize that have no time to implement it, we can replace the form with a simple email address and a phone number:

Example of flex: a feedback form turns into simple email address and phone number

The form can be added in the future if there remains a need. The point is the “Contacts” section still works properly.

Perhaps, without that form website will looks even better — a phone number and email address organically fits into menu bar, so it turns out that the “Contacts” sections is not needed at all.
The concept of efficiency is closely linked with the “mission” described in the book by Jim Camp, probably I’ll write a separate post about it.


“The approach is aimed for the result: to launch a quality product that works.”

Launch by iterations

Long-term planning is no more than guesses. This is one of the reason why a typical project plan remains perfect on paper only. In reality, long projects are not always goes according to the plan: at first, the launch date seems far away and everything is going smoothly, but then suddenly comes a rush job.

However, if you break the overall plan into weekly iterations, that’s another thing. Weekly segments has less layouts, approvals, development, and testing. Even if something “moves out” in timeline, it is easier to control. At the end of each stage — a simple clear result. That is how we working by iterations.

Example. Let’s take a website with six sections, estimated time of the launch — six months. Instead of doing it half year long, and launch with everything at once (by that time, anything can happen), we split the website by iterations. One iteration — one new feature, or section. Within each iteration we do design → approval → coding → testing → launch.

So, instead of long-term development with unpredictable results:

Long-run development example: you can only guess of results

We get expected results and clear benefits:

Example of launch by iterations: each individual function beings to work earlier

It allows to launch the website earlier, thus his main purpose begins to work earlier, too — let’s say, to sell some goods, or to gather a subscribers base.

The voice of a skeptic: “But how it’s possible to open a site with half less functions? A competitors websites has it all!“.

A phased rollout helps to think clearly and see the priorities: what is really important, and what is secondary. Less features, but done perfectly. We are in favor of such approach.

On top of that, perhaps, the need of the previously desired features may disappear. In the typical approach “to run all at once,” time and money for the development of this feature would be wasted. While segmented launch allows you to adjust the direction of development based on a live website, not on forecasts.

Mutual responsibility

The method requires courage and constant decision-making. The decision of flexion, i.e. the simplification of the design or the refusal of some functions, is taken on the basis of a balanced, mutual consent. Project — is a mutual responsibility of the studio, and the client.

Not for everyone

We understand that the method may seem uncomfortable and even wild to someone. Such approach — for strong companies that are not afraid of difficulties for the best result. If our principles are not compatible with yours, we are unlikely to be useful to you.


At Mirai Art Studio, we create commercial and product design. Logo, corporate identity, websites, and print design are our best specialities.

For company news, blog posts and more projects, visit our website at www.miraispace.com.

If you like our work, recommend and share this article to your friends.