Saturday, January 31, 2009

The Phrase “Common Sense” should be removed from the English Language

A few days ago, after a Microsoft event in Denver, I was hanging with Rob Bagby (another great set of presentations from Rob) and some other developers.  One of our group members, another fellow named Rob, remarked that the phrase “Common Sense” should be removed from the English language.  He suggested that we replace it with the phrase “Uncommon Sense” given the rarity with which common sense is found.

For instance, we were discussing the process of developing software and the multiple constituencies represented on a typical software project: business executives, project management, design, development, users, etc.  Amazingly, everyone on the project expects “success” even though statistically, the odds are against it (see Standish Group’s Chaos Report).

Looks like the folks at the Shane Company fell prey to this often overlooked statistic.  What “Common Sense” business-person would allow an $8-10MM 12-month project stretch to $36MM and 32 months for a Point-of-Sale and Inventory Management System (sadly, the system still has bugs)? That $36MM figure represents at least a couple of years of profits for the jeweler.  The company that produced this $36MM software system ought to be ashamed.  They didn’t have the “Common Sense” to put an end to the black-hole of code that they produced.  I bet the lone reader of this blog is thinking that if they were running the project, they would have had the “Uncommon Sense” to have delivered that project with better results.  But that’s what everyone would like to think about themselves.  I think that I could have done the project for $1,000 in under one day.  I would have told them to never start such a huge undertaking in one go.

 |  Fernando Cardenas  |  #    |  Comments [4]  | 
 Thursday, August 28, 2008

AppGen and the Speed of Change in Business

In a previous post, I talked about the AppGen Revolution, and now I want to talk about how fast the business changes its mind and how AppGen aligns itself nicely with the needs of the business and the developer.

But first: why should we care that our development aligns itself with the needs of the business?  At the end of the day we developers/architects get paid when the company for which we work makes money (or saves money – but I prefer to think of the glass as half-full  =P). 

Businesses make money when we build the right application and bring it to a receptive marketplace.  The last statement cannot be overemphasized.  Notice there is not a single mention of technology or architecture.  Can we use terrible technology and/or an ailing architecture and still make money?  Maybe.  Depends on the marketplace.  We have all seen technically inferior products reign supreme and superior products die.  The market is truly a strange and whimsical place.

You may be thinking: as a developer it is hard it is to deal with the way businesses operate.  The only constant in this world is change.  Changing requirements, changing their minds about the way things should work once they see the way the software was built, changing deadlines, changing colors, sizes and shapes of buttons  =]  So we try to build the software to adapt to those changes in a manageable way.  We may even create new development methodologies and notions (XP, Crystal Clear, Scrum, TDD, BDD, etc.) to help manage this change in new ways.

This area is where AppGen fits.  By being able to 1) model a business domain, 2) model the user interface in a technology-agnostic way, and then 3) generate working applications to get feedback from users in a matter of hours is truly revolutionary.  I believe that the reason Agile methodologies all work so well is that they are meant to focus on delivering working software.  AppGen always delivers working software and does it in the most rapid way possible.

 |  Fernando Cardenas  |  #    |  Comments [4]  |