{"id":872,"date":"2007-01-26T11:35:57","date_gmt":"2007-01-26T11:35:57","guid":{"rendered":"http:\/\/www.redmonk.com\/jgovernor\/2007\/01\/26\/on-software-requirements-just-say-no-agile-is-simple\/"},"modified":"2007-01-26T11:35:57","modified_gmt":"2007-01-26T11:35:57","slug":"on-software-requirements-just-say-no-agile-is-simple","status":"publish","type":"post","link":"https:\/\/redmonk.com\/jgovernor\/on-software-requirements-just-say-no-agile-is-simple\/","title":{"rendered":"On Software Requirements: Just say No&#8230; agile is simple"},"content":{"rendered":"<p>Fred writes about <a href=\"http:\/\/avc.blogs.com\/a_vc\/2007\/01\/saying_no.html\">why VCs should say no more often to startups<\/a>.<\/p>\n<blockquote>\n<p align=\"left\">Startups can go in many directions. There&#8217;s always the desire to please the customers. But knowing what you are going to do and focusing on it is so critical. Saying yes might seem like no big deal. It&#8217;s only a few lines of code, right? Wrong. It&#8217;s never just a few lines of code. So say no as often as you can. It&#8217;s counter intuitive to the entrepreneur mindset, but it&#8217;s critical.<\/p>\n<\/blockquote>\n<p>The same is true for software development.<\/p>\n<p>Every enterprise software salesman has come back to their company with a must-have feature request. &#8220;But the customer won&#8217;t buy it without this feature, and its a million dollar deal&#8230;&#8221;<br \/>\nMicrosoft has seemingly never met a feature it didn&#8217;t like, but then its operating systems come to market years late. Very often, less is more. With that in mind it is critical that the development organisation is in a position to say no to feature requests. The <a href=\"http:\/\/www.37signals.com\/\">37Signals<\/a> mantra (thanks <a href=\"http:\/\/www.typepad.com\/t\/comments?__mode=red&amp;id=28166646\">Rick<\/a>) to customer suggestions is:<\/p>\n<blockquote>\n<p align=\"left\">&#8220;Read them and then throw them away&#8221;.<\/p>\n<\/blockquote>\n<p align=\"left\">Instead 37Signals focuses on execution<\/p>\n<blockquote>\n<p align=\"left\">We believe most software is too complex. Too many features, too many buttons, too much confusion. We build easy to use web-based products with elegant interfaces and thoughtful features. We\u2019re focused on executing on the basics beautifully<\/p>\n<\/blockquote>\n<p align=\"left\">You see, <a href=\"http:\/\/lesscode.org\/about\/\">lesscode<\/a> isn&#8217;t just a function of the language you choose to develop in, ie less code to get more work done,\u00a0 but also how many features you choose to implement in the first place. This is perhaps the key problem with so much Waterfall development- it ends up including every feature that might be needed, rather than focusing on what needs to be done to solve a specific part of a problem at hand. With Agile, on the other hand, features are built with some isolation. Agile development can potentially say no more easily, because there are fewer interdependencies between all the features as specced. Perhaps we should add this sniff test to <a href=\"http:\/\/www.redmonk.com\/cote\/archives\/2006\/12\/the_smells_of_a.html\">the smell of agile<\/a> &#8211; you can tell an organisation is agile when development teams can reject feature requests.<\/p>\n<p align=\"left\">What am I saying? Listen to your software developers, not just your software salesman. Listen to your chief architects not just your vice-presidents of marketing. Listen to that little voice saying &#8220;<em>this really wasn&#8217;t in the plan<\/em>.&#8221; Successful development is a conversation between code and requirements. What&#8217;s the story? What are you trying to achieve? We can implement that like this&#8230;<\/p>\n<p align=\"left\">Once the feature spec is nailed down you need a bloody reason to add a new feature. Saying no more often will allow you to develop products to time and to budget. And oddly enough will probably make customers happier. No sane person would argue that customer satisfaction is a function of number of features.<\/p>\n<p align=\"left\">There is a reason why football is the beautiful game. It has so few rules.<\/p>\n<p align=\"left\">Can you imagine how many times Sergey and Larry refused &#8220;awesome&#8221; ideas for new functions on Google.com? If I had a dollar for every time Google turned down a search page feature request I would probably have nearly as much money as them. Well not that much, but you know what I mean.<\/p>\n<p align=\"left\"><a href=\"http:\/\/redmonk.com\/sogrady\/2005\/02\/17\/all-hail-the-new-simplicity\/\" \/>Philips has a <a href=\"http:\/\/www.philips.com.ph\/philips4philipsph\/about\/brand\/simplicityadvisoryboard\/index.page?\">simplicity advisory board<\/a>. Perhaps we all should, well assuming we&#8217;re big enough to need one. I would argue the simplicity advisory board should even be involved in M&amp;A activity. Acquisitions, not organic development, are the surest and fastest means to a feature glut. There is a reason IBM only buys companies that build on IBM infrastructure&#8230;<\/p>\n<p align=\"left\">Simplicity is better. Avoid the tyranny of choice. Just say no.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fred writes about why VCs should say no more often to startups. Startups can go in many directions. There&#8217;s always the desire to please the customers. But knowing what you are going to do and focusing on it is so critical. Saying yes might seem like no big deal. It&#8217;s only a few lines of<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-872","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"acf":[],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9wfjh-e4","jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/posts\/872","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/comments?post=872"}],"version-history":[{"count":0,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/posts\/872\/revisions"}],"wp:attachment":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/media?parent=872"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/categories?post=872"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/tags?post=872"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}