To a big degree Software Development involves creative and non-reoccuring actions. On the other side for the repetitive tasks you want to save time and increase quality with automation tools (scripts, build-tool, reporting). These should be a key part of your development/deployment/production cycle (building software, running tests, monitoring etc.). Still you also have to cover reoccuring tasks which are hard to automate and need human interaction, like:
- Rolling out releases (most often each release is unique and needs different changes in several orders on system environment).
- Implementing features, marking them as ‘done’.
- QA process, from testing to approval for production.
- Upgrading procedures.
- etc. …
I’ve always found such repetitive tasks hard to remember (especially when they spawn over a wider range of time). The result was, that sometimes steps were missing or were executed in the wrong order. After all costly and annoying afterwork was necessary.
Good old-style Checklists
Even highly skilled professionals hardly memorize every detail of execution steps and order (humans tend to be very bad at fulfilling repetitive tasks 100% correctly). To follow better a proven procedure checklist can help a lot. Their setup is cheap and following them can avoid to miss steps.
Sample checklist: Marking feature ‘done’
General reminder, no fixed order:
Sample checklist: Merging Branch to Mainline
Sequential, fixed order:
Advantages
Checklists:
- They improve awareness and common understanding of process
- New team members can be introduced better to current process.
- Relieving poor human memory.
- Increase of both efficiency and quality (less afterwork of forgotten tasks).
- Good cost/benefit ratio.
Of course it is important to not go overkill with checklists and list every milli-second step and fix the process (we’re not a car-factory dude!).
Lightweight Tooling
Checklists should be easy to to create, view, reset and follow (as foundation a wiki is perfect here). Often it is sufficient to have a simple table, because it lists all the steps sequentially and you can add notes to it. When there is a more complicated workflow an activity-diagram is better choice. Once you found a proven procedure, checklists tend to not change often, printing and pinning them up works also fine.
0 responses
You must log in to post a comment.