resist implementation

There was a funny situation in my team recently. During the end-of-iteration demo there was a discussion about a new feature. The arguments in favor of a feature were mostly: it’s **cheap** and it **would** be…

Over the years I developed a natural resistance against implementation. It’s quite weird given that I do software for living, no? Here is my story:

Cheap? There are no cheap features.

Every feature means new lines of code. New lines mean more software that can have bugs. New lines mean more code to maintain. New user stories may also bring some organizational burden like tracking, testing, meetings, discussions, agreeing on details, etc.

Would? Adding features based on speculation is risky.

There is a fair chance that speculated feature is not that useful or doesn’t really appeal to the user. Well… this is something I will find out in future.

It’s better to wait for user’s feedback. It’s usually better to implement something very simple and consider it as a starting point for a discussion with a user.

I implement features only if I know they’re needed. Although it’s usually fun to write good software, I’m quite good at resisting implementation.

Finally, it’s wise to remember that it all depends on the software at hand. For example, some speculation is required when implementing spanking new killer-app that is about to win the market with brand new ideas.

Advertisement

Leave a Reply

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

Gravatar
WordPress.com Logo

You are commenting using your WordPress.com 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

Follow

Get every new post delivered to your Inbox.