Agile Zone is brought to you in partnership with:

Gil Zilberfeld has been in software since childhood, starting out with Logo turtles. With more than 15 years of developing commercial software, he has vast experience in software methodology and practices. Gil is the product manager at Typemock, working as part of an agile team in an agile company, creating tools for agile developers. He promotes unit testing and other design practices, down–to–earth agile methods, and some incredibly cool tools. Gil speaks locally in Israel and internationally about unit testing, TDD, and agile practices and communication. And in his spare time he kills dragons, for fun. Gil blogs at on different agile topics, including processes, communication and unit testing. Gil is a DZone MVB and is not an employee of DZone and has posted 59 posts at DZone. You can read more from them at their website. View Full User Profile

I Have An Idea!

  • submit to reddit

The biggest waste in software is what we build and isn’t used. Since we can’t know in advance what will be a selling feature, we have to implement the feature, put it in the wild, and hope for the best.

Wait, there’s more: Remember that everything we code comes with a maintenance cost, so it may be that we build something that instead of helping us make money, can even lose money. A lot over time.

To put it bluntly, that doesn’t sound like a smart strategy, right?

I like the lean startup idea of experimenting. With a low-cost experiment we can learn before implementing a whole feature if it’s worth it, or at least get a sense of success. So I’ve began an experiment on experimenting.

After thinking long about it (almost 2 minutes!) I decided to call it the “I have an idea” form. Ideas for features vary in size, and sometimes it’s a big effort in implementation. So before I’m going full force with implementing, I need to test the waters. By forcing myself to put this in words, I can really see if it’s worth it at all, or how we can build an experiment to see if that works.

The form (Word template) has two parts: Hypothesis and Experiment

In the Hypothesis part, we describe the feature from a customer point of view:

  • What is the idea?
  • Whom does it help?
  • What does it solve?

In the Experiment part, we describe how we can learn if our hypothesis has merit:

  • What are we going to do?
  • Who are we going to show it to?
  • How are we going to measure it?
  • How much is going to cost us?
  • How will we know if it succeeded?

That’s it. Pretty simple process to signal me if I’ve given something enough thought.

Will it work?

I’ll let you know.

PS. If you look closely, it’s just not for features.

Published at DZone with permission of Gil Zilberfeld, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)