Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Which project management and software development methodology is best suited for iPhone Development? Are there any documentation templates available which documents an iPhone Development project?

share|improve this question
1  
I'm not really 100% sure what you're asking. Programming or Management methodology? –  Gary Willoughby Apr 16 '11 at 18:34
    
@Gary I am referring to Management Methodology. –  meetpd Apr 18 '11 at 3:13
    
Why would any management methodology be better or worse for the iPhone than for any sort of shrinkwrap software? Moreover, this question is hopelessly open-ended and isn't clear. (What, exactly, is a "management methodology"?) –  David Thornley Apr 18 '11 at 16:25
add comment

2 Answers 2

up vote 4 down vote accepted

A software methodology is simply a tool that helps you make sure you got the job done right. You don't have to follow any formal methodology to create great software on any platform. In short, the platform doesn't dictate the process or methodology you use.

Instead of going to a menu of methodologies, take some time to understand your particular project. There will be challenges that your project faces that are not necessarily addressed or spelled out in any off the shelf methodology. You will need to tailor the process to your situation. For example, if you need to coordinate art assets and development assets, you need to adjust things so that both of those teams will deliver the right resources at the right times.

While I favor agile methodologies, my "brand" of agile is not any one of the off the shelf variety. I've incorporated good practices from both agile backgrounds and more formal CMMI or IEEE backgrounds. The important aspects are deciding:

  • How much documentation do you really need? Decide target audience for every document you think you need. Let that target audience have the final say on whether they really need it.
  • How rapidly do you expect aspects of the project to change? Work on stable stuff while you hammer out those changing details. NOTE: the more rapidly you expect things to change, the smaller you need your iterations to keep the cost of change down.
  • Do you really know what you want, or are you discovering as you go? Most user interfaces incorporate experimentation and discovery as part of the process of coming up with the secret sauce to making your application awesome. The more you don't know, the more often you need to stick a version of your app in front of users. These events need to be planned and the feedback incorporated. Machine to machine interaction on the other hand is pretty static.

All this assumes you will have basic source control management and issue/bug/feature tracking tools installed in your environment. Whether you use a particular brand of agile/formal processes or you come up with your own process, these are the minimum required elements of successful engineering. You need to be able to roll back certain changes while preserving all others (source control management), and you need to be able to make sure you close every bug you found. There are free tools available to take care of both of those aspects, so there is definitely no excuse not to.

share|improve this answer
    
Do you think gaining Apple's App Store approval makes a difference? –  JeffO Nov 16 '11 at 12:52
    
It only makes a difference if you want to sell your app... However, if you want to have an app to sell (or approve), the basics above apply. –  Berin Loritsch Nov 16 '11 at 17:33
add comment

I don't see why any management methodology couldn't apply to iOS development. It's just development, the fact that it's for a highly hyped platform doesn't really change the basics of the work.

The iOS methodology employed at my company appears to be "we can't tell you what we want until you show us something for us to dislike, and we're shocked (shocked!) that you won't be meeting the deadline." Not so different from developing for other platforms, eh? ;-)

share|improve this answer
    
Agree with you, that was happening all the time at my workplace too, until I started to demand more specific and detailed characteristics to start. They didn't like the idea, but it worth it. –  iPhoneDevProf Jun 13 '11 at 14:23
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.