The detail of your scope will depend on your skills, available time and resources and development partner. The scope can range from a one page description of the concept to 100 page specifications including use cases, wireframes, mockups and functional and non-functional requirements. It doesn't matter who does the work (you or your development partner) and it doesn't have to be super detailed but these are items you should always have:
- Objectives / Success factors
- Target devices (e.g. iPhone 4 and 5 and iOS5+), Smartphones only or include tablets?
- Core use cases
- Design Mock-ups
- Non-functional requirements incl e.g. the number of users, expected response times, etc
We've previously written an extensive blog about this so rather than repeating ourselves read "What is the cost of developing a mobile app or site?"
- Mobile is becoming more and more business critical to most companies and therefore it's even more important to chose a long term partner.
- Many businesses want the flexibility of bringing the development in-house which means higher demands on the developer in terms of system design and code quality and that businesses want to avoid proprietary platforms that tie them in.
- The number of offshoring developers and small developers have continued to rapidly increase
- HTML5 adoption continues to grow but faced a backlash when Facebook announced they are switching focus to native apps
- With the increase in HTML5 adoption almost every web agency now believes they can do mobile development without realising the differences in technology, fragmentation and user experience
Mobile website in XHTML, HTML5 web app, Native apps or hybrid apps? Backend requirements such as middleware, content management, eCommerce, customer databases, logging and reporting and more. There is no right or wrong when it comes to choosing the technology for your project. Every project benefits from an open discussion about the technology.
How to do agile development with your outsourcing partner?
You will never know exactly what you need until you start developing your mobile solution and see the first results. Over time you will realise that some wireframes were wrong, use cases need to be updated and that the mockups are no longer aligned with the final service. Part of your success is therefore dependent on flexibility to changes throughout the project referred to as agility.
Depending on the platform you're developing for there will be more or less fragmentation but be prepared. A mobile web user interface that works great on the iPhone 5 may be slow and unusable on the iPhone 4 and the differences are even more obvious on Android devices ranging from slow processing power on low resolution screens to super high specification phones. You will never know how you're mobile website or app performs until you test it on each of the target devices. and once you've done this plan for at least 2 weeks of additional optimisation and development for Android whereas iOS or Windows Phone could be just a few days. In some cases it could take a month. Make sure that your development partner has planned for this as part of the QA and Acceptance process.
- Make sure you get the complete test report for QA from the development partner. It's their responsibility and not yours to find all obvious bugs.
- Dedicate sufficient time for the acceptance testing and plan for 3 rounds as there will be some feedback / mistakes even if you've got great developers
- Don't just e-mail your feedback, make sure you have a call to go through your feedback
- Start early to prepare to set up appstore accounts and get certificates
- You cannot change the certificates later so make sure you get them right from the beginning. The certificates should be owned by your business and not the developer.
- Plan for at least 10 working days for approval of the iPhone app
- Consider distributing your Android app outside of Google Play and your iOS app virtually (links) outside of iTunes using appstores such as Getjar, Amazon, Samsung Apps, Mobango, etc.