August 2, 2012

...Learn TDD with Codemanship

Back To Basics #4 - Do The Important Stuff First

This is the fourth in a series of ten posts attempting to summarise basic principles for new and aspiring software developers which aims to keep the marketing mumbo jumbo to a minimum, so they can hopefully see the wood for the Tree-Driven Developments.

Fire!

Not really. But if there actually was a fire, and you had just seconds to grab a handful of items from your home before running into the winter night in your underpants, would you just grab things randomly?

There's a risk you'll end up in the freezing night air having managed to save only the TV remote and a box of Sugar Puffs. Not quite as useful in that situation as, say, your wallet and your car keys. You'd feel pretty stupid.

So just think how stupid you'd feel if you only had 3 months to create a piece of working software and, when the time and the money ran out, you hadn't got around to incorporating the handful of key features that would make the whole effort worthwhile.

Some features will be of more use and more value to your customer and the end users than others.

Studies like this one of menu item usage in Mozilla's Firefox web browser show that some software features are used much more than others. We see this kind of distribution of feature usage on many different kinds of application.

If I was leading a team building a web browser like Firefox, I would want to have "Bookmark this page" working before I worried about "Firefox Help".

When you have a close working relationship with the customer, and unfettered access to representatively typical end users to ask these kinds of questions, it becomes possible to more effectively prioritise and tackle the more important problems sooner and leave the less important problems for later.







Posted 5 years, 9 months ago on August 2, 2012