Saturday, September 10, 2011

9 x 2 Things Agile Project Managers Do

I don't generally think of myself as a project manager, or agile project manager, although others have referred to me as that. "Project Enabler" is more how I see what I do. But recent events (Groupon acquires Obtiva), have caused me to start talking about the role and talking, of course, leads to thinking.

List-making is one technique for examining thoughts. I made a fairly long list of everything a project manager might have to do in the course of an assignment. I ran through that list a couple of times and got it down to 18 items that sum up what I think project management is all about.

The first 9 things are more concrete; easier to accomplish by following a book or template or checklist than the second 9. I've called the first set the "hard skills" 9. The second 9 activities are squishier; more dependent on experience and a gut-sense about people and situations; obviously, I've labelled them the "soft skills."

The "hard skills" 9
  1. Prepare and present status reports. Chair demonstrations and planning sessions.
  2. Create or identify effective visualizations of status and objectives. Know how and when to use them.
  3. Convene estimation sessions and document results. Transform estimates into feasible budgets and plans.
  4. Track velocity and maintain current projections of the project's likely progress.
  5. Schedule meetings and milestone events (UAT, releases, etc.). Insure that necessary staffing, equipment and information are in place.
  6. On-board new team members.
  7. Evaluate people.
  8. Coach people.
  9. Treat your team to fun and games.
The "soft skills" 9
  1. Set goals and vision for the team. Channel constructive feedback to your team.
  2. Monitor development progress & facilitate blockages. Know when your team doesn't know or have something it needs; help the team fill the gap.
  3. Convene team discussions on issues & get decisions agreed; help the team resolve conflicts.
  4. Nurture stakeholder confidence in the team.
  5. Proactively meet with clients to discuss their issues, goals and concerns.
  6. Deliver bad news and present possible solutions to clients & leaders. Help the client understand and control scope.
  7. Make tough decisions when everything is stalled. Prioritize work or requirements if needed (proxy product owner).
  8. Defend your team from abusive stakeholders and leaders. Maintain productive operational patterns and sustainable pace.
  9. Be a caretaker of the application's integrity & quality.

Friday, August 5, 2011

Tips for improving Your Iteration Planning Meeting

Our iteration planning meeting (IPM), like many, is not really a planning session but a status report and demo for managers and SMEs who are generally mostly disconnected from day-to-day development and support. Team leads provide information and our PM assembles the slide deck and gives the presentation.

In a recent retrospective we talked about how for two weeks in a row, the only questions attending stakeholders had were about about release dates and release contents. We agreed to add a slide to highlight this information. I think that will help but it's not enough. Following are some observations I shared with our PM and GM.

As I see it, our biggest problem, and it may be true for you too, is confusing the recitation of lists of things with telling a story that the stakeholders can connect to.

1) Our deck includes one slide that shows how the business handled by our application is growing (or not). It is the most interesting thing in the presentation but the rest of the material doesn't connect to it. When I see this slide I have two questions, "Are these numbers in line with our expectations?" "And what are we doing to keep things moving along as-is or fix what is deficient?" In short, I am looking for the slide to be followed by a statement of strategy.

2) Assuming that the deck gave a clear picture of strategy, then, as a stakeholder, I'd like to see how the stories just worked and being planned match up to that strategy; and I'd like to know how the current priorities fit the strategy too.

3) Listing issues that came up in the past iteration is not useful if we don't also show how these issues affect the strategy and talk about their solutions and status.

4) A long list of priorities is not effective without relating them to the business strategy and giving projected timelines and dependencies.

Obviously, no one ever works a dozen priorities at once. There is usually some short list of 1 - 5 things that are getting immediate attention. That makes one slide. Then there is an equally short list of things expected to come to into play within the next 1-2 months and some work (research, design) may be starting or going on already.

Finally, there is a third short list of things brewing on the horizon that have the potential to become very important any time between now and the next 4 or 6 months. These are under watch but no one is acting on them yet. Three slides, three short lists with discussion about how each one fits into the business plan.

5) Just giving a count of open and fixed bugs is not informative either. People want to know what the trendline looks like. Are things getting worse, better or holding steady?

Put the numbers in the deck but focus the talk on the trend -- the direction and its implications. Also take time to touch on the top issues that were faced in the past week(s) -- usually just two or three, never more than five.

6) Give a summary. And be sure it packages the message you want everyone to hear.

It's a cliche but every journalist knows you have to tell your audience what you're going to tell them (agenda, introductions), then tell them the story (the deck), then tell them what you've told them (the summary). Here's an example of a summary that takes care of the message:

"So in conclusion, many new accounts have come online but they are not necessarily using the application regularly. We are targeting improvements in reporting, and implementing analytics to better monitor usage and identify pain points. We are making enhancements to the admin functionality to make it easier to support accounts and fine-tune pricing.

