Good, Cheap, Fast–pick ONE

The usual adage among self-styled technical project management gurus is, “Good, Cheap, Fast — pick two.” This means that you can have something built well and quickly, but it won’t be cheap. Or you can have it cheap and fast, but it won’t be good. Or you can have it good and cheap, but it won’t be fast.

I’m here to say they still have it wrong. In reality–and this is the bane of all project estimations I have ever seen or heard about–you can only have ONE of those factors when you’re talking about software.

Say you want something done quickly and well. No problem, just expand the budget, right? It won’t be Cheap, but we still have Fast and Good, right? The people who say that never read The Mythical Man-Month. You can throw more programmers at a problem, but you quickly go from diminishing returns to negative returns. That’s right. More programmers can decrease quality and speed. The problem is information. If you have a process that can handle adding in more programmers, it will be by definition deliberate and slow, because the extra processes to accommodate getting information shared and collaboration managed among more people take more time. If they don’t take time, you’ll have less coordination and, hence, more bugs. That means less quality.

Say you want it cheap and good, but you can wait. Really? What are you waiting for? The Spirit to move you? Quality takes time and planning. At some point, someone has to pay for this time. So if you slow down and do it right, you aren’t necessarily saving money. It doesn’t matter if you’re building it in-house versus purchasing pre-built components (which usually have their own integration overhead), any time you deploy someone on a given task and not something else, that’s a cost. An opportunity cost, but a cost nonetheless. Being cheap necessarily means limiting the time spent on it.

This isn’t to say there aren’t things you can do to reduce costs, increase quality, or speed development. But it’s not a simple tradeoff of one against the other two that can be applied on a given project. Usually such improvements actually come across projects. Experience increases quality, reduces cost, and speeds things up. But experience can’t be ratcheted up on a project manager’s whim–because if nothing else, it’s usually the project manager’s experience that plays into the whole equation.

There are certain cases where you can buy a prebuilt component and save yourself time while increasing quality. There are certain cases where a little more non-overtime time will be cheaper while increasing quality. And, of course, you can sometimes drop features to get something out the door faster and keep quality on the remaining components (which is the same as increasing cost, since the remaining components cost more to build). But if you aren’t in these situations, the canard of process gurus will come back to bite you.

Note that the one thing I never mention is altering the quality (Good) part of the equation. You can absolutely trade off quality for cheaper and faster products–at least in the short run. In the long run, your clients will demand the quality anyway, or go to other vendors who have said quality, and you’ll have to improve the quality of your offerings to stay in business. Witness Microsoft’s recent work on security and stability over new features. Even though they offer their browser for free, their lunch is beginning to show red panda-shaped bite marks.

So just remember–the next time you intone that you can simply adjust the budget to get yourself the same quality in less time, prepare yourself for failure.

You Know It’s Monday

When you get to work and before you get in the door, you drop your keys into the gigantic pile of (hopefully dog-created) scat.

Give our CEO credit–he saw it and immediately got some implements and cleaned that shit up.

Literally.

Become State Department Spokesman By Talking Louder and in a Funny Accent

Just heard on the Dean Edell medical talk show (radio, so unfortunately no link): Dr. Edell in his younger days went to the Soviet Union on a Finnish bus tour, and befriended an American who was there researching the trip for a student travel publication (I’m guessing it’s the evil Let’s Go).

When they were trying to find a restaurant in then-Leningrad, his new friend would ask people on the street. How was his Russian? Nonexistent. No matter, he would simply talk loudly in a pseudo-Russian accent…in English. “Wherrre eees de restaurrrant?!?”

Who was this brilliant communicator?

Richard A. Boucher, State Department Spokesman for the Bush administration.

Oh, competence, thy name is so not Bush.

Is It Possible to Unsubscribe from Democracy for America’s List?

I have been trying almost a year to get off the Democracy for America spam list. I call it spam, as only the fact that Democracy for America is not a corporation prevents Tom Hughes from being thrown in federal prison for his tactics.

To date, I have tried:

  1. Using the unsubscribe form linked to in the e-mails, multiple times.
  2. Replying to the e-mail.
  3. Using the general contact form on the Web site.
  4. Calling the hucksters on the phone and politely demanding to be taken off. An exploited member of the underclass working for slave wages assured me I’d be taken off. This was weeks ago. Update: They are no longer exploiting wage-slaves, as they have stopped answering their phones–the hallmark of a transparent, democractic, and open organization. You now must know an extension or a name to contact anyone there. I may have to try Tom Hughes.

At the moment Tom Hughes is criticizing Tom DeLay–for ethics violations. Tom (Hughes), how ethical is it to fake an unsubscribe form? This puts you in the ethical companionship of pyramid-schemers, fake penis-enlargement pill-pushers, misogynistic porn peddlers, and Nigerian scammers.

