Principles

This page describes how we carry out projects and how we run Common Interest Computing.

Engineering principles

Code review

Design decisions and consequential code are reviewed by a second experienced engineer before the client sees them, on every project. Two of the three directors are senior software engineers, which makes this possible in a small organisation.

Built for live use

Deliverables are built to the standard needed for live use from the start: tested, secure by default, with every change recorded, and set up so the system can be installed the same way each time. A prototype is not put into live use until it meets the same standard.

Security and compliance

A named director is responsible for security and compliance on each project, from first contact to handover. The assessments needed for security, accessibility, data protection and any sector regulations are agreed during scoping. We intend to hold Cyber Essentials Plus certification, the UK government-backed cyber security standard, from the start of Phase One. Where a client’s sector has additional standards, such as clinical safety, financial-services rules or security accreditation, those standards are included in the scope and the price. If we cannot meet them, we do not take the project on.

Documentation

Documentation is written for the person who will maintain the system, while the work happens. By handover it describes the system as built.

Testing and change records

Automated tests check the work each time it changes and are handed over with the software. Every change is recorded, so earlier versions can be restored and the system can be set up again exactly as it was. The full record of changes goes to the client at handover.

Hosting

We arrange hosting for everything we build, so you are not left to set it up yourself. Depending on what suits you, it runs on our own servers, with a hosting partner, or on your organisation’s own servers, and the same set-up works in each. You also choose the licence the software is released under: an open licence, internal use only, or proprietary to your organisation. In each case you own the software and can move it to another host if you choose.

How we run the organisation

Community Interest Company and asset lock

Common Interest Computing is a Community Interest Company limited by guarantee, with no shareholders, dividends or investors expecting returns. The statutory asset lock means nobody can extract accumulated value from the organisation. If the company ever winds down, remaining assets transfer to another community-interest body or registered charity. We chose this structure so that the company cannot be run for the benefit of owners or investors.

Reserves

Every engagement carries a commitment to support the client for as long as they need us. Moving more of the day-to-day support to the client’s own staff takes from a few months on small systems to several years on larger ones. We hold reserves on the balance sheet so that commitment can be met when new work is slow. The operating margin builds those reserves and is not paid out as profit.

Revenue

Our income comes from day rates and hosting charges. We do not charge for the use of software we have built for you, and the company’s constitution and stated activities rule out licence income from our work.

Pricing

Engagements are priced at cost plus a margin, with the day rate published. Where a client wants a fixed price, it is built from the same cost basis. There are no hidden fees or recurring licence charges, and we do not use blended rates (a single averaged day rate across the whole team).

Long-term maintainability

We support what we build for as long as clients need us. Because Common Interest Computing may not always exist, the software is designed so that people who do not work for us can maintain and change it. Documentation is written for the people who will look after the system, and the system can be moved off our servers to another host. Under an open licence no further arrangement is needed. Under an internal-use or proprietary licence, escrow (a copy of the software held by an independent third party) and agreed exit terms give the same protection.

Limits on engagement load

A small organisation cannot meet many large support commitments at once, so we limit the number of active engagements per engineer. Where demand exceeds capacity we will say so, and either decline the work, offer a later start date or suggest another supplier, so that work already in progress is not affected.

Annual public reporting

We file an annual Community Interest Company report with the Regulator of Community Interest Companies and publish a list of completed engagements showing the problem addressed, the cost to the client and the outcome. Our accounts are reviewed by an accountant in Phase One and independently audited from Phase Two onwards.

Working principles

Written communication

We write down briefs and decisions. We hold meetings when a question cannot be settled in writing, and they are scheduled in advance with a stated purpose. Most other communication is by short written messages.

Delivery cadence

Each project has a defined start, end and deliverable. Increments are delivered fortnightly with a working demonstration at each one, and you can stop after any of them and keep everything delivered to that point.

Reporting problems

If a project is going off track, or a deliverable is going to be late, we will tell you as early as possible and explain why. Where a problem has not been properly defined, we will say so before taking any payment.

Named maintainer

Handover takes place when a named person on the client side has been walked through the system and has confirmed they can run it day to day; our support continues after that. If there is no such person yet, we help you recruit or identify someone to take it on.

What we will not do