Keeping up with mobile app development.

Written by Chris Pinter                                                                                            


Every since the early days of the smart phone, mobile application have been creating added value to the cellular phone industry.   The business strategy for creating apps usually follows one of two marketing ideas.  Many companies create an application and fire it onto the market with the hopes consumers will download and pay a dollar or two for the application, never to be heard from again.  Other companies, such as Rovio [1] the creators of Angry Birds, have developed a loyal customer base by offering more and engaging the user in order to acquire feedback.

Angry Birds developer Peter Vesterbacka told Google in an interview.  “Angry birds is the first example of a brand that was created on the mobile side and is now going everywhere,… We didn’t treat this as just a disposable app that you throw out there and some people download it and they forget about it… We focus on retention.  We really want to build the audience and keep the audience.  That’s why we’ve been doing free updates for the game since the beginning, every four weeks or so.  When we do an update, about 80 percent of the people who download the game get the update.”  [2]


So how do you go about creating mobile applications that create loyal customers in this fast passed cutthroat environment?


You need a fast passed software development life cycle.  From a project point of view, the development of mobile application is not all that new.  The key of course is to listen to your stakeholder and develop a project plan that reduces scope creep.   There are a number of good ways of managing IT projects.  Most software projects follow a Scrum methodology.

When you have many stakeholders it is important to partition the project into stages.  In the first stage you want to talk to your customers as much as possible keeping the design open for changes and new suggestions.  It is better to not limit the discussion but instead brainstorm features and refine the value so that the customers are impressed with the idea.  The goal is to come up with a list of attributes, features and the reasoning behind each idea.  This is the creating of what is called the Product Backlog in scrum terms.

Once you have an idea of what you want to build you then need to develop an understanding of how the pieces will be put together given the current state of the software.   Unless you are starting from scratch most software projects are developed from a core.  This core represents your current state of technology.  You will need to develop additions to the core, modules that use the core, drivers and the user interface.   You also have to consider the amount of effort required to produce a feature.  If the feature is intense and requires six or eight weeks of development maybe the release of the feature needs to be postponed until a subsequent release, especially if your scrum cycle is only five weeks.

Once you have all of the features and attributes required for your next mobile application you must nail down what will and will not be included in the upcoming release.  This is where you take the content from the product backlog and create a sprint backlog. This is the stage where scope creep can result.  It is important to not get distracted at this point.  You need to focus on getting the coding done and creating modules.  To keep the team on track a 24 hour sprint in sometimes used to gel the team and keep everyone informed about what each member is doing.

The final stage is testing.  Once you have reduced your deliverable list, completed all code creation and meet all scope requirements you need to spend time testing the features and report bugs.  Listing the bug in a bug report is actually more important than fixing the bug from a project management point of view.  If a fix is implemented and it did not solve the issue you might find yourself running around in circles attempting the same group of three or four solutions without solving the issue.  So document your bugs and the attempted solutions.

Mobile application development follows a fast paced software development.   A scrum can be anywhere from four to eight weeks in length and has three distinct stages within each scrum cycle.  The first week is dedicated to creating the Sprint Backlog which takes the desirable features from the product backlog.  This product backlog is used to discuss the design and schedule the resources needed.  The next two to four weeks are then dedicated to coding and individual testing during the sprint.  The last week is dedicated to testing, and scope verification before it is finally released as a product.  [3]

When you develop mobile applications it important to understand your customer and how fast you can meet the needs.  Using the scrum lifecycle model for development is ideal as it does not require a complex project management document for each sprint.   In order to be successful, time to market and customers feedback are critical in order to build a loyal customer base.




[2] PMI Network, March 2011, Vol 25, Number 3,page 10, Kevin Allen



Leave a Reply