Tuesday, May 24, 2005

There are laws of nature. And as we know, laws of nature can't be broken. One of these laws has to do with management, and in my case that means software management.

The law states that there are four variables to management, and they are connected to each other. If you take control over any three of these, you cannot control the fourth. You may try, and many do, but you will surely fail. Laws of nature just won't be fooled.

These four variables are named Scope, Quality, Resources and Time, and are the four aspects of a project that you can control, though as the law states, only three at any time.

  • Scope means the amount of work to be done. This relates to the number of features to implement, the number of lines to be written, the number of bugs to be fixed. The amount of anything that you consider to be work.
  • Quality means how well implemented the work is. How bug free the code is, how user friendly a feature is, how configurable a process is, how good performance the code has, how flexible the solution is. Anything that gives the code a little extra.
  • Resources means the size of the workforce, and also the cost. This usually means the number of developers on a project, but may also mean other resources that can have an impact on the work. Like faster computers, better tools or better working environment. It may also be a direct cost, like buying a thrid party solution that solves part of your problem.
  • Time means the amount of time to spend on the project until delivery. This is actual days on the calendar, not the number of man-hours. If you must deliver in four weeks, that is your Time.

Interdependencies

Now, how are these connected? Consider that you have a set of features that must be implemented, and this must be done by a team of four developers. They estimate the time to four weeks. But that is far too much time, so you tell them to work hard and complete the tasks within two weeks. How tested and bug-free, configurable, well-performing and user-friendly do you think this delivery will be? Certainly less than what they would produce in the four weeks they wanted. This is because you put a limit on Scope - the features, Resources - the four developers, and the Time - two weeks. Now the law states that Quality must adjust, and so it did. They did work overtime, but tired developers aren't known to do wonders for the Quality. 

What if you demand higher Quality? You need them to test well for bugs, tune for performance and all those Quality things. Then something else must adjust. Either the Time will adjust and you are delayed, you must put more Resources, or you must decrease the Scope and deliver less features.

Limited options

Something important about these variables is that you don't always have the freedom of choice. Oftentimes someone else owns some of the varibles - typically the customer. If your customer has demanded a delivery date for a set of features, and won't accept bad quality, then all you can control is the Resources. You need to allocate enough people with high enough skills on the project or spend money on a ready-made solution, or you will have to break one of the other constraints and upset the customer.

In a typical contract, the customer has signed on a certain set of features and a delivery date. Now your options are limited to Resources and Quality. Sometimes you can reduce the Scope by finding work-around solutions to complex problems, but this can also affect the final Quality in terms of flexibility or user-friendliness.

It's not always easy

Some of the variables are easy to adjust at any time, and some are harder. Resources are hard to change further down the time-line. You may end up speding more time managing and teaching the extra resources than you gain from them. On the other hand, Time is an easy thing to change. If you add more Time, you get more work done. Scope is a bit harder. Sometimes you just need to finish what you have started, or you have nothing. Though, if you plan carefully you may have left the least important features to the end, and those you can decide to cut. Quality is an easy target. In the start you may be picky about performance and unit-testing, but as you get pressed on time you quickly drop these things and reduce on the Quality.

So, plan your Resources carefully at the start of the project since these are hard to change later. And be careful with Scope. Prioritize the most important features first so you can cut nice-to-have features if you need to. Also reduce the Scope or increase the Time before Quality suffers. Keep and eye on the progress, and make adjustments as early as possible. It is very easy to start dropping on the Quality when you are pressed on Time.

And just one more thing before we close the shop: Understand that if you get an estimate from a developer, and you tell him to reduce it, he will be forced to reduce either the Scope or the Quality. Most probably both.

Also read The King's Dinner

posted on 5/24/2005 10:53:00 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [2]

Related Posts:
Windows Forms UserControls in IE
Taming the Tab key's little brother
Combine() only two paths?
Refactorings
Debugger.Launch()
Microformats