"We are getting ready to add new business lines. The team velocity continues to trend up and we are getting three time as much work completed now per iteration than at the start of the quarter. Our next release will deploy on Thursday and it will contain the things listed on the next slide. (show next slide and tell people they will get a copy of it, but don't read it aloud. Ask for questions or comments instead.)"

Sunday, July 31, 2011

Cowboy and Aliens and Being a Man

My partner and I saw "Cowboy & Aliens" this weekend. Big-effects movies are a fun summer thing to do when it's 90 degrees Fahrenheit outside.

Part of the storyline turned on a few scenes that have really bothered me. Not "bothered" in a gory or sexist or gross-out way but bothered me due to the serious disconnect they illustrate about our social situation.

The scenes I'm talking about have to do with a youngish (pre-teen) boy and a tough-guy cattle boss. The boy listens in as the cattle boss tells a story about his first experience of war. He was a volunteer soldier in the border battles with Mexico and Indians.

His company arrives too late to fight but they witness the aftermath and he encounters a settler who suffered tremendous burns when a cabin was set on fire. The man pleads to be killed. The cattle boss does the job with a knife that he passes on to the boy. This scene concludes with someone asking the cattle boss about what that story meant. "Be a man," he says.

Later in the film, the boy uses the same knife to kill an alien in self-defense. When the scene plays, you can hear the whole audience remembering the words of the cattle boss and cheering for the kid as if he somehow achieved manhood in a single-bound. This is what really bothered me.

There is a tremendous amount of difference between striking out at something to save yourself and doing a dangerous or abhorrent act to save or comfort another. To cold-bloodedly kill another person who is obviously going to die within hours or a day cannot be easy when you can think, "It's not my job," and pass on by.

But to reflexively strike out at someone or something when you are threatened is far different. Toddlers in tantrums do it all the time. Usually, and especially for the boy in the movie, the outcome is not even predictable; it is just a surrender to a "flee-or-fight" instinct; an auto-pilot, adrenaline-fueled response.

What does the boy know about the outcome he'll achieve ... Death? Injury? Momentary disorientation during which he might run away?

To face another person and do the thing that kills them when you are not threatened, even if they ask for it, requires that you consciously accept the burden of living with that decision and memory for the rest of your life -- did I act like a god or a devil? That's a very different rite of passage from the reflexive act of self-defense.

And that comes back to what's bothering me. This film is selling the notion that the everyday striking out due to self-interest is the equivalent of a conscious sacrifice of self-comfort and self-image.

Can you really accept that you have acted in a manly -- or humanly -- way when your sole driver is self-preservation?

There's no excuse for it. Film moments like this lie to us and our children. They confuse selfishness and self-preservation with heroism. And they legitimize the former in place of the latter.

Friday, April 8, 2011

Context and Searching

In the course of thrashing over search results for our eCommerce site, a stakeholder suggested that we look into "context-sensitive" search. Now what did they mean by that? What is context?

"Context" is nothing more than the words and vision and words in the user's mind when they are searching. It's the motivation for and the desired outcome of a search. How do you deduce that when you're handling on-line queries? Do you make a guess based on previous searches by that user? Are those searches during the current session or do you consider past sessions? Or do you extrapolate based on the most typical searches by all users of your site?

The stakeholder quickly saw that we were already in deep philosophical waters so they offered a shortcut. "Let's just look at where the user is on the site (i.e, a catalog) and limit the search results to that section."

"For example, if the user is on menswear, whatever they search for, only show menswear results or at least, only show clothing with the menswear ranked first." Some people in the discusssion thought this sounded reasonable.

But let's think again about shoppers and how they behave. My first jobs during school and after graduation were in big department stores -- 10 years, and a lot of it spent on the selling floor working with customers. I observed several basic patterns to shopping that we can extrapolate to eCommerce searching. The first two we don't need to worry about; that's the expert who already knows their way around and has devised their own shortcuts; and the explorer who just wants to wander and browse for the sheer fun of finding something they didn't expect.

The rest of the shoppers want help and they have three ways of letting you know - the first kind comes in the door and immediately asks, "where can I find X?" That's it - "X" is the context. Nine times out of ten, "X" is nowhere near the door or aisle where the customer is now. All you can do, if you don't recognize what they mean by "X", is engage them in a little dialog and then direct them to some spot far away.

The second kind of shopper goes to the approximate area they are interested in and then asks for help to filter something down by brand or size or style or price point. Think of a lady standing next to the cold medications who asks where to find the aspirin.

The third type is a combination of these two. They've gotten what they want in aisle one and now they want to know how to find something that's in another department. They may be working a list that's in random order or some logical order known only to them, either way, their order may not match up to your site layout -- what they want may still be the equivalent of five aisles away, across the store, on another floor, etc. The immediate surroundings are not going to help in this situation either.

So 3 out of 5 search scenarios depend on getting help and 2 those cannot infer a solution from the immediate context (surroundings). What's a web site designer to do? All you can do is compensate for the salespeople who who were left behind in the brick-and-mortar world.

