Kaino toive vaatimus­määrittelyjen kirjoittajille

Viime aikoina kaikenlaisia tarjouksien liitteenä olevia vaatimusmäärittelyjä lukeneena on mieleeni hälyttävän usein noussut kysymys: miksi?

Vaatimusmäärittelyt on poikkeuksetta kirjoitettu niin, että haluamme tällaisen ja tällaisen ominaisuuden ja sen tulee toimia täsmälleen näin. Ongelma tässä on se, että vaatimusmäärittelijän kehittämä ratkaisu ei välttämättä ole optimaalisin, koska vaatimusmäärittelijäkin on vain ihminen eikä voi tietää parasta ratkaisua kaikkeen. Koska todellinen tarve jää hämärän peittoon, ei tarjoajalle jää mahdollisuutta esittää parempaa ratkaisua.

Minähän parhaani mukaan esitän kysymyksiä ja pyydän tarkennuksia ja saankin vastauksia, mutta kaikkea en osaa kyseenalaistaa. Eikä se normaalissa tarjouskilpailussa ole edes mahdollista, koska tarjous pitää saada kasaan kohtuullisella vaivalla.

Tuottavampaa olisi, jos vaatimusmäärittelyssä keskityttäisiin ongelmien esittämiseen ja tarvittaessa esitettäisiin joitain reunaehtoja ratkaisulle. Näin tarjoajalle jää mahdollisuus osoittaa todellinen tuottavuutensa.

Muutenkin on tyhmää fiksata ongelmanratkaisutapa siinä vaiheessa kun teknologiaa ei edes ole valittu. Ja tyhmää on myös käyttää yhden tietyn julkaisujärjestelmän tapaa jäsennellä asioita ja olettaa kaikkien toimivan samalla lailla – näin implikoiden että muut tavat tehdä asia eivät ole sallittuja.

Kiitos kun kuuntelitte.

A website is never done

On a recent post in that I warned against multi-vendor web projects. I ended with a claim:

A website is never done. It should be constantly analyzed and developed further. Perfection is a forever moving target. Don’t try to nail everything at once.

This is a serious issue. Even more serious is that it is generally very hard to find a vendor that can actually deliver something like that.

Why?

Consultancies are organized around delivering projects. They have little or no organization to actually continuously develop websites with high quality. Sure, there is maintenance people, but that is often an afterthought and only activated if the client is asking for changes. When selling more to an existing client, sales people unsurprisingly put their effort into selling big projects, not small incremental upgrades.

Web development must not be done in two to four year cycles when everything gets ripped down periodically. That is just insane use of money and in most cases PageRank.

There should be a symbiosis where technical people feed the client with new ideas concerning content (organization of, new types of, better cross-linking etc.) and techies get challenged daily by the continuously changing environment.

One reason for this kind of behavior is that good developers demand to build cool new things and that is what the company then sells.

Even more alarming is that continuous development is generally considered being something lowly. Sure, many of the tasks are not that challenging or sexy.

But.

I spent years on my previous job practically developing a single site. Not once I felt it was something unworthy of me. Not once I felt bored.

It taught me unbelievable amount things that now make me respected at my current job. Why? I had to solve real-life problems, not just problems that aroused during the requirements or the design phase. To solve those kind of problems cleanly, I really had to know the domain.

Developers should sell small improvements directly

Keeping it small requires that no sales people and preferably no project managers are involved.

Developer makes a well argued proposal with an estimated amount of hours of work and the client accepts or abandons it. Client gets billed on actual hours worked, not by the estimation.

This of course requires a contract of some kind. But after that is done, selling costs are rapidly approaching zero.

This kind of arrangement must be based on a mutual trust or otherwise it will not work. I believe this could work with all but the smallest sites and clients, not just with the biggest.

Clients should reserve a budget beforehand for these kind of small incremental improvements. Maybe build a little less features in the initial phase and add more as there is real-life understanding of how the site is actually used?

Developers will be happier when they have their own child to look after and more influence over their work.

This results into better websites for sure. Maybe it costs a little more, but the site should bring in more money too. If not, you are probably not basing your decision making on measurable metrics.

The trap of multiple vendors in website design and development

Summary: If you have a big or important website to build, do not – under any circumstances – built it using multiple vendors.

Problem: Your company needs a website of some kind and you have not enough resources or expertise to build it yourself.

So you want to hire a company that does that sort of things. What general options are there and what are their strengths and weaknesses?

The three general types of companies that could help are:

  1. Advertising agency
  2. Web consulting company
  3. General technology consulting company

Here is a little table that tries to capture their pros and cons:

CompetenceAdvertising agencyWeb consultantTechnology consultant
General technologyLowMediumHigh
Web technologyMedium/lowHighMedium/low
Web domainMedium/lowHighLow
Web strategyMediumHighLow
General marketingHighMediumLow
Visual designHighMedium/highLow

This is of course a very simplistic and subjective table. There are always exceptions and individual differences. Many companies cannot be put into these categories.

The choice is pretty easy if you need a simple website and can make compromises.

It gets harder if you need, say, a visually stunning website with a scalable back-end.

What do companies usually do in these situations (and sadly, often when they do not actually need to)? They buy the specification work from one company, visual design from another, and the actual implementation from a third company. In the specification or the visual design phase there usually is not yet an understanding what the technology platform will be.

This leads to multiple problems:

  1. Communicating design decisions becomes extremely time-consuming and error-prone.
  2. The implementation will cost a lot because the limits of the platform cannot be taken into consideration beforehand.
  3. Developers and designers get unhappy because their chances of making a difference is lower.
  4. The probability of success is lower – the forced waterfall model does not easily allow correction of mistakes made in the beginning of the project.

So basically: you will have a website that has some weaknesses (from a single vendor) – or you will own a generally bad website that cannot be fixed easily (from multiple vendors).

So what do I suggest?

You find a single company that has the best record of delivering great websites in all areas that matter to you. Usually that is a company, that specializes to web development and design. Remember that a lot can be fixed afterward, but it is harder, if the basic design decisions were wrong. Money should be reserved for that too. The more players there were in the development for the website, the more the corrective measures will probably cost.

A website is never done. It should be constantly analyzed and developed further. Perfection is a forever moving target. Don’t try to nail everything at once.

Suomenruotsi saa uuden verkkolehden

Hienoa että yrittävät, mutta melkoisen mahdottomalta yhtälöltä kuulostaa:

Kulturfonden, Konstsamfundet och HSS Media perustavat nuorille suunnatun verkkolehden, kertoo Hufvudstadsbladet. Kyseessä on varsin mittava satsaus, sillä suunnitelmien mukaan verkkolehti työllistää peräti 16 henkilöä.

www.marmai.fi/… →