Tom Hughes, consider cleaning up your own house before you criticize anybody else.

Now there’s something I haven’t tried–maybe this is a way to solicit a bribe a la his brother-in-ethics, Tom DeLay.

As a guy who writes Web applications like this for a living, I can tell you–it is not hard after NINE MONTHS to find and fix a problem with an application that takes an e-mail, matches it in the database, and removes it. It’s a trivial problem, even if you want to put in fancy features, like preventing someone from unsubscribing masses of e-mails maliciously or finding close matches of e-mails provided you. IT IS NOT HARD, so I can only conclude that Democracy for America is beyond incompetent and is now actively fraudulent.

Maybe I should take up a collection to put up some billboards in Vermont.

Tom Hughes, you owe me and the public an apology.

Update, continued. It seems that organizations with the initials DFA have a history of spamming and not being open and honest about their setup or whom is to blame for the practices they use. So this behavior is fairly typical.

And slimy.

Safari 1.3 — Wow

Dave Hyatt drops a bombshell and reveals that, unlike the claims of certain Windows writers, service packs are actually a closer analog to the update releases of OS X (such as the just-released 10.3.8 to 10.3.9 update). Though nearly unmentioned in the official release notes, Safari is getting a major update with standards-compliance, rendering speed, JavaScript, and compatibility upgrades.

He also gives a hint of some of the technologies and performance improvements that we can expect on April 29 with the release of OS X 10.4 “Tiger”. I have a dual-processor machine, so I should benefit. But the big news is, they released the same version of the rendering engine to the older OS so that HTML authors like me have an easier time supporting Safari. That’s a big deal, and something that Redmond Just Doesn’t Get.™

If you create HTML and CSS, be sure to check out Dave’s post. You’ll like what you see.

As far as his continued work on WaSP’s Acid Test 2, Dave continues his posts, including some questions about the validity and importance of certain tests. Read the archives.

Consider Microsoft’s Face Smacked with an Acidic Glove

I triple-dog-dare the IE team to do this:

The Web standards project has released the Acid2 test for Web browsers. It is a pretty crafty HTML+CSS test designed to ensure that browsers are properly implementing support for those standards.

Every browser fails it spectacularly. 🙂

I started work today on making Safari pass the test, and I thought I’d blog my progress as I fix bugs in the test.

Dave Hyatt describes his initial progress in this post, and then gives screenshots of his progress in here and at last we can see the robot (or whatever) smile here.

Note: Dave has in no way challenged Microsoft, Opera has. But what I think is great about what Dave is doing is that he’s being completely open about it and showing you progress. And remember, this is from a (mostly) closed-source company. The difference? Apple use an open-source rendering library and contribute their changes back to the community.

If MS believe that other issues are more important than rendering, they could simply open-source their rendering engine and let other people do the standards-compliance work for them while they bolt on other technologies elsewhere. But while Microsoft may pay oodles for technical innovation, they seem to lack the managerial innovation to make any use of what they get.

As a guy who has to craft a lot of HTML and CSS, and particularly needs to be able to put out structural HTML free of presentation so the content can be adapted for as many presentations as possible when building new features into our CMS, I welcome any competition to actually advance browsers.

CSS is problematic and unweildy for individual authors–it was clearly designed first as a theoretical specification and then applied to the real world (edit: rather than evolving through a more iterative process with a focus on solving everyday authoring problems)–but it’s the only game in town and beats doing nothing. The main thing I look for is consistency. I really want to be able to write some code to spec and then forget about it. You’ve never been able to do that, and I’m sure for edge cases you never will, but it would be nice to do simple pages without having to think about how Browser X will render a float.

Maybe a little playground competition will get us closer.

Recording Industry Killing New Music

Want to figure out what’s up with the confusing claims of piracy and whether your overpriced CDs go to fund new artists? You can do little better than reading this Register piece about Fiona Apple’s new album–or lack thereof. Seems a new album has been created and finished for some time, but Sony, her label, won’t release it.

Thanks to the world of P2P filesharing, some people have heard it. So, el Reg asks, why not just put it online where there is zero marginal (per-sale) cost to the record company, and every download is pure profit? Because their heads are far, far embedded in their digestive tracts and can’t conceive of a world where marketing doesn’t surround collections of songs sold on physical media–and because promoting physical media well enough for it to be profitable is so hard, they try like hell to follow whatever the latest trend is in each subgenre…in this case, female singer-songwriters.

Additionally, the online material they want to put out is the most-heavily-downloaded: the back catalog. I mean, what is Fiona Apple really going to do when competing with Ella Fitzgerald, Joni Mitchell, and Joan Baez? Actually, she’ll probably do quite well as the per-unit cost to the consumer is so low they can afford to take a sampling from many artists as opposed to being forced into betting larger sums of money that they’ll like enough music from a single artist’s CD to make up for the 15x higher purchase price.

