Clients Say

Speaking of their experiences working with Graham Williamson, Figment's Principle Consultant:

"Graham is an extremely dedicated technologist who always goes the extra mile to ensure delivery. His passion and creativity will empower any team to deliver above and beyond their usual level."

"Graham has an impressive breadth of technical skills and interests, not limited to SOA, web application development and OSGi. He also demonstrates a strong creative capability in the solutions he builds. Graham is a fun and cooperative team member who savours a challenge."

"Graham is an excellent architect & developer, very pro-active and able to drive projects forward."

"Graham is an experienced enterprise application developer whom I had the pleasure of working with. He has excellent knowledge about all layers in tiered applications including Web Services, Serivice Oriented Architecture and front end (web and rich client platforms)."

"I've no hesitation in recommending Graham - he has excellent technical skills but what makes him stand out is his commitment to quality and his fantastic client facing skills."

“Graham's strong technical skills and willingness to tackle any issue or task contributed greatly to a number of projects. He consistently demonstrated the ability to work as part of a group or tackle a solo task with a thorough and professional attitude, communicating in a clear and timely manner. These qualities make him an excellent member of any team."

Figment Software offer a complete Technical Project Management service for any type of technical project, capable of scaling to projects of significant size.


Figment offer the following Technical Project Management services:

  • Project evaluation services
  • Project recovery
  • Project kick-start
  • Start-to-finish project management
  • Project management training

Figment advocate the use of Agile practices and offer the following Agile-specific services in addition to the above:

  • Agile coaching and training
  • Agile software training


The term Agile refers to a group of methodologies in which:

  1. Development is Iterative & Incremental
  2. Requirements evolve
  3. Solutions evolve
  4. Teams are Self-Organising & Cross-Functional

Agile Values & Principles

Agile values…

  • Individuals and interactions over Processes and tools
  • Working software over Comprehensive documentation
  • Customer collaboration over Contract negotiation
  • Responding to change over Following a plan

At the heart of Agile are the following principles:

  • Working software should be delivered frequently.
  • Working software is the primary measure of progress.
  • Changing requirements should be welcomed even late in development.
  • Business people and developers must work together daily.
  • Face-to-face conversation is the most efficient and effective method of conveying information.
  • The pace should be constant and maintainable indefinitely.
  • Self-organising teams produce the best architectures, requirements and designs.
  • The team should regularly reflect and adapt to become more effective.

Customers satisfied through early and continuous delivery of value.
For more information refer to the Agile Manifesto.

Selected Agile Methodologies

There are many agile methodologies. Figment advocate the use of the following:

These methodologies can be used independently, but have greatest effect and benefit when used in combination.

Extreme Programming (XP)

Extreme Programming is an Iterative and incremental software development discipline.

  • Test Driven Development (TDD)
  • Pair Programming
  • Continuous Integration
  • Refactoring
  • Small releases
  • Collective code ownership
  • Simplicity
  • Sustainable pace
  • Continual customer contact
  • Requirements specified as acceptance tests


Scrum is an Iterative and incremental project management framework.
It can be described in essence as:

  1. A prioritised TODO list. (Product Backlog)
  2. Meetings to manipulate this list. (Ceremonies)
  3. Fixed periods of time within which a fixed subset of the list is attempted. (Sprints)

User Stories

User Stories fit perfectly with XP practices and the Scrum framework, as enriched and more meaningful Backlog items.
A User Story describes functionality that is valuable to users of the system, and consists of the following:

  1. Written description used for planning and reminding
  2. Conversations that flesh out details
  3. Tests that convey and document details (closed)

User Stories avoid Backlog items being technically oriented, making them easier to understand, asses the value of and consequently prioritise.

Find Out More

Why not read about how we have applied this service within our projects?
Contact Us to find out more about our services and expertise.