Re: Business Goals
- --- In email@example.com, "Desilets, Alain"
> -- Alain:I often come into a project late - after it's started. Lately I often
> Question for you. Do you work on defining the Business Goals BEFORE
> defining User Roles and User Tasks, or AFTER? In your paper "What Goes
> Up Must Come Down", you seem to be saying that high level kite-and-above
> level goals (which are more or less equivalent to Business Goals) should
> at least be partially distilled based on knowlege about the lower level
> goals (although as you point out, it is best to work in both top-down
> and bottom-up directions). But to me, Business Goals is the one thing
> that I believe CAN be articulated mostly upfront, and I tend to favour
> that approach (although I tend to favour a "middle-out" approach for
> lower level details).
come in to do a bit of "rescue" work on the user interactions. In
those situations there's often an absence of business goals, or a set
of ambiguous business goals that don't seem well connected to the
users and scope chosen. So, I'll work bottom up to reconstruct a goal
model from what I observe people actually building. Then review my
observations about the business goals I see being pursued based on
what people are actually doing. When coming in late to a project I
might prefer to spend a bit of time with stakeholders on business
goals first, but this sort of work is often seen as regressive -
everyone already believes they know what the goals are. "Just get to
work on this UI stuff! That's where we need the help." Not until I
point out deviation from goals does rewinding and discussing a more
concise goal model become important.
In a greefield situation I put together goals first. But I always
move up and down validating users and activities we choose to support
with goals we hope to achieve. Doing this uncovers both missing users
and tasks, and missing business goals.
I try to avoid waterfall head - by that I mean only moving down from
high level to lower level, insisting high level models are complete
before moving on to lower levels, and always assuming what what done
in a higher level phase was correct. Levarage agile feedback loops to
validate and further refine these higher level models.
> -- Alain:Where agilists might fall down is in the creation of these mezzenine
> The converse is of course also true. Agilist sometimes pay too
> much attention to the concerns of the "Gold Owner" (the person who pays
> for development), without realising in order to achieve that person's
> Business Goals, you HAVE to pay a lot of attention to the people behind
> the keyboard (or at least the focal ones).
level models - things like goal models, user models, task models, etc.
All this stuff starts to smell of big design up front to some agile
people. The thing to remember is that it's not the model that
represents waterfall thinking, it's the way be build and work with the
model that makes in waterfallish - and potentially risk.
I look at user stories like leaves on a tree. I'll try to build
simple models that start to give form to the tree - a trunk, branches,
then finally leaves. Unfortunately in a lot of agile projects all
that exists are user stories. Sort of like pulling all the leaves off
the tree, cutting down and chopping up the tree, then handing you the
leaves in a leaf bag. This leaf-bag-style story backlog is a common
agile project smell. I spend a fair bit of time forensically
reconstructing mezzenine level model from the leaf-bag-o-details found
in a story backlog. Everyone's often surprised at the tree they're
actually building - the users, tasks, and business goals they really
chose to support.
Thanks Alain for keeping this discussion going.
Opinions anyone? Is anyone out there working on an agile project
where goals seem ambiguously defined? Does this cause problems
prioritizing and detailing user stories? Actually scratch agile from
the previous sentances. Agile development certainly doesn't have a
corner in the ambiguous goals market.
- Forgot to say something - see below...
--- In firstname.lastname@example.org, "Jeff Patton" <jpatton@...> wrote:
> > The converse is of course also true. Agilist sometimes pay too
> > much attention to the concerns of the "Gold Owner" (the person who
> > for development)...
> Where agilists might fall down is in the creation of these mezzenine
> level models - things like goal models, user models, task models, etc.
What I didn't bring out above is that the creation of these models
helps the "gold owner" more effectively stear the project, and makes
the direction the project is being steared in more visible to the
whole team. Without them, the decisions the "gold owner" make often
seem arbitrary and subjective - at times even to themselves. These
sorts of models are quick to create, useful tools. I'll assert that
as a development team we're not serving our "gold owners" well if we
don't help them with things like this.