But the recording industry doesn’t understand that, which is why they spend their time quaking in their boots about online file sharing rather than on figuring out how to market in the first decade of the 21st century–which is half over.

I’m a Hero Because I’m Padding the Bat I Use to Beat My Wife!

There are few problems that Congress (or almost any legislative body) addresses that they themselves didn’t create. Case in point:

Chairman of the subcommittee, Lamar Smith, criticised the Cupertino company’s failure to show up, saying: “This interoperability issue is of concern to me since consumers who bought legal copies of music from Real could not play them on an iPod. I suppose this is a good thing for Apple but perhaps not for consumers.

“Apple was invited to testify today but they chose not to appear. Generally speaking, companies with 75 per cent market share of any business, in this case the digital download market, need to step up to the plate when it comes to testifying on policy issues that impact their industry. Failure to do so is a mistake.”

In other words, it would be a shame if your nice store here were to catch fire. If you pays de boys an me some protection money, we could make sure dat never happens to ya, pal. I think actually the Mafia is more subtle than Congress.

Of course, why is it possible that Apple is able to encrypt their format so that no one else can use their hardware? Why, Congress passed a little law, called the Digital Millennium Copyright Act that, among other things, made it illegal to “circumvent” copy protection, no matter how silly or needless it may be. Most companies use it to lock you in to their proprietary scheme. For example, the movie industry uses it to ensure that you can only play their DVDs in the regions they choose to sell them, wether or not this makes any sense. Another company uses it to make sure that everybody who makes software to interface with a DVD player has to pay them buckets of money and, incidentally, keep upstart DVD manufacturers out of the business and leave it for the big players. This benefits established industries who would rather not be bothered improving their products much, and consumers none.

Enter Apple. They mistook the DMCA to mean they could actually implement a copy protection scheme meant to, well, keep people from copying stuff. Their player will play other formats, but the only copy-protection scheme it uses is the one they created. And instead of using this as an excuse to foist of second-rate junk on an unsuspecting populace, they actually produced the little white doodad everybody but me seems to think is a must have, except for die-hard Nomad users who resemble Apple users of 10 years ago.

So two key ingredients are missing from Apple’s use of the DMCA. They don’t screw consumers by shipping inferior crap and using the DMCA to force them to buy it anyway, and they don’t help established players keep out newcomers. Anybody could come up with a better player and music store and beat Apple–there’s no requirement to use Apple stuff, and switching costs are still relatively low–most of the cost for 99.9% of the public will just be in switching hardware, which they tend to do anyway.

But this is not enough for those used to riding off the backs of monopoly rents protected by government force of arms, oh no. So they’ve summoned their lackeys in Congress to reinsert the feeding tube into WMA, and Congress, being the unreliable ronin they are, are offering Apple a chance to outbid the RIAA and Real Media for their votes.

To his credit, Napster CEO William Pence, has a firmer grasp of market economics than his marketers:

“It is my belief, and the essential point of my participation today, that marketplace forces will continue to drive innovation in the DRM arena with attendant consumer benefits – new ways to enjoy digital music at a variety of different price points – while also gradually ‘solving’ the interoperability problem,” he said.

So there you go. A Republican Congress grandstanding to protect you, the consumer, from a law they crafted and a Democratic President signed. And, of course, the irony of it is utterly lost on them.

Karol Wojtyla, RIP

Since I lived in Poland for a year and have felt close to the country for more than a decade now, I wanted to add my voice to the remembrances of Pope John Paul II. There were many areas where I, as one who seems to lack the faith gene, disagreed, often vehemently, with the Pope, but here are things I found admirable:

  1. He demystified the papacy. By traveling and embracing global telecommunications, he made the Pope a much more human figure. His admissions of Church error and requests for forgiveness made the Catholic Church itself a more human institution. He even admitted that Galileo was right.
  2. He was an incredibly staunch friend of freedom. He would frequently travel to dictatorships, even his beloved Poland, and criticize the regimes on their own soil.
  3. He was consistent. While a foolish consistency may be the hobgoblin of little minds, Jan Pawel did remain true to his beliefs from beginning to end. He did not remain silent on Iraq just because George W. Bush shared his view of abortion. He privately met with and forgave the man who tried to kill him.
  4. He reached out to other religions, particularly Judaism, who had suffered at the hands of the Catholic Church. He had Jewish friends in Wadowice (OK, because it’s driven me crazy recently, it is pronounced vah-doh-VEE-tseh, and “Cracow” is really spelled Kraków and is pronounced KRAH-koof) and genuinely seemed to “get” the relationship between anti-Semitism and the horrors of Nazi Germany.

He, of course, was flawed, like all men. But he did rise to the occasion more than most and made radical changes in the Catholic Church. I wish he could have gone further, but in a little over a quarter century he did quite a lot.