Profile Picture

Hi, I'm Bagwan Pankaj.

A Technology enthusiast, living in Hyderabad, India and this is a place where I try to put trivial tricks to improve productivity. I live my code and tweet. Shoot me an email if you'd like to be in touch.

rė`dŭkt means reduce. Here I am trying to reduce clutter in product management.

rė`dŭkt

Productivity Mantra#2 Do not complete things in batches

Problem

Every team try to accomplish things in batches or in dedicated intervals. Lets assume tasks a given team handles in a given day; are (in no perticular order)

1.) Meetings
2.) Development
3.) Communication/Estimation/Chores
4.) Code Review
5.) Deployment

So we have six tasks to do in a given day, if we alot timeframe to every task, let's assume this as well

1.) Meetings 1 hr
2.) Development 3 hr
3.) Communication/Estimation/Chores 1 hr
4.) Code Review 2 hr
5.) Deployment 1 hr

This is like keep on storing stuff to be done, handle them at one go or process them in batch fashion Problems that I see doing stuff in batch fashion are:

  • Alloted time might not be sufficient for accumulated tasks or their might not be sufficient tasks to consume 100% of time allotted. For example code that needs to be reviewed, might consume more than 2 hrs, or their might not be any code or little code that nees to be reviewed.

  • Accumulated stuff might have dependencies on other tasks/resources, hence duplicating or wasting efforts For example, Deployment is dependent on code review. If there is lots of code to be reviewed, one either need to differ deployment or prolong it.

  • Context switching needed for brain, to remember last left state of tasks. Knowledge that needed to do dishes (in lay man's term).

For example, lets say; a member starts reviewing piece of code, that's been done in morning, one need to remeber or gain that back to actually understand and efficiently review it.

Solution

As one can see, solution is straight forward, handle stuff as they come. In agile development mode,

1.) Put your team in one room (go get a chatroom for team collaboration), this way one will find all information required at one place.

2.) Tell them to use chat room, instead of one to one discussion. This will help in getting valuable information shared as well as other member can also participate. Remember

There are no answers, just opinions. Best considered opinion(at given time) can be attributed as answer. courtesy

3.) review code as a team; as it is committed, use lots of +/-1, thumbs up/down. This way it will also add to fun, keeping team in its top speed.

4.) automate stuff, like continuous integration, deployment. Do them as they come, multiple times a day, except for production deployment if it is released in batch.

Happy Productivity :)

comments powered by Disqus