Your dev team sucks. Use Agile software development for mobile, and be awesome.
That was my pitch Saturday morning at MobileCampBoston3. I led a session later that day, titled "Agile for Mobile." I introduced Agile, explained some of its rationale, and identified some of the Agile frameworks. I talked a lot about Scrum and a little about XP. I had a blast, and I hope you did, too. Here are my notes from the talk.
Why you need Agile
I contrasted traditional software development with Agile, and I offered reasons you should go Agile. Some of the reasons are:
- So you don't suck
- So your group or company doesn't get shut down and you have to look for a new job
- To build what your customers want, efficiently
- To build what your customers really want, so they can change their mind and get something better quickly
I mentioned the Agile Manifesto, and I compared it to a businessy view of Agile. The Agile Manifesto says fluffy things like, "Individuals and interactions over processes and tools." Fluffy doesn't resonate with business people. A businessy rationale for Agile is:
- Customers get what they want, so
- We make money faster, and
- Our workers are happier, and
- Our costs are lower, and
- Our customers are happier, so
- We get more repeat business
Which Agile framework should you use?
There are many flavors of Agile. They all have the same overall goal, but they use different means to achieve it. This chart from Mads Buus Westmark and Jesper Ronn-Jensen places a few of the Agile frameworks on a scale of prescriptiveness. How many rules do you have to follow to be able to say you are using a particular framework?
For Scrum, see my summary at "Three roles, ceremonies, artifacts, best practices."
Scrum will help you identify many impediments, some of which are business issues, and some of which deal with technical practices. XP is a set of practices that address many of your technical problems. Use XP in conjunction with Scrum.