Accella CEO Jason King was recently quoted by Matt Gratt of iPhoneCTO.com discussing best practices for developing enterprise applications when using third party developers:
Read the full article here:
http://iphonecto.com/2010/06/21/8-practices-working-thirdparty-iphone-developers/
Here are the full list of best practices Accella passed along to Matt:
Before You Start Development:
– Survey your potential users or run focus groups to build requirements – You may have a good idea on what would be best for your organization, but the potential users may have a very different picture in their minds of what will help them do their job best. You should send out a survey to your employees through email, through a third party system like SurveyMonkey, or hold in-house focus groups to get real feedback on what functionality will be critical and what functionality is unnecessary. This will help you limit the scope and avoid spending on functionality that will not result in increased productivity or sales.
– Build solid requirements and or a statement of work – The more clearly you can define the requirements for the development team, the more likely the project will stay on track in terms of both timeline and budget, and the less likely the development company will be able to say that something is out of scope from the original contract. The process of defining the app will also help you to hash out the details, remove extraneous functionality, and really get the app down to the necessary core functionality that your users will need.
– When selecting a developer, ask a lot of questions – The team you select should be able to answer questions on the fly. They should have an in depth knowledge of the Apple license and the human interface guide and should be able to easily answer any technical questions you may have. Do you have large amounts of data that will need to be pulled from an online database? Do any parts of your application require animation? What are the best ad and analytics packages? If you are dealing with a salesperson that needs to get answers from their developer, ask to speak with the development team directly. These days, anyone can find an answer to a question online, so if you give someone an hour to answer your question, you cant say for sure that its something they know or an answer they found. They should be able to reference real life instances of how they’ve addressed your issue in other applications. With the memory and speed constraints of the iPhone and the blackbox that is their approval process, you don’t want to be caught with a developer that is learning while building your app – especially in an enterprise situation. Obviously a developer may not be able to answer everything 100%. In every development project, you learn something new, but it should be small things, not the big picture.”
– Decide how you will distribute your app – You can distribute your app through the app store, create an enterprise developer account, or distribute the app through provisioning files. Either way, the developer account should be under your company name. In order to create an enterprise developer account, you need to have at least 500 people inside your company. If you don’t have a developer account and you have less than 100 employees that will need the app, you can simply send out provisioning profiles from your developer account. You will need to collect the UDID on the phone for each employee that needs the app. You are limited to 100 profiles with a standard developer account. The last option is distributing through the app store. There is nothing wrong with this option if you don’t display proprietary information. Otherwise, you will need to add some type of login system to the application to keep out any unwanted users.
During Development:
– Designate a “Champion” – When working with a third party developer, it’s crucial that you have a “Champion” of the project, someone that acts as a point person within your organization to help gather assets and information, drive internal reviews of the application, and ensure the apps success. Typically our biggest hiccup in delivering apps is waiting on feedback and information from clients, if we can have someone that is the person that owns the app, they usually are more eager to give us the information and assets we need. Don’t have too many cooks in the kitchen
– Set up weekly meetings with the development company to track progress – We’re not suggesting that you micromanage the development process and ask for new versions of the app each week to test and visually see updates, but keeping tabs on the project, opening the meeting up to questions, and get project updates will help you make sure that you will hit your project milestones on time.
– Set up key milestones to make sure the project stays on task – Set up milestones for delivarables such as wireframes, design comps, web services, beta versions, etc and use them to make sure the project stays on track. iPhone applications are no different than any other IT project and the development company should be able to produce quantifiable deliverables on a set schedule to let you know the project is proceeding as expected.
After Development (distribution, updates etc)
– Focus on user adoption – User adoption is where we see the biggest challenge in post implementation support for apps. Making sure that users are properly trained as well as see the value of your application, understanding how it will help them and make their life/job easier. This will be made much easier by making sure that each department or user type for the application has input in the application’s design and creation.
– Collect Feedback – Set up ways to get feedback from your users. Once again surveys or focus groups are good ways to get feedback, but you need to assess if people are using the app and if not, what is prohibiting them adopting the application. You can always go back and make updates, so you should always be evaluating what can make the project better. Another idea is to add analytics tracking to the application to see what parts of the app users are taking advantage of the most.