Over the last 8 years I have overseen hundreds of apps and web development projects. I have come up with some rules to live by and keys to getting your project done on time and within budget.
Mark Zuckerberg made this methodology famous as a key mantra at FaceBook.
The best example to learn from is Steve Jobs. In 2007 Apple released the iPhone in an already competitive smart phone market. The iPhone was not the Phone that had the most features and apps. The iPhone was the most technologically advanced that focused on the core functions that the iPhone did do well.
App development can get very technical. Trying to explain technical concepts as a lay person to Developer can be difficult at times. Designers and developers are typically think outside the box mentality. Be open to their suggestions as they may have the solution to save time and money.
I have yet to do a project where there was not at least one change order. It is the nature of developing a product, there is going to be changes. Determine how critical the change order is. If the change order is not critical I advise adding the feature to the next version.
Unless you have an official product launch or a strategic launch date. I recommend Release Early and Release Often philosophy. A few key reasons this works. The team gets a sense of achievement and accomplishment. You get feedback quicker from users which allows you to make changes you need quicker.
I am a huge fan of this philosophy. You would not build a house let alone a multi-million dollar building without an architect and blue prints. Design-driven Development is similar concept it focuses on user interaction and software built around the design.
To kickstart your project I recommend studying apps with similar concepts that you want to implement. I also recommend studying and purchasing user interface assets. Creative and cleaver designers use really good design principals in creating a useful intuitive user interface. You can read my article on Design Principals on Creating a Great User Interface. I recommend to your team provide wire-frames and app mock-ups to confirm development concepts. Storyboards are not required but can be useful.
In addition to content that you provide as part of the write up in the App. Also provide copy and paste of menu’s and information buttons. Developers and designers are not English professors do not rely on them to spell or to use good grammar.
As a rule of thumb user should not have to do more than two (2) clicks/touches to get to the desired content. Here is a list of effective adaptive/responsive navigation schemes.
When it comes to programming choose a common programming language. Avoid proprietary languages and technologies when you can. Here is a list of popular programming languages.
If you are planning on doing iPhone and Android app use cross platform environments when possible. There is a lot of options that support cross platform especially when it comes to 3D and games. Corona SDK, Unity 3D to name a few. Developing content rich apps there is a lot of cross platform options such as: Phone Gap, Sencha and many more.
Unless you are going for a specific look and feel that is unique, use existing boot strap templates. Many templates are adaptive/responsive and will automatically adjust to the screen size of the user. Theme Forest has some really good templates that can be purchased ($20-$40) and used. Start BootStrap has open source and free templates that can be used.
We are not in the 1980’s anymore for most projects proprietary code is not required. While you may not want to release your project as open source it is beneficial to use open source and purchase code libraries if needed. A lot of heavy lifting and redundancies can now be leveraged through cloud technologies.
A major pitfall I see most clients fall into is setting project deadlines and helping the developer/designer achieve the deadline. Quickly get feedback to developer and designer after a demo. Fund milestones once complete so the designer/developer feel comfortable moving to the next milestone.
Relying on your nephew in High School to provide the graphic work to your development team is probably a bad idea. If you are bringing a professional in that understands deadlines this will usually work. Otherwise developers usually have other professionals in their network that they are comfortable with that can provide a high quality job at a reasonable price.
Screencast is a screen recording of your device or desktop. When communicating use screencast software to demonstrate to your team member what you are referencing. I wrote an article on using screencast.
Enjoy the challenge and process of creating your app! Your belief and optimism is contagious. A famous saying is: “Everything is a sale”. Once a designer and developer see your vision and buy into what you want to accomplish, your app becomes more than job but part of their mission to help you succeed!