04:40 PM
ABCs of Development Methods
Agile Software Development
Agile methods attempt to minimize risk by developing software in short time frames, called iterations, which typically last one to four weeks. Each iteration is a miniature software project of its own and includes all of the tasks necessary to release the mini-increment of new functionality: planning, requirements analysis, design, coding, testing and documentation.
CMMI or Capability Maturity Model Integration
CMMI is a process-improvement approach used to guide development projects. It requires training, often the help of a consultant to set up the processes, and an external assessor to evaluate a group or project to determine the level it's at, in a range of 1 to 5. Originally CMM was strictly for software engineering and project management; its newer incarnation, CMMI, aspires to be broader to adapt to things such as package implementation and infrastructure. It overlaps with ITIL.
Cowboy Coding
The absence of a defined method; software development team members do whatever they feel is right.
ITIL or Information Technology Infrastructure Library
ITIL is a set of best practices for IT processes and operations. It doesn't directly address software development per se; however developers could adopt some of its principles. The soon-to-be-released ITIL V3 recommendations aim to more closely integrate software development, release and operations processes.
Waterfall Model
A predictive development methodology that steps through requirements capture, analysis, design, coding and testing in a strict, preplanned sequence. Progress is measured in terms of deliverable artifacts, such as requirement specifications, design documents, test plans and code reviews.