In my experience, you must evaluate three important points before selecting a methodology for your project: 1) Organization maturity meaning clear project definition and repeatable project processes 2) Resistance to change 3) Project size and business impacts.
In my career, a methodology is a structured approach for project delivery; in the 1990s we were talking about XP (Extreme Programming) it faded a bit, but has made resurgence lately with agile gaining momentum, and also very popular in those times was prototyping. In the early 2000s Sigma Six, ITIL, CMM and Waterfall became very popular. I was asked the question which methodology would you use to increase your probability of success. My definition of project success is defined as getting the project built on time and on budget.
Failure from a management perspective is based upon exceeding initial budget, exceeding initial schedule, or not completing initial scope.
Also, failure from a business value perspective is when the cost of the project exceeds its benefits. Usually, an ROI or a TCO is done based on a defined time period. I have not seen many organizations ever bother to measure actual return following deployment, but this practice seems to gain popularity.
We always assume that we have an A team, the answer is not “agile” vs. “waterfall” development–some experts like one, and some like another method. Organization maturity, clear project definition and repeatable project management processes often have much greater impacts on product delivery success.
While experts differ on the best software development method, most would agree that successful projects share the following characteristics (mentionned in the project survival handbook):
- Project is approved and funded
- Project has a business sponsor
- Project has an IT sponsor
- Project has clear objectives
- Requirements are clearly written
- Requirements are traced throughout the project life cycle
- Key stakeholders are involved, and kept involved, throughout the project life cycle e.g., business, operations, subject matter experts, software end-users, etc.
- Project plan is defined and adjusted as needed (see change management below)
- Responsibilities are clearly defined
- People are held accountable for certain activities and deliverables
- project documentation is prepared and project risks and contingencies are defined
- communication and training occur at various steps of the project life cycle
Do not get bogged down which methodology you should use; they all work. Just make sure which one fits the best with your organization maturity and structure. The most important aspect is to not expect any major difference on the project outcome when selecting one methodology over another.
Want more information on the leading application development solutions?
We’ve compiled top product reviews, blog posts and premium content on the application development resource page. To find the best QA testing software or defect tracking solutions, download and browse one of our free Top 10 Application Development reports.
[This post originally appeared on the Appsconsultant blog and is republished with permission.]