[trustable-software] Construction problems
Paul Sherwood
paul.sherwood at codethink.co.uk
Thu Jan 25 11:26:15 GMT 2018
Hi all,
now I've got started documenting some basics about "stuff we think we
know" I've taken a shot at "problems with software construction".
I'm trying to avoid making any suggestions about solutions *at all*
until I'm confident that the problem areas are well described.
My starter-for-ten is as follows:
# problems with software construction
- builds take too long, so
- engineer time is wasted directly waiting for builds
- downstream/dependent activities are delayed
- build process/tooling is complex and/or involves multiple approaches,
so
- engineer time is wasted learning specifics and tricks and
workarounds
- new and drive-by engineers waste time getting up-to-speed
- build tools misbehave in unexpected ways, so
- engineer time is wasted debugging the build tooling
- downstream/dependent activities are delayed
- downstream/dependent activities may be impacted by
pollution/corruption
- build tools generate different outputs on different machines, or
between runs, so
- engineer time is wasted debugging the differences
- we can not guarantee that the output is what we expect/want
- we can not guarantee that we can get the same output again in future
- downstream/dependent activities are delayed
- downstream/dependent activities may be impacted by
changes/pollution/corruption
- builds are affected/modified by dependencies/inputs/upstream changes,
so
- engineer time is wasted debugging the differences
- we can not guarantee that the output is what we expect/want
- we can not guarantee that we can get the same output again in future
- downstream/dependent activities are delayed
- downstream/dependent activities may be impacted by
changes/pollution/corruption
Any feedback/suggestions would be much appreciated.
The master version of this text is at [1]. Soon I'll tidy up the repo
and rename it, since it now occurs to me that this is a step towards a
potential 'single point of truth' for basic reasoning about the problems
we face, along with defensible logic to justify any potential solutions
we recommend/adopt.
br
Paul
More information about the trustable-software
mailing list