How to keep your client happy in a software project?

The title could be also “How to record the progress of a project and keep your client on the same page with you when a project moves fast forward?”.

One of the key documents in my client communication is a changelog. It’s perhaps the most important technical documentation, since it sums up all the development work in a very concise form.

Changelog provides an easy and quick way for a client to check where the project is going. It’s also an important future reference for what has happened. It’s so easy to forget many details and decisions made during a long project. When it’s time to look back what has been achieved there’s no better tool than a changelog.

It’s important to note that changelog is not a collection of commit messages. It is a chronologically ordered list of notable changes for each version of a project. I also include a section of ‘Unreleased changes’ into my changelog. It shows which features are currently under development.

How do I know if I have made a good changelog?

My client presentations are based on a changelog. I write the changelog in a language that also people who are not developers can understand.

If I can hold a good presentation without preparing a lot of background material I know that the changelog describes the notable changes well. This is also the moment when the changelog becomes a huge time saver.