Project lifecycle

Specification & Design

Requirements Analysis | Look & Feel Design | UI Design | Graphic Design | Technical Specification | Technical Design

It is important to specify what will be built so that all stakeholders agree on the scope of the project, and to design how it will be built to ensure consistency, efficiency and scalability. As the figure below shows, many of the activities of the Specification & Design stage take place in parallel.

Diagram of the Spec and Design stage: requirements analysis, technical specification and technical design in parallel with front end design

Requirements Analysis

Requirements analysis starts at the sales stage of a project (before we have even won the project!), when we get an overview of what is required. The first meeting or workshop continues this process by drilling down into each high-level requirement and uncovering what is required in more detail. Following this process, in a workshop environment, we identify the main user groups (i.e. types of user who will interact with the final product) and, for each user group, list the goals that the users will have when using the website. These lists of user goals are then prioritised, which gives us a good idea which parts of the scope are the most important. This approach ensures that the website supports the user's objectives, and is the start of good user-interface design.

Back to top »

Look & Feel Design

The "look & feel" of a website refers to what the user sees and the general feeling that s/he should get from the website. Generally, our clients already have their brand established and our graphic designers will reflect that brand in the look & feel. The look & feel, shown in the form of sketches, shows patterns, colours and high-level page layouts.

In cases where our clients need to create a brand, we would work with them to select a branding company or freelance brand strategist.

Back to top »

UI Design

The initial user interface design is carried out in a workshop attended by stakeholders and user-group representatives (i.e. people who know the requirements of the end-users). We first plan the overall organisation of the site, i.e. how to organise the content into distinct areas, then plan the navigation between pages and finally design the UI for each page. At this stage each page is represented by nothing more complicated than a sketch on a whiteboard, or drawings on paper. The pages are only rendered in graphics or HTML once everyone has agreed these first drafts (since it is much easier to redo a whiteboard sketch than an HTML page).

Back to top »

Graphic Design

The graphic designer uses the outputs of the Look & Feel and UI Design activities to create the graphics needed for the website.

Back to top »

Technical Specification

The technical specification rigorously defines what is in the scope of the project, so that everyone agrees what will be built before the build starts.

Back to top »

Technical Design

We believe firmly in the need for good design. It is extremely important to have good user interface and artistic design but it is crucial to have good technical design. Get it wrong and deadlines will be missed, hours will be spent fixing simple problems and code will be at best full of inconsistencies, at worst a total mess. Get it right and the code will be faster to develop, elegant, robust, and will accommodate changes and extensions easily.

We use industry standard techniques during design: such as OMT Object Modelling, and ERD Data Modelling; and some techniques that we have developed ourselves, such as our Low-Level Design methodology.

The technical design stage consists of choosing the technologies that will be used (e.g. which application server, which platform), component architecture, object modelling, data modelling, designing (or agreeing) tag libraries, and low-level design.

The low-level design process is carried out by all developers before they start the build. After reading the design document, a group meeting is held, lead by the software architect or technical lead, in which each developer describes their low-level design for the components they have been assigned, and how their design fits in with the component design and object model. This allows developers to share and cross-check their ideas and highlights any misunderstandings or potential problems with the design.

Build »

TestBuildUI DesignGraphic DesignLook & FeelTechnical DesignTechnical SpecificationRequirements Analysis