I was putting together a post on the dos and don'ts of mobile development (that will definitely be coming) but decided this post applies to pretty much any kind of application development process here at Merryfools. So I definitely want to share this.
Here's a little list of things to keep in mind before, during and after development: First, let me add this: Save often and back up your files. I'm still amazed developers are still having to learn that lesson the hard way.
Have a plan - there are definitely some scenarios where you can just hit the ground running but the landscape of mobile is just too big/diverse for that.
Communicate the plan with all project team members - everyone sees the finished project a little differently in their own minds so keep each other informed through the whole planning process.
Create a Proof of Concept model - always a good idea but sometimes doesn't get done if there is a lack of project time.
Diagram your workflow - to me a plan is a set of rules for guiding a project. A workflow is a schematic for building a project.
Break your project into small pieces. Don't try and do everything on one screen. Even if your app is only one screen, consider separating your component groups into views you will load into your main screen. This may seem like a "no brainer" but, you'd be surprised. :)
Same thing with your code. I have been accused on occasion of using too many class files in my projects. What? The separation of component duties is key to avoiding a giant muck of spaghetti code.
Reuse Reuse Reuse! If there is code or component views that can be reused instead of repeated.. DO IT!
Get builds out to your testers - iterate releases are key to successful projects. If you can push out regular builds any changes or OS "weirdness" can be identified sooner rather than later.
Don't wait for the end of your project to identify what has to be done to get your app available for sale. The process isn't nearly as easy as you might think and can cause long delays in your app's approval.
It's always a good idea to look back on a finished project and identify anything that could have been done differently to make the project process smoother. Take note of these things so they don't get repeated in future projects.
Each platform has its strengths and weaknesses and a whole host of "little things" that never cease coming out of the woodwork. Planning,frequent testing and build iterations are the keys to successfully completing a project.