- Continue to run our current school and send our kids there
- Send our kids to a top notch public school that was nearby but out of our district
- Send our kids to the nearby public school
Posted by Mike Cottmeyer at 04:10 PM | Permalink | Comments (0) | TrackBack (0)
Posted by Lee Henson at 03:54 PM | Permalink | Comments (0) | TrackBack (0)
Last post
I made the point that companies often have a hard time adopting agile
because their management structures are not in alignment with their
corporate objectives. We have project managers and resource managers
and product managers. We have teams of specialists matrixed into
product teams and project teams and component teams.
Each team
has its own set of objectives... their own sets of metrics... and each
are pulling the company in oftentimes competing directions. To create
an agile organization... we need to get our core systems in
alignment... we need to move toward common goals and objectives.
Legislation and Policy versus Intent
Paul Boos did a nice reply
to my post and brought up a great point. Sometimes all those policies
and metrics and such are self-inflicted. Paul works in the government
and tells a great story about how legislation transforms from some idea
with some worthy intent into a set of misguided policies and metrics at
the department and agency levels.
Congress passes a law stating that government IT projects must have an Enterprise Architecture. The Office of Management and Budget then decides that all departments have to use their common architectural framework to be in compliance with the law Congress just passed. When Paul's particular department gets a hold of the legislation... and the guidance from the OMB... they determine that all technical decisions have to be passed through their governance committees. It's a way to make sure the USDA complies with the regulation coming down from on high. Now when Paul's specific agency get's a hold of the policy decision... they determine that the team is only allowed to use specific technologies that are already approved by the USDA and the OMB.
(NOTE: I slightly revised the previous paragraph to more closely reflect Paul's intent, and the way the government actually works... this is an oversimplified example by the way ;-)
The intent of the law was to foster collaboration and reuse between
departments but gets implemented as a set of draconian policies that
limit creativity and innovation. What would happen if we could rethink
some of the policy and metrics and focus more on the desired outcomes?
Corporate Audits
Before
I joined VersionOne I worked for CheckFree Corporation here in Atlanta
(since acquired by Fiserv). Our PMO had put all these big tollgates in
place so that our projects could pass audit. As our team was trying to
drive agile into the organization... we would constantly get push back
because our agile projects couldn't pass audit given we didn't have the
right documentation at the right time to pass the formal tollgates.
Come
to find out... the auditors didn't care about our tollgates... they
only cared about our paperwork because we told them that was the
process we used to create software. They didn't care that we used
waterfall or PMI or RUP or whatever... they just cared that we followed
the processes we had said we were going to follow. If we told them we
were changing our process... they would hold us accountable to the new
standard... and as a matter of fact... that is just what we did.
We
took a fresh look at the audit process and established a framework that
could be configured project to project. The new framework enabled
traditional software lifecycles and agile lifecycles to coexist and
both were able to pass an audit. By focusing on what we needed to
accomplish... rather than how it was being accomplished... we were able
to focus on optimizing the outcome rather than optimizing the existing
processes we were using to get the outcome.
Monkeys and Bananas
Have you guys ever heard the story of the Monkeys and the Bananas? I sourced the story here... it is relevant to our conversation so here goes...
Start with a cage containing five monkeys.
Inside
the cage, hang a banana on a string and place a set of stairs under it.
Before long, a monkey will go to the stairs and start to climb towards
the banana. As soon as he touches the stairs, spray all of the other
monkeys with cold water.
After a while, another monkey makes an
attempt with the same result - all the other monkeys are sprayed with
cold water. Pretty soon, when another monkey tries to climb the stairs,
the other monkeys will try to prevent it.
Now, put away the cold
water. Remove one monkey from the cage and replace it with a new one.
The new monkey sees the banana and wants to climb the stairs. To his
surprise and horror, all of the other monkeys attack him.
After another attempt and attack, he knows that if he tries to climb the stairs, he will be assaulted.
Next,
remove another of the original five monkeys and replace it with a new
one. The newcomer goes to the stairs and is attacked. The previous
newcomer takes part in the punishment with enthusiasm! Likewise,
replace a third original monkey with a new one, then a fourth, then the
fifth. Every time the newest monkey takes to the stairs, he is attacked.
Most
of the monkeys that are beating him have no idea why they were not
permitted to climb the stairs or why they are participating in the
beating of the newest monkey.
After replacing all the original
monkeys, none of the remaining monkeys have ever been sprayed with cold
water. Nevertheless, no monkey ever again approaches the stairs to try
for the banana. Why not? Because as far as they know that's the way
it's always been done round here.
Are we Overly Compliant?
So...
how much of what we are doing is because we're a bunch of monkeys that
don't know any better? How much of what we are doing is because it's
the way things have always been done? How much of what we are doing is
based on our interpretation of the law rather than from a firm
understanding of the intent behind the law?
Have we taken the
time to really assess these constraints and figure out what needs to
change to accommodate our agile transformation?
Posted by Mike Cottmeyer at 10:56 AM | Permalink | Comments (0) | TrackBack (0)
Today
is a good day. We got the kids up early... went out for a big country
breakfast at Papa Jack's... and then drove up to South Carolina to pick
up a mess of really awesome fireworks. You can't get really good
fireworks here in Georgia... and since the South Carolina border is
only about 90 miles North of Atlanta... we decided to make a trip.
We've got about 20 lbs. of ribs basting in the oven... which should be
ready in about an hour... so needless to say... but I'll say it
again... it is a good day.
While we were driving this morning I
got to thinking about my post from yesterday and why people fail to
adopt agile in a meaningful way. We were talking about how often people
fail to consider the human side of change. We tend to think in terms of
process and practices... we don't think as much about the fears that
are holding people back and preventing them from letting go. That
said... and this was what was nagging me a bit... it's not fair to
imply that fear, uncertainty and doubt are the ONLY reasons we struggle
to adopt agile... often there are other factors at play
Posted by Mike Cottmeyer at 03:34 PM | Permalink | Comments (0) | TrackBack (0)
Okay... you're a few months into your agile roll-out.
You did all the right stuff before you got started. Got sign-off from
the execs... check... got team members trained... check... identified a
pilot project... check... hired an agile coach... check. Why then...
after all this time, effort, and money... are we still struggling with
the fundamentals? Why can't we seem to get over the hump?
It
seems that there is always someone... sometimes there are a lot of
someones... that just don't seem to get it. They just can't let go of
their trusted MRD... they can't seem to get past the idea that agile teams don't do Gantt
charts. These folks want to know exactly when their project is going to
be done... what it is going to cost... and what they are going to get
for their money.
How do we respond to these people? Hey...
agile can't be any worse that what we are doing now? Agile is all about
trust... you just need to trust that this new way of doing things is
better. Just give us a few sprints and we'll prove to you that this new
way works. I promise, you'll like it.
Put yourself in that
other person's shoes for a moment... your Product Manager was promoted
and given big fat raises based on the insight and detailed analysis she
put in those MR docs. The VP of Engineering got where he is today by
making sure systems were designed fully up front. The Director of the PMO has built his entire career around applying the processes found in the PMBOK...not to mention the bonus he got for becoming a PMP in the first place.
These
folks know something is broken... they know that we are making product
development too hard...that is whey they let the team give this agile
stuff a try in the first place. The problem is that... at the end of
day... these folks are on the hook for making sure the organization delivers. When they are under pressure they fall back to what they know. They dance with the girl they came with.
It's
important when we introduce something new that we spend some time
figuring out what the people around us need to be successful. These
folks have families... they have kids in college... they have financial
obligations. You are not just asking them to change... you are asking
them to put their livelihood at risk. People don't resist change because they are bad people or because they just don't get it. Chances are... at some level... they are afraid.
More
than likely... there is some fundamental concern that you have not
addressed. Until you understand what your detractors need to be
successful... and work to satisfy that need... on their terms... they
are going to continue to stand in your way. They will continue to hold
you back and resist the changes you are trying to implement. If you had
so much to lose... you'd probably do the same thing.
Trust me
doesn't cut it until you have earned that trust. Agile will help you
get there... but you know what... you might have to let them have their
Gantt chart... you might have to let them have their MRD... until you can make it safe for them to let it go.
Posted by Mike Cottmeyer at 08:58 AM | Permalink | Comments (3) | TrackBack (0)
...but it sure will change how you do project management.
I've got this talk called the Agile PMP: Teaching an Old Dog New Tricks.
The first time I delivered the talk was last year at the Agile
Development Practices conference in Orlando. So far this year I've done
the talk for a few local groups here in Atlanta and then out in Vegas
at the Better Software Conference and Expo. Later this year I'll
deliver the talk at Agile 2009 in Chicago, the PMI Global Congress in
Orlando, and the Agile Development Practices Conference... also in
Orlando.
I've been pretty pleased with how well the talk has
been received by conference selection committees and by the attendance
at the shows. The talk works because it helps people understand Agile
in the context of what they already know. We talk a bit about what is
the same... and we use that commonality to explore what is different.
At the end of the day... regardless of whether we choose to a
traditional approach or an agile approach... we still have to deal with
the fundamentals of project management.
Agile projects have to
have a way of dealing with the triple constraints... there has to be
some concept of time... some concept of cost... and some concept of
scope. We have to manage risk... decide how we are going to
communicate... and how we are going manage quality. How we go about
doing these things on an Agile project might be different, but we need
to have a shared understanding of how all this stuff is going to be
accomplished. By helping folks understand Agile in the context of the
PMI process groups and knowledge areas... we provide a solid baseline
of understanding.
My core message centers around the triple
constraints and our typical assumptions about uncertainty. Most
traditionally managed software projects begin by defining what we are
going to build... by defining scope. Once we know what we want to
build... then we'll assess the requirements to see how much it is going
to cost and how long it is going to take. There is always some
acknowledgement of time and cost constraints up front... and there is
negotiation with the stakeholders to get the three variables to
converge... but starting with scope causes many software projects to
start slow and finish even slower.
The problem happens when we
go off and decide what we want to build without any idea of what it is
going to take to build it. We create a wish list of things we'd like to
have in the release and product managers get married to the ideas early
on. It becomes tough to see how we can deliver value to market without
everything we have spent all this time and energy to specify for the
development team. I have worked on projects that needed to be delivered
in six months and the product team created over five years worth of
requirements.
When you push back... the discussion usually goes
something like... well just do the estimate and tell us how much we can
get. The problem is that it takes time to learn enough about the set of
possible solutions to actually do an estimate... there might be
technical dependencies... there are clearly resource dependencies... so
evaluating a multi-year project to determine what can be delivered in
the next six months can be a huge waste of time and resources. This
problem is further compounded by changing market needs and the fact
that software has a tendency to evolve... a lot... as it is actually
built.
We create a false sense of certainty about what it is we
are going to build and when we can get it done. Once time and cost
commitments are made... being married to a fixed set of requirements is
going to get in trouble. There has to be some room to negotiate as we
go.
While Agile is not a project management methodology... it
does impact how we do project management... mainly because Agile is
going to have us make a different set of assumptions about our project
constraints. Now... just like anything... these new assumptions and
constraints need to be validated in your specific environment... but in
general... on Agile projects we are going to decide that scope is not
the primary driver. Rather than starting with scope... we are going to
start with time and cost. We decide first when we need to go to market
and how much we are willing to spend to get a product out the door.
Rather
than create a giant wish list of features... we are going to start
defining features to fill the time and money allotted. When we have
filled up the time... and planned to spend all the money... we have to
decide if we have a release that could be taken to market. There is a
very subtle difference at play. There is still negotiation... still an
assessment of the viability of the release... its just that we don't
spend time assessing features that have no chance in hell of actually
getting implemented.
In effect, we are talking about what
agilists call product planning and release planning. We create a
product plan... a roadmap... that gives us some confidence around what
the customer is going to get... when they are going to get it... and
what it will cost. The main difference is that we are starting with
time and cost and figuring out what we are going to build within those
pre-defined constraints.
Just because we started with time and
cost... that does not mean that we can fix scope... we need some room
due to our new assumptions about the certainty of our estimates and the
stability of our requirements. Again... we are going to start with the
notion that time and cost are our primary constraints and that we'll
want to fine tune the scope as we go to deliver the greatest business
benefit possible. Because we deliver working code on short cycles...
and we have empirical evidence of our progress... we can constantly
evaluate how we are doing against where we hoped to be. The project
stakeholders have the ability to control the project... either by
adjusting scope... or by adjusting the time and cost constraints... in
real time as the project is progressing.
If at any time we learn
that the business objectives and ROI targets cannot be met... we have
the opportunity to kill the project... or radically alter its course...
having invested as little as possible to make that decision. We are
using the real data... being generated by real teams... writing real
software... to provide feedback into the higher level roadmap. It
really does put the business back in the driver seat. This idea that we
are just going to start building software and let the backlog emerge..
the architecture emerge... and product emerge isn't workable in most
contexts.
With all the talk of late regarding Kanban and single
piece flow... I wonder if we will lose the ability to make any kind of
commitment back to the business. I think that in some contexts... this
is probably appropriate. In many though... we will still need to have
the concept of roadmaps... vision... release plans... and product
backlogs. I don't see these things as waste... but more as an
acceptable level of overhead to give the business some idea of what
they are going to get... when they are going to get it... and what it
will cost when we get there.
So... again... we find that Agile
is not a one size fits all strategy. We have to use our brain... we
have to use ALL the tools and practices and principles we have at our
disposal... we have to come up with the best approach to deliver the
project given the constraints the business has imposed. At the end of
the day... we are still doing project management... its just that agile
changes the game a bit and introduces a new set of tools... and a new
set of assumptions... and a new set of constraints which we'll use to
deliver projects in more uncertain environments.
Posted by Mike Cottmeyer at 12:24 PM | Permalink | Comments (0) | TrackBack (0)
I, Project Manager, take you, Agile Methods, to be my wife.
I promise to be true to you in good times and in bad, in sickness and in health. I will love you and honor you all the days of my life.
I, Agile Method, take you, Project Manager, to be my ScrumMaster. I promise to be true to you in good times and in bad, in sickness and in health. I will love you and honor you all the days of my life.
Now on the surface this may sound ridiculous, but the real question seems to be who are we married to and why? What is the level of our commitment to success? What do we vow to do and what expectations do we have of others in the relationship? How serious are we about the projects we engage and how we leverage our teams?
Is this a marriage with a happy ending or is it destined to end in divorce? (We all saw what happened to Jon & Kate). Just as any good psychologist or Marriage Counselor would ask, what are you doing to enhance the level of communication in your relationship? What are you doing to make the relationship work better on a whole? What steps have you taken to work better together as a team towards a common goal? Have you set both short and long term goals for your relationship? Have you set and agreed to accept ground rules?
Is this an eternal commitment or is it until death do us part? Where do you expect this relationship to go and by what metrics do you measure success? The good news is that Agile Methods are for the most part very attractive spouses! They tend to help you increase your visibility and productivity.
With Agile Roots just completing and Agile 2009 just around the corner, I think it may be a good time to re-evaluate our relationships and make choices that support a healthy relationship. Even if that means revisiting the things in the beginning that drew us together as a pair. As people make more and more vows in the month of June, may we take a moment in retrospect to look at our own commitments and at what level we are working to exceed our partners expectations!
Posted by Lee Henson at 03:52 PM | Permalink | Comments (0) | TrackBack (0)
Think
of this post as a quick public service announcement for all you folks
out there looking to comp some free Agile training ;-)
Over the
next month or so... VersionOne is hosting a series of free webinars on
Agile Project Management and Agile Best Practices. These talks are done
by several of the leading thinkers in the agile community and... given
that they are free... and during lunch... there is no reason not to
attend ;-) The following is a quick summary what's coming up. You can
visit the VersionOneResources page to get more information, to see archived talks, and to register.
June 24th we have Pete Behrens from Trail Ridge Consulting doing a talk on Agile Program Management and Scaling Agile Projects.
Agile
Project Management has driven successful results throughout thousands
of projects across the globe through various frameworks like Scrum,
Extreme Programming and others. Agile development, quality and
project-level practices are allowing teams to react more quickly to
changing market and business conditions, meeting customer needs more
directly, and driving profits or cost savings sooner. Most
organizations are experimenting with agile approaches on one or more
projects within their portfolio.
The challenge, however, remains
in the coordination across larger organizations aligning many projects,
products and teams to deliver complex interdependent programs
successfully. This presentation shares Agile Program Management Best
Practices to guide project and program managers in larger organizations
working across these boundaries to deliver complex programs. These best
practices have been leveraged by programs with over 30 teams with
hundreds of people (Larger programs are divided into subprograms and
replicate similar practices). This presentation addresses best
practices for program setup, goals, and investment; organizational team
structures and work breakdown; and program coordination, tracking,
dependencies, risk, and release predictability.
July 1st, we have David Hussman doing his talk on Pragmatic Personas.
Personas
have that stickiness that sticks. With a pragmatic focus, this session
covers simple and powerful techniques for crafting personas and using
them to drive value into your development stream. The session will
start with an overview of what personas are and how they provide value.
We will create personas and discuss possible sources of information and
potential authors. Once we have created a few personas, we will explore
how they can be used to craft stories, create acceptance tests and help
keep the user’s experience in the minds of the development community.
July 22nd we have Sanjiv Augustine doing his talk on the Agile PMO: From Process Police to Adaptive Governance.
How
should we scale Agile methods beyond individual projects? How can PMOs
avoid being process police and instead truly support Scrum teams,
enable enterprise rollout of Agile methods, and sustain long-term Scrum
adoption?
Learn how industry leaders are scaling Agile with Agile PMOs that:
Posted by Mike Cottmeyer at 02:00 PM | Permalink | Comments (0) | TrackBack (0)
I
can't believe it has been over two weeks since I did my last blog post.
Longer than that if you are an Agile Chronicles reader. The past few
weeks have been a bit nuts.
As you guys know... the week before
last I was in Vegas to do my Agile PMP talk. The talk went well but it
is always entertaining to see how the dynamic in the room changes
depending on who decides to speak up. I need to get better at avoiding
language that can set people off ;-) Anyway... every time I get to
deliver this presentation in front of people it helps sharpen the
message.
The Agile PMP talk just got picked up by the PMI Global
Congress in October... so I better get better fast. I am not expecting
that crowd to show any mercy!
Last week I was with my two older
boys at Rainey Mountain Scout Camp. Camp sure has changed since I was a
kid. I didn't have a cell signal the whole week but there were several
wifi hotspots around so I was not without some connectivity. After
getting the troop off to classes... I spent each morning online and
then each afternoon hiking in the North Georgia mountains. I would
rather sleep in a tent than a swanky hotel... so life was good.
Before
I left... we talked a bit about how it is so easy to get focused on how
we are getting work done and to lose focus on what we are actually
delivering. That problem has to be pretty universal... it applies to
software teams and complex organizations... it also applies to scout
troops. Are we here to build committees and sign paperwork or to help
boys become young men? When we starting focusing on how things are
going to get done... it is easy to lose focus on what is really
important. But... I digress.
Some of my writing focus lately has been directed in places other than this blog:
Next month I am publishing my first executive report for the Cutter Consortium. I did the report with my good friend Dennis Stevens.
Dennis is a really smart guy and we pushed each other on the ideas in
this paper. The report is only available to Cutter Consortium
subscribers but maybe we'll have a raffle here on Agile Chronicles to give
out a hard copy.
I've also done a short whitepaper for VersionOne on the role of the Agile Project Manager.
It is an introductory piece but you guys might want to check it out.
The paper talks not so much about Agile Project Management... but more
about the new skills a Project Manager needs in an agile environment
and how they need to think about their role a little differently. This
paper can he downloaded for the low, low cost of giving the VersionOne
sales team your contact information.
Lastly, keep your eyes
peeled for a screen cast I put together on agile adoption. Naming talks
is not really my strong suite. The screen cast is on adopting agile...
but more fundamentally it is about teams... and how to build
organizations around teams... and how to decide what teams work on...
and how to throttle work through the organization in a way that creates
flow. So while this is an agile talk... it also hits on things like
capability analyis and lean scheduling in the enterprise.
I'll
shoot a link once we have the presentation up an publicly available.
Hopefully, I'll get back in the groove of writing this week... still
have lot's to say ;-)
Posted by Mike Cottmeyer at 09:17 AM | Permalink | Comments (0) | TrackBack (0)
Sometime I think we are missing the point.
Posted by Mike Cottmeyer at 06:15 PM | Permalink | Comments (0) | TrackBack (0)