31st March 2009

Collaborative environments to achieve goals

Many productivity problems I’ve found in teams are closely related to collaboration barriers. Really, any time frustration or problem your team is up to, please take the time to see if the roots of the problem is because your team is not fitting the following description:

A group of people come together, create a sufficiently shared understanding of an equifinal meaning that enables coordinated behavior, and then the actual activities of task identification, decomposition, distribution, coordination, and integration of outcomes are accomplished in a manner that lasts long enough for the goals [...] are realized.

That’s the definition of Collaboration as stated in Luke Hohmann’s article Some Answers to What’s Collaboration? .

Enforce collaboration. Agile practicesare meant to enforce collaboration. Think about it:

  • A dedicate workspace for team.
  • The workspace is in itself a meeting place, so anyone can convoke a meeting at any time without waiting for meeting room to be available.
  • The team is working in a circle-like distribution, everybody facing averybody.
  • Pair programming.
  • People participating in Daily stand-ups are talking to everybody, not only to ScrumMaster/Leader.
  • The ScrumMaster enforces a shared vision.
  • Openness in any meeting, specially in Retrospective meetings.
  • Shared agreement in decisions, even in controversial matters.
  • Reflect and Inspect what went wrong and right in each iteration (Retrospective meetings) in order to improve teaming.

Further reading

How to set up a productive working environment for Agile teams

Pair Programming with VNC

Organizing an Agile Modeling Room

posted in ScrumMaster Training, TaskBoard, Usability | 0 Comments

27th March 2009

The wisdom of knowing when to use Agile

A False dilemma “involves a situation in which only two alternatives are considered”, states the Wikipedia, “when in fact there are other options”. Do you remember “If you are not with us, you are against us.”? Well, that happens when you fall in fundamentalism.

Fundamentalist anti-agilists got deeply offended because they say agile doesn’t follow a scientific approach, that it is offensive not treating Project Management as a Computer Science, alas! Turing is wallowing in his tomb!

Fundamentalist anti-cascadists say that traditional software management techniques are obsolete, that it ignores the innate nature of uncertainty of every software project, the virtue of self-managed teams always outperforms past management practices.

Before continuing, let me state clearly that I am a truly believer of High Performance Teams (HPT). In the way of getting a HPT you will inevitably  ended up practicing the agile principles.

That said, HPT’s are not always needed. So practicing agile is not always needed. Although most of the software projects fall in the uncertainty levels suitable for Agile, there a bunch of cases when direct and cascade-like managing is the best fit, so a group, rather than a team is needed.

Take the case of some massive web agencies or software sweat shops (very common down here in Costa Rica), or a well established  and reliable software migration processes. They are a typical production line. They’ve got efficiency through specializing and strongly documenting every phase  of the project development (or better said: production  line). Of course, there are parts of those processes that can be significantly improved by implementing agile practices. Even more, those kind of companies would want to jump to the “Product Creation” wagon where Agile is the best.

Be wise and take time for analyzing the complexity of the problem/project about to start. To do that, make your homework and use the Ralph Stacey’s Agreement &  Certainty Matrix against the project:

Identifying management decisions on two dimensions: the degree of certainty and the level of agreement.

Identifying management decisions on two dimensions: the degree of certainty and the level of agreement.

When issues are Close to Agreement and Close to Certainty, Stacey says:

Much of the management literature and theory addresses the region on the matrix which is close to certainty and close to agreement. In this region, we use techniques which gather data from the past and use that to predict the future. We plan specific paths of action to achieve outcomes and monitor the actual behavior by comparing it against these plans. This is sound management practice for issues and decisions that fall in this area. The goal is to repeat what works to improve efficiency and effectiveness.

That is: use Cascade.
When issues are in the edge of chaos (Complex gray area), Stacey says:

This is the zone of complexity where the traditional management approaches are not very effective but it is the zone of high creativity, innovation, and breaking with the past to create new modes of operating.

That is: use agile.

Further reading

There is also a outstanding article in the Harvard Business Review called “A Leader’s Framework for Decision Making”. Really amazing article. Do read it! I’ve found a PDF version of it.

posted in Teaming, enterprise | 1 Comment

26th March 2009

Getting even more serious about your meeting problem

Seth Godin has posted a wonderful checklist for solving the terrible problem of long unfruitful meetings. I have lost count of how many too long meetings have finished with the uncomfortable sense of being in the middle of nowhere.

Making an unshameful copy-paste act, the list goes like this:

1. Understand that all problems are not the same. So why are your meetings? Does every issue deserve an hour? Why is there a default length?
2. Schedule meetings in increments of five minutes. Require that the meeting organizer have a truly great reason to need more than four increments of realtime face time.
3. Require preparation. Give people things to read or do before the meeting, and if they don’t, kick them out.
4. Remove all the chairs from the conference room. I’m serious.
5. If someone is more than two minutes later than the last person to the meeting, they have to pay a fine of $10 to the coffee fund.
6. Bring an egg timer to the meeting. When it goes off, you’re done. Not your fault, it’s the timer’s.
7. The organizer of the meeting is required to send a short email summary, with action items, to every attendee within ten minutes of the end of the meeting.
8. Create a public space (either a big piece of poster board or a simple online page) that allows attendees to rate meetings and their organizers on a scale of 1 to 5 in terms of usefulness. Just a simple box where everyone can write a number. Watch what happens.
9. If you’re not adding value to a meeting, leave. You can always read the summary later.

Seth Godin is a genius in the marketing arena and product development and you better subscribe to his blog to get digestible chunks of wisdom on a frequent basis.

