Archive

Archive for the ‘Productivity’ Category

Velocity: Tracking productivity instead of time

November 19, 2009 Leave a comment

One of the most interesting parts of Agile project management is watching the velocity of a team increase over time. As a team works together their productivity tends to increase. Agile represents the amount of work a team produces in a metric called velocity. imageFrequently teams new to agile will size the work in a time based unit such as hours or days. This is a common carry over from traditional project management. While Agile does manage time and resources, the time is fixed not variable. In Agile an iteration or sprint is a fixed length of time typically between two or four weeks. A chart showing time spent working in an iteration isn’t that valuable. A better process is to view the amount of work a team can produce in a specific amount of time. This is called velocity.

One challenge managers have with velocity is attempting to plan work for a new team on a new project since the velocity of the team is not known. Typically the first couple iterations, a new team is still forming and learning how to work together. Over time the estimates and velocity will stabilize. Looking at the velocity of a team as measured in points rather that hours provides a better indication on the performance of the group. Once the velocity begins to stabilize a team can accurately plan the work for a particular iteration.

imageLets look at an example. A small team is pulled together to work on a new project. They sit  down and estimated 30 stories varying between 2 and 10 points of effort each. The team believes they can take on 30 points in the first iteration (two weeks). At the end of that iteration the team only completed 10 points. When planning the next iteration the team learns from the previous one and only plans to complete 15 points. Iteration 2 hits the mark, the team does complete 15 points. For Iteration 3 the team plans for 15 points again. This time however they are able to complete 17 points, they’re getting better. Iteration 4 they plan for 18 points but produce 22. Iteration 5 they plan for 20 but only produce 18. Feeling they’ve identified the standard velocity at 20 points, the team continues through the project allocating 20 points per iteration. With this in mind the team can look at the work produced and determine how productive they are and forecast a valid completion timeline. This forecast is the projected project burn-up. The burn up chart shows the actual accumulated work completed against the projected values across multiple iterations. The burn-up chart can also chart scope increases and decreases A burn-down chart on the other hand deals with a fixed amount of work and shows the amount of that work completed in a single iteration. Both of these commonly used planning and status charts can’t be produced without understanding what the velocity of the team is. 

It’s tempting to use time as a unit of measurement in agile. Try to break away from the traditional views and track productivity instead. The results will be a more confident team and more accurate planning a reporting. In the end your customers will thank you for delivering what you said when you said, and for providing valuable statuses along the way.

 

Resources:

http://agilesoftwaredevelopment.com/blog/jackmilunsky/significance-story-points

http://www.versionone.com/Resources/Velocity.asp

http://grantjoung.blogspot.com/2009/07/efficiency-must-have-agile-metric-as.html

http://agilesoftwaredevelopment.com/blog/pbielicki/predicting-team-velocity-yesterday-weather-method

Fix for Google Calendar Sync Issue

September 21, 2009 Leave a comment

image I’ve had a problem with Google Calendar Sync for awhile. While trying to sync my work outlook account to my google calendar account the process seemed to only sync the appointments and not the meetings. I’ve tried multiple things over time to no avail. Today however I found a fix.

imageApparently Google Sync needs to resolve the names it finds on your meetings. To do this it tries to access the address list, but does not look in all your sources. So when JohnDoe@mycomany.com sends me an invite Google Sync tries to find Joe in my address book. The problem is Joe is in the company book not my local copy. Since my address book is first in the list, Google doesn’t find Joe there and errors out, thus leaving the invite unsynced.

 

To resolve this you need to set your global address book as the first source for address resolution. In Outlook 2007 go to Tools > Address Book > Tools > Options. Update your outlook settings so the Global list is first. Restart outlook, and perform a Sync. Voila! All your meetings and invites are now loading into Google Calendar

For more details on this fix please check out: http://www.google.com/support/forum/p/Calendar/thread?tid=3f87a989c560e850&hl=en

 

Best of luck, let me know if it worked for you.

Building High Performing Teams

September 18, 2009 1 comment

Introduction

