Tuesday, May 29, 2012

Agile Australia 2012



Looking forward to attend the Agile Australia sessions starting tomorrow.  Looks like the venue is running with full capacity with conference tickets sold out.  

We have so many good tracks running in parallel, and it is making me difficult to decide the sessions.

Feel free to follow the conference using the Twitter hash-tag  #Agileaus.

Sunday, May 20, 2012

Litmus test for an Agile company : practicing Sustainable pace



      Nowadays with the advent of  blackberries and smartphones, the work hours are no more restricted to 9 to 5.  These devices can download emails any time any where, and in turn has enabled professionals to work as per their wish. 

According to a recent survey by Neverfail, a software company specializing in data protection,

83 % of professional workers say they check email after work. 
66 % take a smartphone or laptop with them on vacation and
more than 50 % report that they send emails or texts during a meal with family or friends.

It is obvious that checking work related emails at home carries the mental pressure associated at work to private life.  This in turn has triggered more questions than answers. They are..

is this a healthy way of living/working ?    
Should an individual take responsibility to balance work and life ?  
Is there a role that an organization can play here, if so, do they get any benefit out of it ?

Even though the individual has a key role in finding their own work/life balance, I feel that employers have an equal role to play as well in this era of globalization.    Let me share a few researches to support this idea.

Firstly, according to a study by Dov Eden of Tel Aviv’s University’s

Employees who feel compelled to be at the beck and call of work at all times are unlikely to recover from the ill-effects of chronic job stress. This is a causal chain that eventually gets internalized as psychological and behavioural responses that can bring on serious chronic disease.

The employees checking emails during their vacation, will come back to work to get burned out more rather than a relaxed vacation. Burned out employees in turn are less efficient and less productive draining companies resources.

Secondly, as per the famous Predictable time off experiment conducted by BCG, the consultants who had time off felt happier and better at their jobs than those who did not. They were also more efficient. One of the teams that participated in this experiment decreased its average workweek from 65 to 58 hours while accomplishing essentially the same amount. Isn’t this more efficient for the company ?     Today, BCG teams that join the predictable time off program meet regularly to work out schedules so that every member can take an official break from e-mail one night each week, not including weekends.

Keeping in mind some of the above mentioned issues of  workers getting burned out, Volkswagen has programmed its e-mail servers to stop sending messages to many of its German employees after their shifts end.  Isn’t this a good move by such a large company to help their employees and in turn themselves ?

eXtreme Programming(XP) introduced Sustainable pace a long ago. Now it is turn for the truly Agile companies to introduce  programs like Predictable time off, shut down email servers during the weekends to help employee burn out and improve the productivity.  I truly believe that supporting the idea of Scrum or XP or Kanban is not going to make a company Agile, but introducing above ideas is the true litmus test for an Agile company.

Wednesday, May 02, 2012

New Skills for the Agile Team

Agile development teams live and die by their code. Many have found in practice that “good” agile code is ID-10044938extensible, low-defect code with the simplest robust design that will work for the features currently implemented. Among the agile methodologies, Extreme Programming (XP) goes into the most depth concerning how programmers can keep themselves and their code agile. Below are some new skills that agile teams need to embrace.

Simple Design

Agile teams are under pressure to deliver working, tested code at the end of each iteration and their code must be capable of turning on a dime at any moment. So agile teams place enormous value on the extensibility of their code: the extent to which they can easily maintain and extend it. The other key component of extensibility is design simplicity. Extensibility seems to be inversely proportional to design complexity.


Refactoring is the process of clarifying and simplifying the design of existing code, without changing its behavior. Agile teams are maintaining and extending their code a lot from iteration to iteration, and without continuous refactoring, this is hard to do. This is because un-refactored code tends to rot. Rot takes several forms: unhealthy dependencies between classes or packages, bad allocation of class responsibilities, way too many responsibilities per method or class, duplicate code and many other varieties of confusion and clutter.

Breaking Down Work

Agile methods promote taking large projects and breaking them down into a coordinated series of smaller projects developed by smaller, cross-functional teams. The various teams’ work (i.e. code) is integrated at least every iteration in order to reduce risk and ensure functional and technical compatibility.

Continuous Planning

An incremental approach to planning allows for initial planning at a high level, and iterative planning at lower levels as more knowledge is gained. As teams begin to learn what they can deliver on a daily, weekly and monthly basis, they become more accurate at both their short- and long-term planning abilities than they ever were with traditional planning approaches.

Providing Input

Collaborative decision-making techniques are important because agile requirements definition involves more than just the Business Analyst and the Product Owner. Agile encourages input from all team members to create a more robust solution that meets the needs of the business and helps create a strong sense of confidence that the solution can be delivered to market.

These are just a few of the new skills agile teams need to embrace. Learn more about other Agile Programming Practices.