The other night I was fortunate enough to have been asked to present at the Mobile Meetup group in San Mateo alone with the always happy folks at Appirio (have you ever actually met an Appiro employee who wasn't happy – there must be something in the Cloud I guess, or maybe it's that taco truck from Dreamforce last year).
I consider the primary purpose of my job is to present people with options, and challenge assumptions: Want to build in the cloud? check out Force.com for incredible productivity gains; Want to deploy Ruby (and Node.js if you happened to miss the announcement) check out Heroku?; and so on.
I am a technologist first and forement. At the Mobile Meetup I spoke of looking beyond the obvious; beyond the explict requirements.
Something this requires a shift in your thinking.
During the presentation I demo'ed a mobile app off my iPad, and asked people what technologies and requirements were used. I actually titled the demo "Guess that Technology". The diagram below shows the three primary requirements: user experience, authentication, and information access. I called these Explicit Requirements—they are the obvious requirements, and almost every application has at least two of these.
My question for the morning, is what other requirements are there? These are often implicit requirements many people don't think about, but are critically important to the success of your application.
If you have read Geoffrey Moore's Crossing the Chasm, you may have heard of the notion of core vs. context activities. During my presentation I asked a simple question to the developers, "what is your core business?" For many, this is a difficult question to answer. Implicit requirements are almost always not the core of your business, however too often people spend too much time and energy focused on them. When you start shifting your assumptions and thinking differently, to 're-use' Apple's famous statement, the value of the Cloud, in particular to mobile development becomes much more clear.
So, what are some of the Implicit requirements the Cloud can deliver for Mobile development? I presented four, but I bet there are plenty more. Tomorrow, after the Database.com sneak peek webinar, I will post my four implicit requirements, but in the meantime I would love to hear yours.