We had serveral dozen messages, talking about this. Here's mine about what came to pass:


Thanks for all the feedback. This has helped me to step back and grapple
with this....

It's time for an update on how things are going at OK Corral....

I worked at home Monday and Tuesday, and went in today. Believe it or
not, it was like walking into a different company. The people were the
same, but their attitudes and practices were different!

1. The manager dropped by and said "We're going see what happens with
those seeds you planted." Of those books I'd recommended last week, he
had ordered copies of "201 Principles of Software Development" and
"Debugging the Development Process".

2. I suggested to my boss that we go over that "impossible" project plan
and rework it into something possible. He dove in immediately. I worked
with him for an hour, and he went off and worked on it another several
hours. By removing the non-essential, adding a few process steps, doing
lots of careful sequencing, reviewing each start and end date, we now
have a plan that ends 2 days early. This achieves the minimum ending
buffer (25%) I recommend for new type work.

During this I made numerous suggestions. All were accepted. And we did
not reduce a single task duration, ie we did not cheat!

3. The president dropped by for a demo. He loved it. I mentioned the
Project Analysis I'd done the week before, and how we could use someone
playing the role of Customer Champion. He loved it and discussed who
could do it, even if that was extra staff. And then came the
bombshell....

He said that when they make their presentation on October 10, they'd
like to include my architectural models and process. He explained this
would help to convince the customer they could "come through" and had a
real process. Since the product is complex, it takes a pretty serious
developement approach to build it. The customer knows this, and
apparently now so does management. Wow! This is a bit reminiscent of
requiring vendors to conform to ISO or SEI certification.

We discussed in detail what would make the difference in them winning
the bid. Where did the prototype need to look professional? What
features would differentiate it? What could we do later versus now? Etc,
etc, etc.

He placed the greatest emphasis on the GUI, rather than the vast set of
API's and features behind it. It needed to be easy to use, a minimum
number of clicks to do anything or navigate anywhere, a polished
appearance, etc. Music to mine ears! I rolled off what I'd already
explained to my boss and the manager, about my approach to the GUI, and
did not get the neutral response I got from them - I got a tremendous
approval. Wow!

4. In the afternoon I suggested to my boss that we needed to map out the
next two days in detail, we had so many things to accomplish. 30 minutes
later, he placed the schedule on my desk. Wow!

5. I inquired if a key design document had been done as scheduled. It
had, and I confirmed it with the developer. Excellent. Remember now,
they were working with only verbal exchanges and memos before. Wow!

6. I mentioned that a review of a developer's code had shown he needed
to read Code Complete. My boss said that's a good suggestion, maybe I
need to read it to. Zoweeeeeee!

-----------------------------

Every suggestion I made was accepted without challange. Their whole
attitude had taken a 180 degree turn. They were now very receptive, and
rapidly becoming proactive towards process improvement. This is
incredible. I've never seen an organization change this fast before.

What had happened? How could they turn on a dime? Very impressive, I've
got to give them a lot of credit.

As I mentioned in the thread opener document, I had noticed early
resistence to improvement suggestions, and so had decided to take a very
low key, non-confrontational, demonstrate by example approach. It
appears this took about 5 weeks to take effect, since this is my 6th
week.

I was also very targeted in the seeds I was apparently dropping:
- We started with a formal mini-process on the first day.
- We always analyzed and modeled before coding.
- If I discovered anything that needed a spec I drew one up on the spot.
- At various opportunities I pulled out books to make certain points.
- The chapter the developers read covered the CMM and reviews.
- We played very close to a project plan from day one.
- When my boss didn't respond, I went to the operations manager, but
in a helpful no-runaround manner.
- I tried to have a personality that was easy going and non-domineering.

A catalyst could have been the Friday review's discovery of the
"transaction train wreak", where we discovered and resolved a huge
defect in our first review. This was a very successful review. I suspect
it scared them like "a whiff of grapeshot", and they could see
corrective action was mandatory.

And so, things are going great!

And to top it all off, they have requested training in the Bean
Assembler, which starts tomorrow morning. Wow!

Happier Jack

PS - But I do have to confirm the schedule reorg. It may be a Pollyanna.
I've already asked 3 key questions about it, but have not done a walk
through. As Tod pointed out, even schedules need reviews!