When writing software, the question sometimes arise, ”What’s good enough code” and how you can define code quality.
For a non software developer, these levels may not that easy to understand, so therefore I would like to make a more visual description of acceptable quality, using film as an example.
In filmmaking there are three aspects of quality: i.e, story, acting and production value, e.g. a more technical quality.
I would like compare software quality to technical quality, as even the most elegant written piece of software is worthless if it doesn’t solve a customer problem. Same with film, a good technical quality is not enough if story and acting is bad.
In order for a recorded clip to be usable, it has to follow these eight basic rules:
- Coverage: All scenes with at least one shot per scen
- Composition: Basic composition rules; one-third, diagonal etc.
- Movement: Stable camera movements, no camera shake or rapid zoom in/out
- Focus: Main subject in focus
- Exposure: Correct exposure for the main subject
- White balance: Correct color balance for main subject in indoor/outdoor environments
- Sound: Clear dialogue without disturbing sound from environment
- Sync: Image and sound in sync and no drift during clips
The challenge for the crew is to deliver consistent footage that reach this level, with pressure to deliverer on time and with Murphys Law always present. To achieve this, you need skilled people working together, but this is not different from a software development team.
But what about a few simple rules for software development, that work for different languages?