Face it — every job gets boring, routine, mundane or monotonous from time to time. Software development is not immune. The job may be intellectually stimulating much of the time but not all the time.
On agile development projects, velocity receives a lot of attention. Velocity measures how many story points a team can complete in one sprint (or other unit of time). We’d like velocity to be a constant, but that’s hard to achieve.
We want our teams to operate at a high level of intensity, but that’s hard to maintain. People need a variety of tasks. We need to explore new areas. We need social interactions. We need frequent breaks.
Here are 12 ideas for breaking up the daily software routine. Pick a few that you think will work in your environment and give them a try. We’re not machines and machines can’t write software … yet.
- Provide an exercise room with suitable equipment
- Create a game room with competitive games
- Provide education and training options both online and in a classroom
- Start a rewards and recognition program with frequent acknowledgements
- Promote socialization via team breakfasts, lunches or team celebrations
- Hold a raffle; proceeds go to a charity; prizes might be as simple as an afternoon off
- Offer flexible work schedules, e.g. time shifting or 4-day work weeks
- Allow team members to work from home periodically
- Provide a budget for each person to customize their work area
- Participate in community service programs
- Give people time to work on company projects of personal interest
- Rotate project responsibilities to give everyone exposure to different areas
Consider tossing these ideas around with the team. There’s enough here to stimulate even more ideas. Try a few things and see what works.
Up the intensity — just remember to take a break.