Monday, January 08, 2007

The PM who cried Urgency

Have you ever been working on a project that you have been told over and over is urgent the date that was initially given to the customer has to hold? The urgency from that initial swag date builds from a normal project to a high effort project, on to a difficult project and on to
a death march?

A critical learning that needs to be accepted is that the purpose of a schedule is planning, not goal setting. A common problem is the initial SWAG (or ROM) becomes the cast in stone plan when the only thing that everyone agreed to at the SWAG was that it was wrong.

A general rule of thumb that I have found to hold true when estimating a project with initial information is that it is good to a rough magnitude of +200% to -50%. (and how often it actually goes to -50% is... let's just say infrequent.) This really means that the estimate is really intended for planning purposes to allow budgets to be roughly planned and dates for initial thoughts to be formed for go/no go decisions.

The unfortunate reality though is that in many cases the initial SWAGs are taken as gold. Plans and dates are communicated around them and then, in order to make the dates that have been "communicated to the customer" the development team is forced to become a team of super-heroes running a death march to meet the date on something that may not have real value in the long term. One of the ironies that I recently read about is that in many cases the death march project is one that has little to no value to the business overall and it seems that the only way the project was worth doing was if it met the impossible schedule.

All of this doesn't change the fact that if a plan missed the date, it was a bad plan. In many cases we try to blame the performance of the team, environment, technical difficulties or other things but the fact remains the plan is what was incorrect. It doesn't really matter why the plan was incorrect, it was. This means that we need to run performance checks earlier in the cycle. A post-project review is always a good thing but what if we did what needs to be done
up front?

While reading through various articles for this topic I ran across one on the Best Practice for Voluntary Overtime. It shows the correlation between an increase in pressure and productivity and then the corresponding decline in actual productivity when pressure is increased too high.
People are more productive and more creative and quality is higher when regular schedules are kept, planned and executed.

Saturday, January 06, 2007

My Recent Reading List

Over Christmas as well as the last little while I have read several books that will undoubtedly have an impact on my blogs over the next little while. So in the spirit of sharing (and encouragement of cheating) here is a quick list. If you are interested in reading them and taking
guesses on which posts entered the list of "I should post on that" feel free to send me email and I will confirm or deny. Of course I try to attribute anything that is direct quotes or go with a theme for a week so you will likely see these mentioned again.

Siddhartha - This is a book by Hermann Hesse about the journey of a man through his life. It is one filled with many levels of meaning and one of those books that you read and learn more about yourself than you expected.

Slack - Getting Past Burnout, Busywork, and the Myth of Total Efficiency this book by Tom
Demarco
focuses on many of the challenges that face companies and leaders in the post-downsize, post-bubble work world. This book is a very easy read, fit for a two-three hour flight depending upon your reading rate. It tries to not just preach but also provide real world tools to fix concerns.

The 8th Habit - I have mentioned this book before and in fairness I have to say that
I am taking a while to go through it but it is not the fault of the book. The style is easy to read and the content is great. I have just had a lot going on and have taken breaks to read other books, read blogs, and play Fantasy Hockey. Being the latest in the series from Stephen
F. Covey and the gang at Franklin Covey crew you know that it is good stuff. This book
comes from the experience that the team there has had in teaching the The 7 Habits
to companies and individuals across the globe.

Along with these I have been reading lots of Blogs.

Friday, January 05, 2007

What is quality anyway?

You could practically start a holy war with the number of interpretations of the word Quality and what it means in the context of software development. In some contexts it follows the battle cry of "ZERO DEFECTS". In other cases it is the cry of "no problems in production."
In fewer instances it is the question of "what will thrill our customers?"

In the grand scheme of software development and usage the first two are valuable, of course, but the last one is what keeps customers. In personally would maintain that it is the one that is most important. Of course customers won't be thrilled if the software is buggy, constantly
going down in real world use of inconsistent in operation. But with that basic understanding of a foundation on which to build what really amounts to quality is not pure defect free or 100% incident free systems but ones that meet customer's needs. There are multiple levels of meeting those needs since in business, the rules change very frequently requiring basic functions and a constant ability to adapt.

So what does this mean? To me this means we should set up steps that allow us to focus on quality of features not just quantity of features. Taking advantage of things like Test Driven design allows us to focus on the right features and changing things quickly to adapt to needs.
It means that we shouldn't hold on to every single feature that has ever been dreamed up and try to win a numbers race of total features. It means we should focus on delivering the right FEW features that are really what customers want, make sure that all of those items are fully
functional, high quality and stable in production.

Numerous stories of start up companies in the computing industry can be told regarding how a start including a SIMPLE product that was widely successful because those few features met a customer need. In some cases a need that wasn't even known at the time. Computers on a grand, multi-room scale existed for a while but the personal computing industry itself came when Woz created a simple computer with just a very few functions called the Apple 1. By keeping things as simple as possible a computer costing only $666.66 was created and took off like gang busters. Think about the productivity tools you use today like Word that started with little more than the ability to put in text and save it. (and man were they ugly when they started)

So... drive down the number of features we are pushing in a release. Focus on doing them really well. Make the features differentiating and easily assembled to allow customers to do the work that really needs to be done. Do the IMPORTANT, customer THRILLING things, first and REALLY well

Tuesday, January 02, 2007

What I did over my Christmas vacation

A whole lot of nothing. Or at least that was the initial plan. Nothing becomes very time consuming. You can spend a whole day doing nothing and end up very very tired. I guess it's all about the nothing that you choose to do. I read some (expect some book blogs), surfed the web a lot, played with my new Dell laptop and DVD abilities and generally hung out with my family.

Main A/V gift of the season - Slingbox. Very fun little HD Slinging utility that I am just now starting to get going. Plus it's just so darn cute. In combination with the new 5 LNB receiver and box from DirecTV going in today with even more HD the DeVries family hockey cheering channel device will always be available.

Fun gift of the season - Roboraptor. Already found a set of forums with methods to hack them. What fun. One person even has his breathing fire. My wife, understanding her boys, got one for each boy... me and my son.

Best Gift by proxy - My son got a Lego NXT. This is the ultimate Son and Geek-Dad gift. Robotic Legos. With 4 sensor types, 3 servo motors and BlueTooth controllability its the ultimate in building block programming.

Of course there were other fun gifts as well but these were my immediate favorites.