Wednesday 29 May 2013

Developing an Agile Mind - Stress and Planning

Manage your stress ladder


Anybody that has worked on a project, whether a Project Manager or Developer, will tell you that stress plays an important part in ensuring productivity and success.


As we become too stressed and anxious, we lose our ability to make informed decisions and problem solve.
As a developer this has a direct effect on quality of the code we write.  

Imagine your day to day stresses as a ladder.  You wake up and maybe you spill coffee down your top and the car didn’t start.  Now you get to work to find an email from your boss asking you to move to another project, then you find a bug in your code that was missed during testing.  On their own we can manage each of these with very little stress involved.  However, add each of them to a step on a ladder and they soon mount up.  Now your computer crashes and you haven’t saved your work, this was the last straw and you snap your pencil and walk out having not finished any work.  Now you are awake all night because you think you are going to get the sack.  The next day productivity is not only effected by stress but also fatigue and tiredness.
Things are spiraling out of control.

At the coal face


These tips below will help manage your stress level and help to ensure consistent productivity during a sprint;
  1. Communication – If there is anything you should take away from this blog, then it’s this point.  Make sure you communicate any concerns.  It is easy to go quiet when things start going wrong.  By communicating to the team any problems or concerns early on then there is more than likely to be an easy solution provided by the team.  There are no individuals in Agile.  The daily scrum is the best tool to communicate concerns.  If it is personnel then speak to the scrum master face to face.
  2. Set yourself goals for the sprint. ‘By Tuesday I want to have completed….’  Aiming for these goals will help you identify issues early.
  3. Have a ‘To do’ list that has every task that swirls around your head.  It doesn’t matter if these are project related or simple personal tasks.  I would suggest using the traditional pen and paper for this.  Scrubbing a task out with a pen is far more satisfying than a click of the mouse.  This tip will help put your tasks into context which often are far more simple than when rushing around your head like a washing machine.
  4. Your lunch break is not just for eating your lunch, its time provided by your employer for you to relax, so use it.  Try to avoid taking lunch at your desk and go for a walk.  You will find that when you return you will be thinking clearer.   Taking your lunch break correctly will raise your days productivity. 
  5. Don’t snap that pencil, it’s done nothing to you.  If you feel like taking your stress out on your pencil then take a short break.  Sometimes removing yourself from the situation will help solve the problem quicker when you return a little more relaxed.  If you can’t escape your desk then sit down, close your eyes, plant your feet on the ground and imagine them sinking into the floor.  This is a simple distraction technique, maybe you can find a distraction that best suits you and is a quick way to relax yourself. 
  6. Honesty and transparency. Nothing reassures you better in the knowledge that you have been honest with yourself and the project team.  Problems are never as bad as we perceive them to be so being open with issues will help you keep your stress levels down.

Sprint planning – Pressure versus Caution


As developers, we are not always happy to take on too much work during a sprint.  In fact we would like to accept a small amount that we know we can complete and be able to pull more work some more at the end of the sprint.  This is surely better than bringing in too much and failing the sprint.  But this mind set is not always best practice. I have personally found that by being too conservative with the amount I take on can have a detrimental effect on my performance and there is a good reason for this...

This diagram shows the Yerkes-Dodson Performance/Stress curve.  It shows that there is a balance between too little stress and too much stress and how this has can affect your performance.  You can see that if we take on too little work then we run the risk of being too calm and relaxed.  The thought at the start of the sprint is “Oh I have plenty of time” or we are more acceptant of interruptions.  So by the end of the sprint we then become overloaded and stressed because we have only taken on a small amount of work but it is likely we will fail the sprint.  On the flip-side, taking on too much work would mean we would become overloaded and this will cause us to take short cuts, make mistakes and introduce defects unless we just accept failure early on.  

Find the balance, you should never walk out of a sprint planning session feeling completely happy about the amount of work you have taken on nor should you feel distressed.  This is where a small feeling of anxiety is a good thing.  This anxiety will stop you accepting interruptions, it will focus you.  You will get to your desk and get cracking.
  
There are some big caveats to the above advice.  You have to take into account outside stresses such as personal circumstances or other projects you are assigned to.  It is important to remember that if you are already stressed or anxious before the sprint starts then you are less likely to be able to take on as much work as usual. In this case it is better to share your concerns with the project team/manager.  Let them know that you don’t feel 100%.  By trying to soldier on and take on the usual amount of work, will overload you quicker and you will be more likely to fail the sprint or take short cuts.  Remember, it is better to take on 80% of the usual work load and complete it to a high standard than complete 100% of the usual workload at lower quality, this will only lead to technical debt (Defects).

You know you limits better than anyone else, so speak up and don’t be bullied in the planning session.  


No comments:

Post a Comment