Oops, I just realized that my last blog post was 7 months ago; the reason is that I've been busy with a new exciting Mobile Application development project at SAP. Unfortunately I cannot unveil the results yet (but keep an eye on my blog), however what I can do, is to share with all of you about the experience we got and some tips and tricks in case you want to explore this new area.
First, be patient:
Before you start with your Mobile Application (Platform Independent) development, there are lots to do before the first line of code gets written, here you have some tips.
Use the appropriate methodology, we use Agile (scrum) methodology, because we use Lean at SAP, because this methodology give us all the information and tools that we need, and because it is flexible and allows you to adapt it to your needs. Remember Agile is more efficiency than speed, so don't use it if you want speed only.
In my humble opinion, I think that Agile is the best methodology in order to convert from idea to product, and do it faster with the expected quality.
Second, kept it SIMPLE!
Some of the best mobile apps around, really only do one thing. Don't try to change the world, what the end users wants is a very simple and elegant single feature application, and of course, with a smart navigation that won't force them to do more than 5 clicks.
Doing a very specific set of features, you will keep it small, and deliver customer value.
Remember that there are thousands of applications already in the market; you have to catch your place by using the Innovation per differentiation.
Start with non development task:
This is a Developer Network and I'm sure you want to know what is the best code, API's and combination to use, but there are some other "time consuming" task that you need to start as soon as possible to grant the success of your project, the following names will sound familiar to you now on:
Once ready, go to development:
You have to develop it with Focus, Speed and Execution; these 3 concepts will help you in all the stages of your product development
Write user stories, several of them; it will make you aware of user expectations.
Once you have dealt with several "user stories", make a mock up, and go back to the simplicity concept, reduce all the unnecessary "points of failures", because, believe me, they WILL fail!
Figure out the absolute least you need to do to implement the features, do just that, and then optimize it, remember that the performance in your hands is a key factor.
If the hard part can be done in the server, do it in that way and not by processing in the device.
Re-use, don't try to reinvent the wheel, if there is something that does what you need, just take it and make it work in your concept, but I've assumed that sometimes it is better to start from scratch, so evaluate all the resources first and just when you have all you need to start coding.
In the past, this was a much ignored concept, but from now on, you cannot move out with an ugly user interface, the latest devices like iPad, iPhone, Android or Palm, are based in touch screens, the graphic and elegant UI design is a must.
We're developers; we know the core beyond the look and feel; we're able to send rockets to the moon, but let's assume that we're not Graphic Designers, hire one and hire them on time.
Last but not the least is the feedback, once you test a bad application in your mobile phone, you will never use it again, the final users want a tool for getting things done, they want apps to keep them working productively despite the location, so be prepared to get the feedback soon, deliver Beta versions and act as fast as you can.
I hope you can re-use my experience managing projects in this area.
Please note that this post is a personal opinion and do not refer the official SAP statement.