APPLE MAPS 2012(From Agile perspective)

5/4/2025, 9:02:51 PM

You may have heard that "Apple won't release any product until it is perfect" or "APPLE releases products only when it's better than others!" especially when this company releases a new product that satisfies everyone (I mean every apple user, lol). Well, not always...

In the year 2012, APPLE decided to make its own mapping application due to malfunctioning and lagging of the "Google map" app on apple devices. Also, Google was asking for Google map users' personal data which Apple refused, and Apple asked for specific features to be added in Google map (such as turn-by-turn navigation, transit directions and 3D “Flyover” mode) which Google refused to do. This means Apple and Google couldn't get along in some demands which brought Apple to the idea of making its own mapping software. With the company being successful and well known and so valuable that it doesn't seem to face a budget problem for developing a software, also with buying data from TomTom and Uber and having high-end developers, Apple map idea didn't seem to be hard to reach. But things didn't go as desired.


(Malfunction refers to the function itself failing to operate as designed. Misfunction is when a function works as designed, but with the wrong effect due to exterior circumstances.)



Although APPLE Map functions fine now, it wasn't as good as it is now. It actually had a rough start. Misplaced locations Pic1 (Pic2 park shown as airfield), unrecognizable landmarks (Pic), and irrelevant search results (Pic1) (Pic2) brought a huge dissatisfaction from users. It had so much problems [at the beginning] that Tim Cook, Apple's CEO, has wrote an apology letter (Link) and put it on the first page of Apple's website and recommended alternatives including Google Map.


In the follow-up I'm going to analyze the model chosen by Apple. Then I'll discuss on a [more] proper model that could prevent this development process from failing.



Let's analyze the model used in developing this software phase by phase:

With company not releasing any prototype or beta version (which is the case in Spiral and Agile models), and surely not using a very basic model (like "Code & Fix"), the model chosen for the development is either waterfall or V-model; in V-model, changing the code is easier, the V--model is a bit flexible comparing to waterfall model, it also requires testing during development which in waterfall model the testing phase is at the end. So we assume that the company applied V-model (as companies surely prefer V-model over Waterfall).


1- Requirements F Apple has made a contract with TomTom, an Irish company leading in navigations, to get navigation data from them. This was a good strategy. BUT... With company having a reasonable amount of data, good budget and good analysts, it can be concluded that the company didn't have experienced programmers that can make a map app, and also testing it. So it's a failed stage.


2- System Design P Designing the plan, and the whole plan itself, was acceptable. Users liked the overall design and the overall look of the app. The company added some features that Google didn't have. So the plan and the idea was good and it gets a Pass.


3- Architecture Design F TomTom GPS units are competent navigation devices and work fine in their own softwares, but the data bought from this company was distorted in the process of building Apple Maps. So the fault was Apple's software applied to the TomTom data. In other words, they failed at writing the software functions in a way that they could bring up the desired result correctly.


4- Module Design P There was no report of app-crash or lag. So the little functions coded in the program where written correctly and the program was running the codes with no errors. So they get a pass in this phase.


5- Implementation (coding) P Because of the program not giving any errors and navigating correctly at easy-and-well-known places, we could actually say that Apple did implement what it planned although it wasn't that much of a good plan. (The app would definitely face navigation errors and false results anyways. most of the misfunctions should've been recognized in the testing phase.) So it's a pass


6- Unit Testing P Everything was acceptable as planned in Module Design phase. And it's also a Pass.


7- Integration Testing F FAIL! They couldn't find a problem of functions not working well together. This is the phase where Apple didn't do a good job at all. This might be the phase that Apple could maybe stop this fiasco from happening.


8- System Testing F Maybe they did face some problems in navigation, and even have fixed some of them, but they've surely missed a lot of misfunctions and this brings us to a conclusion that they failed the system testing phase.


9- Acceptance Testing F With project manager accepting such a program and the company introducing the app as a final release, this phase definitely gets a fail.



Risk management; although V-model doesn't require any risk management, but a big company like Apple definitely plans for the risks for every project by default: The authorities surely did plan for some risks, but they definitely didn't think that the project would have got that amount of problems, bringing huge dissatisfaction from users. That's why they removed the Google map from Apple Store with confidence and left Apple users to use the Apple map as default.

With a project this big and complex and with not much data and experience, having some problems is inevitable. But considering the number of reports and criticism from users, this made the project remembered as a fiasco.


What could be the right decision?

First, let’s take a look at requirements needed for developing such software: 1- flexibility: Mapp programs are too complex, so it’s necessary to consider the capability of minor to big changes during the process.


2- Suitable for large projects: I’ve already described the complexity of this project many times.


3- Beta version releasing for users and


4- Rapid testing: The program definitely needs to be tested by users around the world. Due to the differentiation of rules and cultures and many similarities between names of different locations, it’d be near impossible to give a map software with just a few problems.


5- Fixed end date: Apple wanted to release the IOS 6 (Which includes the new Apple Maps) before introducing iPhone 5, so they needed a model with a fixed end date.


6- Integration between developers: With so many things related to each other… Things like navigation, 3D Visions, etc. requires programmers to know how the mapping algorithm works, and this couldn't be done without developers communicating with each other.


7- Technical solutions are not well-understood:


8- Although “Evolutionary model” seems to fit well for this software, but requiring to give a near-complete version as beta makes us skip the model, because in “Evolutionary model” every option is sent to user separately which is not possible due to services being linked to and dependent on each other.(Incremental, RAD and Research-Based models also get ignored)




According to these requirements stated above, we’ll be left with the one and only model: Agile