Part Two in the Series: Software Development Guide for Business Leaders
If you are going to develop a custom application, then you will need to determine the best project methodology for your project. Deciding which project management model to use should occur before the project starts. If you already use a project methodology, will your new project or your development partners be suited to it?
Types of Project Management
There are many project management methodologies, some specialized and others more general. The two Project Manager favourites are the Waterfall Method and Agile Software Development.
Wikipedia has useful definitions for both the Waterfall Model and the Agile Software Development Model.
The waterfall model is a sequential (non-iterative) design process, used in software development processes, in which progress is flowing steadily downwards (like a waterfall) through the phases of conception, initiation, analysis, design, construction, testing, production/implementation and maintenance. (Wikipedia, n.d.)
Agile Software Development is a set of principles for software development under which requirements and solutions evolve through the collaborative effort of self-organizing cross-functional teams. It advocates adaptive planning, evolutionary development, early delivery, and continuous improvement, and it encourages rapid and flexible response to change. These principles support the definition and continuing evolution of many software development methods. (Wikipedia, n.d.)
The Agile Software Development model is now the front-runner for development, but Waterfall is still used in 30% of all projects. Agile stands out because:
- It does not require you to have the project fully defined before you start.
- It uses an iterative process defined by "sprints."
- Sprints are short, two-week periods, with an assigned set of tasks and an outcome.
- The cross-functional team works through the sprint and "burns down" the work.
On the one hand, Agile is quicker and simpler, and results in lower costs and faster delivery. Waterfall, on the other hand, requires the project to be fully defined at the beginning thus mitigating risk and managing budgets better. Waterfall also can be used across multiple disciplines, other than software development while Agile cannot.
Use the Waterfall Method when:
- Requirements are evidently known.
- Product definition is firm and stable.
- Technology is clearly understood (Rapid Programming, n.d.).
Why You Should Choose the Project Methodology Before Your Project Starts
Choosing the methodology in the project initiation stage ensures that all the members of the project (the stakeholders), can expect the project to run in a singular fashion. A clear start is important as mixing modes can lead to increased confusion and diminished results.
The management group in your organization should choose the project methodology for your projects. They have the best and broadest view of your business, clients, issues, resources and organizational skills.
Management should leverage the expertise of a Project Manager to assist with the methodology recommendation and the selection of the most suitable project management style; Waterfall Method, Agile, or other.
How You Can Evaluate a Project and Determine the Best Methodology
There are advantages and disadvantages of each type of project methodology. Here’s an evaluation chart used to determine if your project/organization/customer mix indicate Agile or Waterfall.
|Is the final product fully defined?||Yes. Waterfall is an appropriate candidate.||No. Agile is the appropriate candidate.|
|Should the client be able to change the scope of the project after it starts?||No. Waterfall is an appropriate candidate.||Yes. The benefits of Agile slightly diminish.|
|Is the definition of the product, not the speed of development, the key to success?||Yes. Waterfall comes out on top and should be seriously considered.||No. Agile and because the product is not defined in advance it will iteratively and organically develop.|
|Is rapid development more important than the quality of the product?||No. Waterfall is naturally less risky, and perceived as higher quality.||Yes. Getting products done quickly is the signature of Agile.|
|Is the development team adaptable, and do they think independently?||No. Then Waterfall is a more structured approach that will suit the project better.||Yes. Independent, adaptable teams will work very well together to solve issues and brainstorm ideas.|
|Will the final product be subject to many future changes?||No. Then Waterfall may be the approach.||Yes. Changes can be quickly dropped into a sprint.|
How to Work with Your Outsourced Development Partners to Influence the Best Methodology for Your Project.
Your development partner has likely standardized on a single methodology for all projects. Most development firms have an Agiliist, (someone who is adept at thinking in an agile fashion), running their projects, so it’s likely your project will be Agile. (Lucas, 2013)
If you insist on using the Waterfall Method, then the effort and costs will be higher. However, if your project is highly defined, with little chance of scope change, and you want to ensure that project budgets are tight, then you can request that your project runs in a traditional Waterfall style.
If your project is not highly defined and the budget is loose, then an Agile project will yield a quicker better product – a product that, through iterations will more than satisfy your business requirements.
CoreSolutions of London, Ontario, is a locally acclaimed software development firm with over 25 years of experience.
CoreSolutions’ team of experts, including developers and project managers, build web and mobile applications using the Agile Methodology and tools. CoreSolutions will assist you through all phases of your project including:
- Requirements Planning.
- Project Management.
Lucas, B. (2013, 05 15). A Certification does not an Agilist Make. Retrieved 12 7, 2016, from Keeping Agile™ with Brian Lucas: https://keeping-agile.com/2013/03/21/a-certification-does-not-an-agilist-make/
Rapid Programming. (n.d.). When should you use Waterfall Model? Retrieved 12 9, 2016, from Rapid Programming: http://www.rapidprogramming.com/questions-answers/When-should-you-use-Waterfall-Model--783
Wikipedia. (n.d.). Agile Software Development. Retrieved 12 9, 2016, from Wikipedia: https://en.wikipedia.org/wiki/Agile_software_development
Wikipedia. (n.d.). Waterfall Model. Retrieved 12 9, 2016, from Wikipedia: https://en.wikipedia.org/wiki/Waterfall_model