Posts by

Manage My Expectations

The most widely known iterative methodology in software development is the Rational Unified Process (RUP). It’s a framework for managing projects in a way that kind of resembles real life. Meaning that the first time you do something you do the best you can with the information in front of you. Then, you try harder the next time given what you’ve learned. One of 3 things will happen the next time around; (1) you’ve improved, (2) you’re about the same, or (3) you’ve gotten worse. Here’s something surprising that may not sound intuitive; all three situations are a win.

That doesn’t sound right, does it? How can I win, when I lost or stayed the same?

The answer is that in all three situations you’ve measured your performance, which gives you a better chance to set proper expectations the next time around. See, we’re not trying to be the best at predicting outcomes; we’re merely trying to do the best we can to beat unexpected obstacles and make progress. Software development teams who don’t hit their deadlines have done nothing wrong. In fact, they’ve done a more honest job than teams that claim to predict the future. In the end they have software to show off; it’s just being built at a slower pace than some people may have anticipated.

What we have here is a problem setting proper expectations, not a problem delivering software. Ultimately building software is not a predictive endeavor, it’s an adaptive and creative one.

Capability Maturity Model

The Capability Maturity Model (CMM) has 5 levels that help organizations judge the overall strength of their production capabilities.  Sounds really simple, but a lot of people have a hard time grasping this model.  However, we’re going to break it down in very simple terms and make it more consumable.

CMM 1: Individual heroics got a project across the finish line.

CMM 2: A process exists for getting a project across the finish line, but it only works in isolated instances. Meaning, it’s not a process that has been proven to work across the entire organization.

CMM 3: A process exists that works well across the entire organization. For example, an HR department may have an enterprise-wide recruiting process that seems to work in every single office, with small variations. The organization is not so much concerned with the variations, just that it works everywhere.

CMM 4: An enterprise-wide process that is working well is measured to identify variations. At this level the organization is not so concerned with the variations, but wants to measure and log them.

CMM 5: An enterprise-wide process that is working well and measured for variations is now being optimized using data that has been collected over time. An organization may use statistical analysis to fine tune the process. A bank, for example, can have a single error per one billion transactions, whereas a baker can have an error per one hundred cakes. These statistics help organizations fine tune their processes. Obviously fine tuning the baker to one error per billion cakes is probably not a good return on investment!

That’s the Capability Maturity Model in a nutshell.  Blue Daring believes that every organization wants and needs processes that are CMM 3 or better!

The Second Law

The second law of thermodynamics has many different interpretations. One that I find compelling is that the universe and everything in it gets more and more disorganized as time passes.

That is – of course – unless someone does something about it. On a large scale (Planets, stars, etc) it doesn’t affect our life much, but on a human scale, I think it’s very real.  Think about your life.  If you stopped and did nothing for the next few weeks without planning ahead, think about how crazy and disorganized your life would be!  We keep our lives going because we have unwritten procedures and policies in place that we try to follow closely. 

In addition to fighting disorder, we have to fight something almost as important as the Second Law of Thermodynamics.  It’s called Procrastination.  Whether at home working on a project or on a project working from home, putting things off generally creates more disorder.

Business is the same.

Your business has procedures and policies that keep your company from spinning out of control.  It makes sense to put all these unwritten rules of your business on paper.  If you don’t put a system or strategy in place to run your company effectively, you’re just perpetuating disorder and the author of waste.   Further, the time is now, to take on a project to improve your company.  If you don’t, you’re just creating more work for yourself to clean up later.