Chapter 12. Managing plans and change

Beyond complete planning

Here's one high-level method for software development:

  • Agree a high-level plan for the project – this is known as "the planning phase"

  • Agree what features need to be implemented – this is known as "the specification phase"

  • Agree the technology to be used to implement these features – this is "the design phase"

  • Then carry out the implementation – this is known as "the development phase"

  • As the implementation proceeds, carry out tests to verify that the implementation meets the specification – this is known as "the testing phase".

In this methodology, the project starts by creating three inter-related documents – the project plan, the product spec, and the product design – and then ensures that the subsequent software development faithfully executes the intent of the original documents. The role of the project plan is:

  • To identify the overall timetable for the project

  • To allocate resources to specific tasks

  • To establish "milestone" review points.

So far, so good. Any sizable smartphone project needs a project plan to guide it to completion. I fully agree with the adage that "if you fail to plan, you plan to fail". Planning is an absolutely essential activity in any successful smartphone project. However, here are some much harder questions:

  • What level of detail should be in the plan?

  • How should the plan cope with unexpected developments – such as new requirements introduced once the project is underway and other "change requests"? ...

Get Symbian for Software Leaders: Principles of Successful Smartphone Development Projects now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.