Our Approach

Collaborative software development

We believe that successful IT projects need business understanding and IT expertise. We use facilitated workshops to dynamically bring together:

  • Understanding of the business objectives.
  • Understanding of how the business works.
  • Understanding of IT systems and architecture, both software and hardware.
  • Understanding of the latest tools and techniques.

Iterative software development

Talking about a piece of software is nothing like seeing, feeling and using a piece of software.

We use prototyping as a tool for communication, understanding and decision-making.

Prototypes go through three stages:

  • Planning
  • Building
  • Reviewing

Prototypes are planned and reviewed in facilitated workshops.

It’s an iterative process – when a prototype is initially reviewed it usually elicits comments such as, ‘I like that’, ‘I don’t like that’, ‘can we do this?’ The prototype is then refined and reviewed again.

Prototyping is ongoing throughout the project so that the business is seeing the system develop and giving feedback right from the start of the project.

Having the right people involved in prototyping planning and reviewing ensures that the project stays on track and remains focussed on the business objectives.

As the final prototype for each part of the system is completed it forms part of the final solution allowing progress to be tracked throughout the project.

Responsive Software Development

Responsive Software Development is very closely linked to Iterative Software Development.

Traditionally change in a project has been seen as something to be feared and avoided. Agile methodologies acknowledge that change is inevitable and so needs to be managed.

Using an iterative prototyping approach to software development allows us to show our clients the software as it is being built and so we can integrate their feedback.

This has a number of benefits:

  • It helps ensure that the developing system is a good fit for the business objectives.
  • It allows the developing system to reflect changes to business climate and business needs.

Controlled Software Development

IT projects have a reputation for exceeding both timescales and budget. We use DSDM and Prince 2 to ensure project control.

We use a number of techniques to control software development but in particular these include:

  • Prototyping. This ensures that the finished system is in line with the business objectives. There is more information on this above in the Iterative and Responsive Software Development Sections.
  • Time boxing. A time box is a fixed length of time within which part of the system will be developed. We break projects down into a number of time boxes. This allows us to keep a close eye on how the project progress.
  • Prioritisation. Ideas are endless resources are not. Prioritisation is a way of ensuring that the resources available for a project are focussed appropriately. The underlying question becomes, does this contribute to the business objectives for this project and if it does how useful is it? The Moscow rules are a useful way of prioritising:
    Must have
    O
    Should have
    Could have / could do without
    O
    Wish list.