To that list I want to add:

  1. Make everybody clear how much money the meeting is costing. Sum all the fractions of involved people’s salaries invested in being gathered X amount of time.
  2. Boldly leave the room once the egg timer rings or when your have detected that the meeting has been ineffective.
  3. Don’t wait for your boss. If your boss is late and anyone else is on time, start the meeting. Be consistent with the policy. Make him pay the fine as anyone else.
  4. Identify issues that can be effectively resolved in the meeting.
  5. Define clear Action Items to deal with detected issues that need to be resolved out of the meeting.
    1. Set a person to take accountability on the resolution of the issue.
    2. Measure the issue and set the metrics to know if the issue was clarified or resolved.
  6. At the end of the meeting, review all the agreements reached, action items and people responsible  for those action items.

Recommended reading

Running Effective Meetings

posted in Meetings, enterprise | 0 Comments

25th March 2009

No agile practices or processes are substitutes for a Roadmap or Vision

More and more I see Products/Start-ups failing to sell once they go out to the market. Here’s my take on their main reason of failure.

Problem: The Product Manager has an Idea for a Product and starts throwing User  Stories to the Team. The Team consumes them using the discipline they have devised by themselves thought the Sprints. Because we are doing Agile and Usability Studies, everything just have to end up fine, right? So at the end of the engineering effort the website will progressively go from glugging some sales to enabling more servers to control the fire hose throwing sale requests. Reality? if your are managing your product as I just described your are playing at the jackpot. You will have chances to have a fire hose throwing sales, but those chances are the same as hitting the jackpot.

Listen! Synthesize!

A Product Manager has to have conviction of his/her vision and the understanding that detractors will try to take the Product down, I mean, we live in the human jungle, don’t we?  However, such a conviction has to be tempered with Company’s Business Strategy, market trends, with Subject Matter Experts opinions, and, most important, with fact your Product is changing the world for better, that you are solving a real pain. So listening has to be the key factor when envisioning a Product. After you have listened to all the aforementioned stakeholders the following two hardest steps are ahead: 1) Synthesize all that input into something really remarkable, feasible to implement and affordable for customers. 2) Communicate that synthesis to stakeholders and team in order to go for it.

The Mirage of Bad Assumptions in Review Meetings and Usability Studies

A Review meeting becomes obsolete if you don’t have a Subject Matter Expert to evaluate the Sprint results. If you are doing software for kids, guess what, the final acceptance word is for the kids to give, not for you. When I say Acceptance Word, I mean: From a Product stand point, we got a increment, which is apart from the achievement the team has accomplished. If the team delivers what you asked for but displeased your final user, congratulate genuinely the team achievement and blame your inability of transmitting what the user needed to be solved. Although is vital to have team members skilled in the Product domain, I strongly recommend not to have a SME inside the team. Paying consulting hours to a external SME disconnect him/her from the fear of trying to please the Product Owner. The SME doesn’t have to fear telling the Product Manager “Your baby is ugly” or “Your baby is cute but the bodysuit that is wearing today is horrible”.

On the other hand, Usability Tests are tricky. First of all, Usability Studies are not a substitution of Marketing Studies. The latter are inputs for the former. Why? Because as Usability Test Facilitator will always be able to find users that fit a wrong characterization of your persona. The persona can easily represent a market segment that is not big enough to make your product profitable.

Let’s dot the i’s and cross the t’s

Scrum and popular Agile practices are good to deliver complex products on time assuring Product Owner satisfaction and fulfilling his/her vision.  But Scrum and popular Agile practices don’t cover all the responsibilities of a Product Manager, even more, the Product Owner role is a subset of responsibilities of a Product Manager. The ScrumMaster needs to receive a vision from the Product Owner to transmit it to the team. The Product Manager articulates a continuously validated vision and Product Strategy and then articulate a continuously validated Product Backlog. Don’t forget build an Agile Release Plan with clear milestones.

Further reading:

posted in Roadmap, Usability | 0 Comments

24th March 2009

Dynamics of the Daily Standups

In my experience, Daily Meetings or Daily Stand-ups are the easiest agile “ceremony” to adopt, but the easiest to drop.

In this post I’ll talk about what’s the problem with adoption of agile in this specific matter.

Easiest to adopt

Even agile skepticals appreciate a huge value in daily stand-ups. Martin Fowler summarizes pretty well the goals of the stand-up meeting:

  • share commitment
  • communicate daily status, progress, and plans to the team and any observers
  • identify obstacles so that the team can take steps to remove them
  • set direction and focus
  • build a team

The magic about this meeting is that those goals are easily perceived as achieved because of the dynamic and energy you can feel and the immediate results you achieve.

Easiest to drop

But if stand-up meetings are such good thing, why is it that after a while, some groups (not teams, groups and teams are not the same, I’ll talk about that in another post) tend to dismiss stand-ups?

Here are some causes:

  • It’s viewed as a “ceremony”. This is not a ceremony, a magical ritual that by means of routinary practice, the stars will bless you live. Not at all, if you are not seeing any objective advantage of doing  any ritual then stop doing it! Stand-ups are not silver-bullets for eliminating risks, but invaluable opportunities to find them. It’s not a source of energy, but an energy incrementator, which assumes energy inputs.
  • It just pursue a single goal. This is not a just a daily status tool, if you turn it in a status checker, it will become a boring unilateral meeting without sight of the road ahead beyond current iteration, building uncommon interests in team members. Don’t pick just one goal and make it the single goal to pursue. Pick them all, before facilitating any stand-up, review them all and give them equal importance.
  • It’s not kept stand-up. A sit-down meeting conveys a feeling of formal meeting that can last longer that fifteen minutes. If that happen, daily meeting will start to be expensive and boring. All Agile practices a meant to be like oil that lubricates the motor of execution. But oil changes can’t be as expensive as the gasoline or as the motor itself. So be efficient in stand-up meetings, keep it short, keep it stand-up.

More information about stand-ups:

posted in Sprints, Teaming | 0 Comments