Successful teams exhibit elements that can be utilized and fostered by leaders in their own teams to increase performance and collaboration. There are six components leaders should consider when fostering team development. These components include Size, Composition, Governance, Identity, Interaction and Culture. There is not one right composition of these elements rather a unique blending that each group requires to become a high performing team. An example of the impact of these elements can be viewed in the cases of two real teams. The first team, CodeMonkeys, was a software development team assembled to fulfill the coding needs of a major software initiative. The second team, Pixelators, were also software developers but were filing more of a support and maintenance role for a single application. Both of these teams exhibit characteristics from each of the six core elements. The ability of these teams to perform at their maximum was driven by this composition.

Various Elements of Team

Size

The number of members of a team impacts many of the other elements. Smaller teams trend to communicate better and require less governance. Conversely as the size of these teams grows, members tend to collaborate less (Gratton & Erickson, 2007). The Pixelators included 8 core members located in the same office space. The CodeMonkeys on the other hand varied between 30-80 at any given time and were spread between onsite and offshore locations. The smaller Pixelators team clearly collaborated much more frequently than the larger CodeMonkeys team.

Composition

Teams are built for various reasons and those needs dictate the various types of people the team needs. The composition of the teams extends beyond the technical skills of its members and includes some of the softer skills such as managing people and interpersonal communications. When building a team leaders should be mindful of the composition and makeup of the group. The Pixelators was a small team composed of individuals with unique skill sets. At most, two people would be a master of a particular skill. The team also had a breadth of leadership, interpersonal, and management skills to complete the structure. The CodeMonkeys on the other hand was comprised of individuals with similar skills. Members were interchangeable and common. The team lacked a sense of leadership or interpersonal skills and relied solely on the technical makeup to satisfy the needs of the project.

Governance

The governance of teams also varies based on size and makeup. Teams may be managed formally or self-managed. The larger and more sophisticated the monitoring and measurements become the more skilled the managers need to be (Liang, Rajan, & Ray, 2008) which can result in additional levels of skilled resources within the teams. Teams that are able to self govern tend to be given an objective and are able to figure out the means to accomplish it without being told. Managed teams are told not only what the objectives are but how and when to do each component. The CodeMonkeys had many levels of management and tools for tracking performance. The individuals felt no personal empowerment to make decisions on their own. When faced with an unexpected situation members would wait for direction rather than find a solution. The Pixelators represented a rather self directed team structure. While the group had formal management members were given objectives and were able to work out the solutions on their own. This built levels of trust and collaboration within the team making them ultimately more self sufficient.

Interaction

How members of the team communicate and collaborate plays an important role in the ability of the team to succeed. Face to face communication typically provides the best results but various technologies can be utilized to facilitate interactions. It should be noted however that teamwork most successfully occurs after team building, and too often this team building is lacking in online environments (Staggers, Garcia, & Nagelhout, 2008). This can be seen clearly with the CodeMonkey team. This larger group communicated regularly providing status reports and task updates to other members of the team. Little if any team building occurred and interpersonal interactions were minimal. Great distances and cold technology enabled individuals to isolate and function away from the team. The Pixilators worked in close proximity interacting both in person and through technology regularly daily. Team building occurred frequently as members discussed non work events building camaraderie and personal relationships

Identity

In order to build a team the individuals need to feel part of the group. To enable these teams need to be able to demonstrate boundaries of the team versus the rest of the world. This ability to identify the team can be address in multiple ways. Proximity and frequency provide the most straight forward means of designating groups. The closer individuals are to each other, the more likely they are to associate as a group. Additionally the more time these individuals spend together, through technology or in person, the more likely group tendencies will arise. To further enable the team identity leaders should consider a name for the group. Names promote a team atmosphere and support the bonding of a group into a team. The names used here are not the real names for these teams. Leadership however did provide CodeMonkeys with a name for the team. Unfortunately the high rate of turnover, great distances, and lack of interpersonal interactions left the group with a name and no identity. In reality the Pixilators did not have as strong a team name; however the proximity and shared purpose set the group apart as a team with a clear identity.

Ideology

