Friday, 30 May 2008

Good products mean Good design which means good practice

Good products have a simplicity of design that can be clearly seen. Often there is a single design innovation that carries the whole product.

When starting a project, the risk adverse, less skilled members of the team always add to the design, rather than to aim for design elegance. In fact "design elegance" are dirty words in some circles yet customers are expected many millions for products.

Up front design, huge lists of requirements and endless project management documents cover the design with a veil of techno babble and bullshit. The products that this style of project make are normally low quality and require constant tinkering and adjustment to function. Very often the huge armies of people who thought up the lists of requirements have moved on to the next disaster by the time that the problems in the overly complex design become evident.

The solution is to put the responsibility for design into the hands of those that can execute it.
Code is the least ambiguous way to express design.

Instead of expressing the desired outcome as a list of ambiguous written requirements or documents express it as a list of coded tests.If the tests execute successfully then the requirements are met. This way only those members of the team capable of understanding the code are responsible for the design.

Test driven development allows practices such as refactoring, story card driven user interface design and continuous integration to be used. These practices create an environment where you are able to try stuff out and therefore have a better chance of making a good design.

The difference between a professional and an amateur is that a professional should be able to consistently deliver design elegance. I would hope that the professional would understand the relationship between good products and good design technique and tools.

Thursday, 22 May 2008

Wii Fit ????

wiki recommendation

What do I recommend?

A deployment of JIRA confluence

What will it cost?

Arround £10k for unlimited users, both JIRA Confluence running on a 3 moderatly beefy boxs

Why this?

  • It is very easy to use.
  • It is very easy to create a new area for a project or initiative (called a wiki space).
  • It is easy to control permissions at a space or page level
  • The team collaboration features such as commenting, bloging and workflow are excellent.
  • It integrates with enterprise systems such as mail and active directory very well.
  • It provides an ability ladder for users
  • simple wysiwyg for you newbies
  • rich wiki mark-up language for experienced users
  • macro language for experts
  • Java plug in API for the hard core nutters who want to change their own features
  • It has a vast library of mainly free pluggins created the community that prove some really great features
  • You can export to word, pdf, excel, sharepoint and nearly any format, using the plugins library
  • It does calendars well
  • You can create galleries easily
  • You can have different themed spaces
  • A real strength is the JIRA integration which allows workflow, task tracking and automation
  • This has personal spaces and JIRA projects which are a great way to introduce a wiki
  • This is nearly Open Source, once you purchase you the licence you get source, which you can modify.

How do you get it going?

  • The boxes that this runs on can be either windows, solaris or unix, make this decision so that its easier for your support team.
  • You need three boxes in the confluence clustered architecture
  • This can be installed in this way in a morning.
  • Once installed it will need to be skinned, this will not take more than an afternoon
  • Get a member of the design department to give it a once over

How do we configure it?

  • Install it to these domains and
  • It must be linked to email, this is very easy if you have access to the email administrator
  • Logging in is a pain, it is easy to add this or the active directory or LDAP
  • Don't nail it down, try to hold back on securing it so that users can do as much as possible (obviously don't make everyone a member of admins).
  • Create a Wiki for the wiki, Create a JIRA project for the wiki, users can see and change the guidelines, they can also submit admin requests (using JIRA)
  • Make the members of the admin group multi-dicipline, have representatives of managers, creatives, network admins, support teams, developers etc ...

Other Recommendations?

  • When you deploy this you will be adding to the number of different information systems that are available to your collogues,
    this can be confusing, you can either
  • Enforce one system on all your colleges (good luck with this)
  • or try and bring all the systems together, good search tool will do this, what about one of these
  • Read this
  • and this

Wednesday, 21 May 2008

The environments and architecture needed to run and develop a consumer focusing web site

The main goal of a consumer facing website is to create a fun, engaging online experience that helps your consumers interact with your product. This is a challenge for people who have come from the business world. The three questions that you need to ask yourself when considering how you make good consumer focused web site are

  • What is the structure of the production environment?

  • What environments do I need to enable change?

  • Who will be using each environment?

This diagram shows what I feel is a good set of environments for a basic site.

Sunday, 11 May 2008

Why do I enjoy this so much?

I came across this the other day and cannot put my finger on why i enjoy it so much.
may be its because it pauses on JIRA

Friday, 2 May 2008

Versioning the Web

for (web=1; ; ) web++;

Those of us who have ever fixed a bug or released a patch will know the pain that is caused if you don't version your code.
It seems that the strange creatures who didn't spend all night playing Attic attack on their speccy have caught on to versions. But somehow they have made it more glamorous. Whilst trying showcase the achievements that Atos has made with web 2 products we are already talking about web 3. Whats it all about? Which version web means what?
In my nerdy engineers way I think about it like this
  • Web version 1.x is a read only web
  • Web version 2.x is a read write web
  • Web version 3.x I can read, I can write, I change the folders!
Putting my metaphor aside what is web 3? The best place to look is the wikipedia which has a great definition. The person most responsible for giving us web 2 is Eric Schmidt of google, he says that both web2 and web3 are marketing terms. This fits in with my engineers view on the world you should only increment the architecture number if you have a brand new solution( [product name].[architecture #].[feature #].[build #]). My guess is that we are around web.1.10.x. I think web 3 definitely sounds more fun!

Elliott - a little more

London, United Kingdom
I am an architect with shed loads of familiarity in providing high profile consumer media, products and services. I conceive ideas, design and lead projects to create new consumer products. I love brainstorming ideas with marketing counterparts and creating future facing and innovative solutions. I have been responsible for high volume mass consumer market features where scale, reliability and the ability to quickly respond are of crucial importance.