New and Emerging Process Methodologies: Chapter 5 of Essentials of Software Engineering
New and Emerging Process Methodologies: Chapter 5 of Essentials of Software Engineering
EMERGING
PROCESS
METHODOLOGIES
*CHAPTER 5 OF ESSENTIALS OF SOFTWARE ENGINEERING
. Understand the limitations of traditional process methodologies and the applicability of Agile
processes.
. Get to know: Extreme Programming, The Crystal Family, Unified Process as Agile, Scrum, Open
Source Software Development and Kanban Method.
WHY AGILE PROCESS?
Assumption that requirements are complete understood before the project begins
Complexy methodology
Duplication of effort
PROCESS?
Definition
Characteristics:
Core values:
Rapid feedback
Incremental design
Simplicity
User involvement
Incremental change
Minimal documentation
Embracing change
Informal communication
Scope
Cost
Quality
Time
THE CRYSTAL FAMILY OF METHODOLOGIES
(2) their criticality- which is gauged by the losses that a malfunction would cause
(3) their priority- which is measured by the time pressure on the project
THE CRYSTAL FAMILY OF METHODOLOGIES
I. Crystal Clear- considered adequate for noncritical projects that require teams of up to
six or eight people
II. Crystal Orange-considered adequate for critical, but not life-critical that require teams
of up to forty people
III. Crystal Orange Web - does not deal with a single project
THE CRYSTAL FAMILY OF METHODOLOGIES
Method that should be part of process in designing methodologies for crystal family:
Process does not specify particular techniques for all the phases,
requires the architecture and the big design to be completely specified up front, and its popular
instantiations, including the Rational Unified Process, mandate many work products or artifacts.
The Scrum framework consists of team roles, events, artifacts, and rules
Introduction
ADVANTAGES: DISADVANTAGES/RI
• Low process complexity: process is simple • SKS:
Difficult to scale up from smaller teams
and easy to understand without losing some/lot of agility
• Low cost and overhead • Over dependence on teamwork means one
bad team member can affect the whole
• Efficient handling of changes: designed to
cope with changes team
• Fast results: Most Agile processes produce • Heavy reliance on customer feedback will
result in a short time so they are time stall large scale production.
effective • Cultural clash with accepted software
engineering techniques
• Customer friendly and usable systems
since it was built from feedbacks