Ultimately individuals bond with others who share similar traits. As teams form they build upon those shared values and ideals. Leaders have traditionally focused on three primary elements of team culture including Norms, Roles, and Goals, however these alone do not provide the means for a group to bond into a team. Norms, the rules and standards the team adopts, Roles each member holds and the Goals the team is working toward can be placed on the team or developed by the team. The CodeMonkeys had volumes of documentation clearly stating the norms of the team, how people should interact, how decisions were made etc. There were also scores of responsibility charts defining roles, and of course the project charter defined the goal. Yet with all these elements readily available none of the members really felt part of that ideal. One might suggest that the team culture needs to be developed and absorbed by the members rather than forced upon by outside entities. The Pixelators had no formal documentation stating role or norms but it was clear overtime that coming late to meetings was not acceptable and certain people were in more leadership positions than others. The team did not have a vision or mission statement but they all shared the same goals and objectives.

Conclusion

These six elements represent areas leadership needs to consider when developing teams. In most cases high performing teams bond on a personal level. Leadership needs to support team development by creating environments and situations with Size, Composition, Governance, Identity, Interaction and Culture that enable individuals to join and create high performing teams.

References

Gratton, L., & Erickson, T. J. (2007, Nov). 8 Ways to Build Collaborative Teams. Harvard Business Review , 85 (11), pp. p100-109.

Liang, P. J., Rajan, M. V., & Ray, K. (2008, May). Optimal Team Size and Monitoring in Organizations. Accounting Review , 83 (3), pp. p789-822.

Staggers, J., Garcia, S., & Nagelhout, E. (2008, Dec). Teamwork Through Team Building: Face-To-Face to Online. Business Communication Quarterly , 71 (4), pp. p472-487.

Give yourself a promotion, no one else will.

November 18, 2008 Leave a comment

Are you happy with your current position in your company? No, what are you doing about it? I hear people complaining way too often that they are unhappy with their work and for whatever reason they put up with it. The overwhelming reason is that people are waiting for someone to pull them up through a corporation. They’re looking for a manager to create a development plan, waiting for an executive to offer them a promotion, waiting for a project manager to ask them to be on the next big project.

No one cares about you

The bottom line is none of this will happen. Sure there are the cases where people are really recognized for the value they provide but it rarely happens. Think about it, if you’re doing a great job in your current role, why would a manger want to pull you out of that roll and put you in something else, she needs a competent person in that roll.

Provide a successor

Sure you may think you have job security being the linchpin in a critical system, but if you’re the only one who can do it there is no way your managers will push to get you on something else. As for a development plan, most development plans are geared toward what the enterprise wants not what you want. If you’re a java developer and you want to be well rounded, ask your manager if you can take a class on C#. Best of luck with that.

Create your own development plan

We’re not talking about a development plan for HR, make one for yourself. Don’t just sit there looking at it, act on it. Truth is if you haven’t learned anything new in the past three months you’re not going anywhere.

Learn something new each quarter

The whole objective is that you need to work for what you want and where you want to be. Point in case, you want your managers job. How willing do you think your boss would be to stepping out of your way. Exactly, your manager has no interest in grooming you for his position. If you see no room for movement within your team look elsewhere.

Find your own path

Better yet move someone out of the position you want. No I’m not talking about hiring a hit man. Pick a position you want and get close to that person. Understand what *they* want from their career and help them get there. Challenge them to be better ask them questions, compliment them in front of key people, help them get where they way to go. If you’ve played your cards right you’ve show you have the skills and have been visible enough to slide right in to the empty chair.

Help your obstacles move

You might find yourself in a place where everyone is very content and no one wants to move anywhere. First be careful you don’t catch what they have. Truth is there is nothing wrong with aspiring to be better than you are. It’s not a sign of weakness, rather is a sign of strength. Sure your developer buddies may laugh that you sound like you want to be a manager, but in five years they’ll still be there doing the same thing, you’ll be bringing in more cash, doing cool new things.

Embrace your dreams, they’re not nightmares

Finally it’s called the corporate ladder for a reason. You need to take the time and effort to climb it. You need to work at it, find resources, look for opportunities, be proactive. If managers and leaders really were to pull you up through the ranks it would be called the corporate elevator. You need to make it happen.

Give yourself that promotion