Sunday, September 03, 2006

Developing & selling highly profitable unmaintainable software stuff

Variety is the spice of life, as they say. Here's a selection of insightful articles about developing (software) products that are profitable and will keep you in empoyment for years!

  • Five Habits of Highly Profitable Software Developers - examples are in Java language, but the principles should apply universally ... "Software developers who have the ability to create and maintain quality software in a team environment are in high demand in today's technology-driven economy. The number one challenge facing developers working in a team environment is reading and understanding software written by another developer. This article strives to help software development teams overcome this challenge."

  • How To Write Unmaintainable Code (an amazing piece of work by by Roedy Green) - "In the interests of creating employment opportunities in the Java programming field, I am passing on these tips from the masters on how to write code that is so difficult to maintain, that the people who come after you will take years to make even the simplest changes. Further, if you follow all these rules religiously, you will even guarantee yourself a lifetime of employment, since no one but you has a hope in hell of maintaining the code."

    By the way, Roedy has lots and lots of other good stuff such as Popular Utilities (free and shareware) and continuing the "unmaintainability" theme: Tricks In Offbeat Languages

  • They Write the Right Stuff - about software developed by the 'on-board shuttle group,' a branch of Lockheed Martin Corps space mission systems division. "As the 120-ton space shuttle sits surrounded by almost 4 million pounds of rocket fuel, exhaling noxious fumes, visibly impatient to defy gravity, its on-board computers take command. Four identical machines, running identical software, pull information from thousands of sensors, make hundreds of milli-second decisions, vote on every decision, check with each other 250 times a second. A fifth computer, with different software, stands by to take control should the other four malfunction. ... But how much work the software does is not what makes it remarkable. What makes it remarkable is how well the software works. This software never crashes. It never needs to be re-booted. This software is bug-free. It is perfect, as perfect as human beings have achieved.

    At the on-board shuttle group, about one-third of the process of writing software happens before anyone writes a line of code. NASA and the Lockheed Martin group agree in the most minute detail about everything the new code is supposed to do -- and they commit that understanding to paper, with the kind of specificity and precision usually found in blueprints. Nothing in the specs is changed without agreement and understanding from both sides. And no coder changes a single line of code without specs carefully outlining the change.

    This careful design process alone is enough to put the shuttle organization in a class by itself, says John Munson of the University of Idaho. Most organizations launch into even big projects without planning what the software must do in blueprint-like detail. So after coders have already started writing a program, the customer is busily changing its design. The result is chaotic, costly programming where code is constantly being changed and infected with errors, even as it is being designed."

    Isn't that mind-boggling, eh? I only wish some of my clients would be willing to undergo (that is, pay for in elapsed time and hard cash) anything even vaguely approaching that! It sure beats being given the software requirements over the telephone or on the back of an envelope -- I'm sure some of you too have been given no more than this to kick off some jobs.

  • Finally, once you've developed your perfect -- or perfectly unmaintainable -- software, you'll want to make your fortune from it, and to kick off your sales process Eric Sink has some good tips: How to get people talking about your product (and there''s lots more really sensible, worthwhile material on Eric's site).

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.