Bespoke software

Specification and design


One of the biggest problems to beset software development projects, and a major cause of project failure, is the lack of an adequate specification and design. It's easy to see why - the client's domain of expertise is their business requirements; the developer's domain of expertise is their technical knowledge, and they don't usually overlap. We call this the “business-IT” gap.

The specification is intended to bridge this gap and translate the business requirements into a definitive technical description of the project deliverables from which developers can work. But creating this specification is difficult because it requires knowledge of both domains of expertise.

This is where Codespinner can help. Our consultants all possess many years of first-hand experience of bespoke software development and project management. They understand the issues that can result from underspecified projects, and what is required from a specification in order to avoid them.

All of our employees are extremely technically skilled. they are very good at understanding the client's business requirements and translating these into technical requirements.

We believe this to be one of Codespinner's key strengths as an organisation - we engage closely with each customer and strive to achieve a deep understanding of their business and how the project objectives relate to it. Only by doing this can we be sure really to understand what the customer actually wants, in order to bridge the business-IT gap.

The output of a specification consultancy phase is typically documentation (and possibly other deliverables) that defines the scope of the project from a technical perspective, making reference to the business requirements where applicable. For large projects, a high-level component design might also be undertaken in order to help size the project more accurately. Together, these deliverables are sufficient to allow software development organisations (including Codespinner if requested) to quote on a fixed-price basis for development of the required software.