"Did you mean this?" (show list of similar and related terms)
"People who bought that also bought this."
"Would you like to look in this department first?" (show list of facets)
"Here are things you've bought before. Are you looking for something similar today?"

Unfortunately, those strategies mean you have to spend time collecting search terms and analyzing post-search traffic patterns. You have to collect histories of your customers and mine the profitable ones for patterns. And ideally, you can hire an information architect to optimize your navigation and map search terms to likely synonyms. All of which goes right back to those philosophical questions and the fact that fine-tuning search takes an investment in time and expertise. There are no shortcuts.

Sunday, March 13, 2011

Overriding a Keyword Search?

My most recent project has taken an interesting turn into keyword search. We're using SOLR for our search engine and the philosophical question on the table is how to fine-tune it or do we fine-tune it?

That is, we are in a tug-of-war over whether the most prominent results should be the products management wants to feature and also, if the results are inherently flawed because some other things are showing up. Specifically, some stakeholders are insisting that we find a way to re-interpret what the user is searching for or override the results the search engine brings back.

Well that sounds rather Orwellian, and maybe not a good thing. At least not something I care to endorse. But let me explain the dilemma a little more.

First, this is an eCommerce site, not social networking or information sharing. It's all about connecting shoppers to products, and consequently, reinforcing marketing goals for the business.

Second, we are grappelling with two problems: iconic brands/products and context-sensitive search. The question at hand is how to get balance between iconic brands and products and the apparent randomness of context-sensitive search.

To illustrate the problem, let's think about grocery shopping. And let's imagine your search word is "Kellogg's". What are you searching for? Breakfast cereal? Probably. And what images are in your mind that signal "Kellogg's" and breakfast cereal? Maybe a box of cornflakes? Not that you want to buy cornflakes or even like them but it's the product that built the company and it's an image that strongly signals your search has landed you in the right place.

That's an iconic brand and an iconic product. And the problem is that people have such strong expectations about iconic brands and products, they may believe the search is broken if these brands or products don't show up according to their expectations.

Think about Kellogg's Cornflakes again. Where did you imagine this product would appear in your imaginary Kellogg's search? Near the top? In the middle? On Peapod, the dominant Chicago-area online grocery, a search on "Kellogg's" sorted by "Best Match", puts Kellogg's Cornflakes in 100th place, trailing a long mix of other cereals, breakfast bars, frozen waffles, and fruit roll-ups. Surprised?

Maybe that is an accurate reflection of the market or maybe the search algorithm is flawed; after all, we don't know Peapod's criteria for "Best Match", or their preferences for sorting results, but it's not hard to imagine a brand manager somewhere being rather upset and insisting something must be wrong if Cornflakes is not among the top 10 or 12 things you see.

We're not in the grocery business but our client makes and distributes several iconic products and brands and carries others in its inventory. These iconic products and brands are not always obvious in our search results, either. A lot of parts, supplies, and accessories show up first when you search solely for the brand name. And yes, this seems a little odd, or at least, hard to explain. To switch analogies, it's like showing you the windshield wipers and floor mats before we show you the car.

Our search engineer and I are convinced it's just a matter of examining the relevancy logic and re-weighting some variables or adding some variables so that the ancillary products lose relevancy. But how finely do you tune the search when you don't have any real data to work with?

To complicate matters, this is a B2B site that is not in production yet and we have no budget for user research; we don't really know what kind of search habits and expectations our customers will have. We know that searching on product numbers (full or part) works fine and that is something our users have been doing for a long time on the legacy site. But soon, they'll have the power of text search over the full product specifications and descriptions and we have no clue how they'll respond to that.

Meanwhile, our stakeholders and product owners are experimenting with keyword search based on their own preferences and guesses, which means a lot of searching for the iconics, and they are seeing too many parts and accessories in the results.

Some of these managers are certain the best bang for their money is to stop spending it on search engine support and start spending it on workarounds; like trapping for brand and product names and running hard-coded queries or highly limited searches instead of letting the search engine do its thing.

The more I struggle with these discussions, the more it hits me that we are getting sucked down a dead-end. If these brands and products are so central to the business and the site's identity, why should we be spending time and energy on the idea that our customers would be typing these brand names into a search box?

If these brands are so central to the business, why should any customer have to search for them? They should be front and center on the home page and every page. There should be "Famous Brands" and "Featured Products" links and lists and icons everywhere you look. All of these hot-button items should be one click away ... not something that customers will have to manually spell out and then hit "Go".

If we haven't put those features and shortcuts in place, (but we mostly have, as well as effective facet filtering *), then all of our time and energy should be on fixing that deficiency. Not fiddling with the search engine.

Let the search engine do its thing and return lots of branded parts and compatible parts for brands. Parts are hard to find; parts require searching. Parts are where you make your margin. ("Give away the razor; make a bundle on the blades.") Let's not take a chance on breaking that before the real users have had a chance to make their habits known.

* You can generally filter a result set in the 1,000's down to less than 50 items, usually under 25, in about two or three screens.