Tracked by:
"sweepstakes may 2006" (sweepstakes may 2006) [Trackback]
"free videos female ejaculation" (free videos female ejaculation) [Trackback]
"lets talk dirty" (lets talk dirty) [Trackback]
"female escorts in chattanooga" (female escorts in chattanooga) [Trackback]
"disneyland ca" (disneyland ca) [Trackback]
"water stop rubber gloves" (water stop rubber gloves) [Trackback]
"college dorm nudity" (college dorm nudity) [Trackback]
"wild girl college party" (wild girl college party) [Trackback]
"jeremy paxman interview" (jeremy paxman interview) [Trackback]
"joplin missouri" (joplin missouri) [Trackback]
"black gay porn" (black gay porn) [Trackback]
"hot springs village hotel" (hot springs village hotel) [Trackback]
"evil deeds" (evil deeds) [Trackback]
"latina girls going wild" (latina girls going wild) [Trackback]
"traffic ticket texas" (traffic ticket texas) [Trackback]
"naturist friends gallery" (naturist friends gallery) [Trackback]
"nude on the boat" (nude on the boat) [Trackback]
"Angina Symptoms" (Angina Symptoms) [Trackback]
"us citizenship questions" (us citizenship questions) [Trackback]
"no teletrack or verification payday loans" (no teletrack or verification payday... [Trackback]
"welding hoods" (welding hoods) [Trackback]
"nastiest whore in porn" (nastiest whore in porn) [Trackback]
"doxycycline used for" (doxycycline used for) [Trackback]
"tae kwon do winchester va" (tae kwon do winchester va) [Trackback]
"Houston act software training" (Houston act software training) [Trackback]
"C2 Constellation" (C2 Constellation) [Trackback]
"dirty bear sex gallery grizzly" (dirty bear sex gallery grizzly) [Trackback]
"endodontic infections" (endodontic infections) [Trackback]
"minor league baseball" (minor league baseball) [Trackback]
"myspace whore me button" (myspace whore me button) [Trackback]
"heavyweight vinyl envelopes" (heavyweight vinyl envelopes) [Trackback]
"candida albicans alcoholism" (candida albicans alcoholism) [Trackback]
"farm animal cake sprinkles" (farm animal cake sprinkles) [Trackback]
"final fantasy animated gifs" (final fantasy animated gifs) [Trackback]
"amateur girls kissing" (amateur girls kissing) [Trackback]
"hummer H2 SUT" (hummer H2 SUT) [Trackback]
"mother fuck" (mother fuck) [Trackback]
"dating gay" (dating gay) [Trackback]
"buy used car" (buy used car) [Trackback]
"dirty lilly sucking" (dirty lilly sucking) [Trackback]
"italian amateur porn" (italian amateur porn) [Trackback]
"garmin 72 handheld gps" (garmin 72 handheld gps) [Trackback]
"hentai dating sim game" (hentai dating sim game) [Trackback]
"van norman brake lathe" (van norman brake lathe) [Trackback]
"Big Brother 2005" (Big Brother 2005) [Trackback]
"fact act" (fact act) [Trackback]
"miller generators" (miller generators) [Trackback]
"subwoofer auto" (subwoofer auto) [Trackback]
"sofa sleeper mattress" (sofa sleeper mattress) [Trackback]
"Oriental Trading Post" (Oriental Trading Post) [Trackback]
"playboy playmate july 1996" (playboy playmate july 1996) [Trackback]
"Credit Internet" (Credit Internet) [Trackback]
"young teen hitch hikers" (young teen hitch hikers) [Trackback]
"DRUG INTERACTION WITH PROVERA AND ATIVAN" (DRUG INTERACTION WITH PROVERA AND AT... [Trackback]
"gameboy advance sp" (gameboy advance sp) [Trackback]
"import of perfume" (import of perfume) [Trackback]
"ray of light" (ray of light) [Trackback]
"purchase flagyl 500mg on line" (purchase flagyl 500mg on line) [Trackback]
"plastic card printer" (plastic card printer) [Trackback]
"audition movie spoiler" (audition movie spoiler) [Trackback]
"September Holidays" (September Holidays) [Trackback]
"vicks humidifier" (vicks humidifier) [Trackback]
"precut mats" (precut mats) [Trackback]
"mexico pharmacies" (mexico pharmacies) [Trackback]
"calendar publishers" (calendar publishers) [Trackback]
"how to construct a respirator" (how to construct a respirator) [Trackback]
"zyrtec and conception" (zyrtec and conception) [Trackback]
"8X 4X AGP INTERFACE" (8X 4X AGP INTERFACE) [Trackback]
"King Kong Lives" (King Kong Lives) [Trackback]
"phat farm sneakers" (phat farm sneakers) [Trackback]
"technical defenition of SSL" (technical defenition of SSL) [Trackback]
"DEWALT ROUTER" (DEWALT ROUTER) [Trackback]
"Effects of Nagasaki Hiroshima Bombing" (Effects of Nagasaki Hiroshima Bombing) [Trackback]
"RFID Tags" (RFID Tags) [Trackback]
"memory loss ambien" (memory loss ambien) [Trackback]
"eureka vacuum belts" (eureka vacuum belts) [Trackback]
"electronic components listing" (electronic components listing) [Trackback]
"Cabinet Knobs" (Cabinet Knobs) [Trackback]
"computer restarts for no reason" (computer restarts for no reason) [Trackback]
"gatlinburg pet friendly chalet cabin" (gatlinburg pet friendly chalet cabin) [Trackback]
"baal bot" (baal bot) [Trackback]
"Examples of newsletters" (Examples of newsletters) [Trackback]
"kern river rafting" (kern river rafting) [Trackback]
"CBL Activities for Math" (CBL Activities for Math) [Trackback]
"nudebollywood" (nudebollywood) [Trackback]
"Alopecia Areata treatment" (Alopecia Areata treatment) [Trackback]
"search engine positioning" (search engine positioning) [Trackback]
"air conditioning london" (air conditioning london) [Trackback]
"trazodone diarrhea" (trazodone diarrhea) [Trackback]
"Mackie Mixers" (Mackie Mixers) [Trackback]
"glamour photographer" (glamour photographer) [Trackback]
"dui attorney georgia" (dui attorney georgia) [Trackback]
"carpet outlets in georgia" (carpet outlets in georgia) [Trackback]
"eczema causes" (eczema causes) [Trackback]
"community trust bank" (community trust bank) [Trackback]
"fibromyalgia trigger point injections" (fibromyalgia trigger point injections) [Trackback]
"fibromyalgia symtoms" (fibromyalgia symtoms) [Trackback]
"math help sites" (math help sites) [Trackback]
"tv guide" (tv guide) [Trackback]
"saint louis missouri" (saint louis missouri) [Trackback]
"ginkgo biloba side affects" (ginkgo biloba side affects) [Trackback]
"depuy outcomes registry" (depuy outcomes registry) [Trackback]
"hose crimper" (hose crimper) [Trackback]