16 February 2006

The Disengaged Customer - Balkanization

Wikipedia states that, "Balkanization is a geopolitical term originally used to describe the process of fragmentation or division of a region into smaller regions that are often hostile or non-cooperative with each other." This was a very bad thing in the Balkans. It's also a bad thing for the Customer.

Sometimes, agile teams can be victims of their own success. The Gold Owner sees that all is going quite well with the project, and has the Customer disengage somewhat to deal with other issues. In The Disengaged Customer – A Funny Thing Happened… I spoke of the effect that this disengagement had on the team’s development efforts. Without the Customer being fully engaged on the project, communication became more difficult and much lower bandwidth and the team drifted. Eventually, the Gold Owner chewed out the development team’s management over her perception that the team wasn’t doing the work that they were supposed to.

At that point, the team took on new development to replace an old system by integrating its functionality into the system. This meant that they were dealing with new users, although with the same Customer who was still rather disengaged. However, by having an existing system from which to work we were able to move ahead reasonably well. This was when we began to realize that there were, um, some issues in the Customer’s organization.

The person who had been the Customer for the old system was retiring. She therefore wasn’t the Customer for the new system, although she was always sought out for input and information due to her experience in that business line. She did have some quirks, though. The biggest was that she insisted that the statistical reports generated from the system be clean. That is, the totals at the bottom of the report should equal the sum of all the data. That makes sense, of course, except that the data received in the field and entered into the system were rarely like that. Often data were from third-party providers who didn’t really have much interest in capturing the details of an event, other than it happened. As a result, the system contained a considerable number of fields with the value of Unknown.

The Customer for the older system didn’t like Unknown. It didn’t look good. To her, it meant that people weren’t doing their job. So, she had directed the developers of the old system to create default values, for example if a report came from a particular country but didn’t have any city information, the system would set a default city. She was also given the ability to edit the data after input, which allowed her to clean things up even more. This was fine for true data entry errors, but she used it to massage the data to better fit what she saw as proper. So, the statistics generated by the system were very clean indeed. They were also pretty close to fitting the saying, “Lies, Damned Lies, and Statistics”.

So, when we as the development team embarked on developing the new replacement system, we were dealing with a new Customer. This Customer didn’t know about the data massaging, but when told immediately directed that it stop. The new system wouldn’t default values like the old, and the ability to make edits after the initial data entry would be limited and audited. This didn’t sit well with the old Customer, and things became, um, tense.

Meanwhile, we were directed to look at revamping a small chunk of our system. No big deal, really, we discussed it with that particular user and in conjunction with our Customer created the stories to make the changes. Then that user left on stress leave. When it was deemed that we should start work on the changes, we ran them by the new replacement user, again in conjunction with the Customer. The new user indicated that the changes were all wrong, even though they had already been approved by her management. Those changes were on hold as of the end of January when I left the project.

The Customer was quite frustrated at this point, having to deal with her peers and not being able to get any consensus. She didn’t know the lines of business as well as these other people, so she didn’t feel that she could make the decisions on her own. Sometimes she did, and people went behind her back to the Gold Owner and complained. Other times, these other stakeholders would talk directly to the development team members, giving the impression that what they wanted had been cleared. The Gold Owner didn’t really understand that the development team needed the Customer’s single voice in order to be able to proceed. In essence, the Customer organization had become Balkanized.

Continued in The Disengaged Customer - For want of a Product Manager.