0% found this document useful (0 votes)
51 views

New and Emerging Process Methodologies: Chapter 5 of Essentials of Software Engineering

This document discusses new and emerging agile process methodologies for software engineering. It covers the limitations of traditional processes and principles of agile processes. Specific agile methodologies summarized include Extreme Programming (XP), The Crystal Family, Agile Unified Process, Scrum, Kanban, and open source software development. The document concludes by noting there is no single process that fits all projects and the importance of adjusting the process to the specific needs of the project.

Uploaded by

Pedro Stradioto
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views

New and Emerging Process Methodologies: Chapter 5 of Essentials of Software Engineering

This document discusses new and emerging agile process methodologies for software engineering. It covers the limitations of traditional processes and principles of agile processes. Specific agile methodologies summarized include Extreme Programming (XP), The Crystal Family, Agile Unified Process, Scrum, Kanban, and open source software development. The document concludes by noting there is no single process that fits all projects and the importance of adjusting the process to the specific needs of the project.

Uploaded by

Pedro Stradioto
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 20

NEW AND

EMERGING
PROCESS
METHODOLOGIES
*CHAPTER 5 OF ESSENTIALS OF SOFTWARE ENGINEERING

CHAPAL SHAIK, KWECHE EBECHUE, KOREDE AKINWUNMI, PEDRO


STRADIOTO
OBJECTIVES OF THE PRESENTATION:

. Understand the limitations of traditional process methodologies and the applicability of Agile
processes.

. Understand the basic principles of Agile software processes.

. Get to know: Extreme Programming, The Crystal Family, Unified Process as Agile, Scrum, Open
Source Software Development and Kanban Method.
WHY AGILE PROCESS?

Lenghty development times

Inability to cope with changing requirements

Assumption that requirements are complete understood before the project begins

Too much reliance on heroic developer effort

Complexy methodology

Duplication of effort
PROCESS?

Definition

Characteristics:

Short releases and interactions


Incremental design
User involvement
Minimal documentation
Informal communication
Change
Extreme Programming (XP)

Core values:

Rapid feedback
Incremental design
Simplicity
User involvement
Incremental change
Minimal documentation
Embracing change
Informal communication

Quality work Change


KEY PRACTICES:

- Planning - Pair programming


- Short releases - Collective ownership
- Metaphor - Continuos integration
- Simple design - Sustainable pace
- Test-driven
- On-site customer
- Design improvement
- Conding standard
Key practices:

Scope

Cost

Quality

Time
THE CRYSTAL FAMILY OF METHODOLOGIES

-Crystal methods are considered as “lightweight methodologies .

-Developed by Alistair Cockburn in the mid-1990s

Cockburn classifies projects according to three factors:

(1) their size- which is measured in maximum number of developers.

(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

three defined methodologies are for crystal family:

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:

 Use larger methodologies for larger teams.

 Use heavier methodologies for more critical projects.

 Give preference to lighter methodologies, because weight is costly.

 Give preference to interactive, face-to-face communication rather than formal, written


documentation.
AGILE UNIFIED PROCESS
Agile Unified Process (AUP) is a simplified version of the Rational Unified Process  (RUP) - developed by Scott Amber. 

 It describes a simple, easy to understand approach.

Process does not specify particular techniques for all the phases,

considered a heavyweight methodology that often requires most

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.

it is an iterative and incremental process


SCRUM

- first introduced by Takeuchi and Nonaka (1986) 

 Scrum is another Agile development methodology that has demonstrated good


results

 The Scrum framework consists of team roles, events, artifacts, and rules

 Scrum is an iterative method, and is based on short iterations called sprints

 A Scrum project defines three core roles-


The product owner
The development team
A Scrum Master
KANBAN METHOD

Introduction

Kanban is also known as billboard or visual board is a


new addition to agile processes. It is a new approach in
software development that uses the pull approach to
improve the overall software development productivity.
The purpose of this is to keep the current process and
then make small modifications.
HOW KANBAN METHOD WORKS

If developers are working on multiple integrated


modules for instance x, y and z. Let’s consider that x is
in the unit testing, in order to complete and release
module x to the user all directly related modules y and z
must be integrated and tested with x.
CORE PRACTICES OF KANBAN METHOD

Makes the project status and workflow visible


Minimizes the overall work in progress(WIP)
Manages the overall workflow by measuring the tasks
and items in development.
It makes the overall process more explicit and clear
It ensures there is feedback loop for monitoring and
controlling the flow of the project
It also ensures and improves collaboration
OPEN SOURCE SOFTWARE DEVELOPMENT

In the past few years open source software development


has emerged as a successful model. This software is
made available for free and in executable form.
Examples of open source software are
Apache browser
Linux
Mozilla Firefox
ADVANTAGES OF OPEN SOURCE SOFTWARE DEVELOPMENT

 It is provided for free


Access to the source is provided
Access to modify and redistribute is granted.
Customer availability
Continuous integration
CHOOSING A PROCESS

• There is no process that can fit all projects.


• Process must be adjusted to suit different projects
• It is important to know that both agile and traditional processes can be used
successfully for many projects.
• Because of many variations within each class and even within
methodologies, the Unified Process (UP) is recommended.
AGILE (XP) VS TRADITIONAL (RUP)
ADVANTAGES AND DISADVANTAGES OF AGILE
PROCESSES

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

You might also like