Andy Long discusses Project Management best practice and the pros and cons of two methodologies.
It’s vital to have someone on the client side who is empowered to make decisions or who quickly secure access to decision makers when required. We normally refer to this person as the customer Project Manager and they would be the main point of contact during the development stage of the project. The customer Project Manager should be available to answer questions, provide information, feedback and assets as required and normally also co-ordinates testing, review and sign-off.
What methodology to use for the project - Waterfall vs. Agile?
There are various methodologies available which define the process followed during the development process. The two commonly used, contrasting approaches are considered below:
Waterfall is a traditional model and employs a linear approach to the project with the stages being completed one by one. You don’t progress to the next stage of the project until you’ve completed the current stage. PRINCE 2 is commonly used to support the waterfall model. This approach works well if the requirements can be fully defined initially and are not liable to significant change throughout the project. With fixed price projects the requirements must e fully defined up front so the Waterfall model works well in this scenario. For fixed price projects we use a variation of the Waterfall model. This allows for some iteration around the testing phase, as we prefer to provide beta versions of the app early in the process rather than wait for the full product to be finished before we offer it for testing.
Agile is a less structured, more iterative approach. Agile is based upon short bursts of activity called Sprints which address small elements of functionality that meet a particular user need called ‘User Stories’. At the end of each Sprint the software needs to be in a working state. Sprints have a fixed duration so any User Stories incomplete are abandoned at the end of the sprint, or moved to a subsequent sprint for completion. Agile works very well when requirements are fluid or there are shifting priorities at play in a project. By having frequent short sprints the focus of development can be easily changed without losing any work in progress or having to undertake reworks. The main disadvantage with Agile is that is does not fit well with a fixed price commercial model as the customer may change their requirements at any stage. There is not a fixed set of capabilities to be delivered so it’s impossible to apply a fixed price to deliver the project. Exploding Phone has several partners that it works with on an Agile basis. They are a typically longstanding customers and Exploding Phone operates as an extension of their development team. There is by necessity a high level of trust which means the client are happy for us to work with them on a time and materials basis. This is the preferred approach where clients have a long-term commitment to delivering a sustained and evolving mobile solution.