Forgetting the fundamentals

Bruce Henderson highlights what happens when a company loses sight of the basic fundamentals, as Apple did with the latest iPhone roll out:

But, boys and girls, this is instead a lesson on how you can custom craft your mega phone for a year or so, spend millions on marketing and and commercials in all manner of media. You can crank your reality distortion field to maximum and still look like a crew of chimps who somehow got lost in your own hype and forgot to focus on the fundamentals.

Software and system testing is not sexy, it won’t make the cover of Newsweek, or Wired or even the Farmers Almanac. Load and performance testing is even more arcane and neglected. Everyone just figures you can always throw more hardware at the problem and you will be fine.

Load testing is probably the most under- appreciated aspect of software engineering. My philosophy is that load testing should start early in the cycle at the unit-test level, and continue with each major integration point. Waiting until near the end of the project to do load testing usually means you will have to make a painful decision between a major schedule delays or delivering a shoddy product.

I think I know which choice Apple made.


One response to “Forgetting the fundamentals

  1. There is a problem with load testing to start early. Early in the development you usually do not have all the components in place, using mocks instead. The load testing results may be very misleading, especially if they leak to the marketing or to some architect that misinterprets them. The load testing should be part of the prototyping work and then it should start on the real product when sufficient amount of components is in place for the testing results to be relevant.

    BTW, my observation is that the “painful decision between a major schedule delays or delivering a shoddy product” is integral part of any commercial product development. Better to prepare for it early in the project 🙂

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s