Sie sind auf Seite 1von 51

Agile Development Methods; A

Development Paradigm for the


Digital Ecosystem and Agile
Project Management
Presenters:
Roy Morien1
Dr Farookh Hussain1
Dr Suradet Jitprapaikulsarn2
Mr Benjamin Scherry3
1 Digital Ecosystems and Business Intelligence Institute (DEBII)
2 Faculty of Engineering (Computer Engineering),
Naresuan University, Phitsanulok, Thailand.
3 Proteus Technologies Co. Ltd, Bangkok, Thailand
Format of the Presentation
„ Roy Morien
„ A brief history of agile development methods
„ Definition of Agile Development & Lean Software
Development Methods.
„ Reference disciplines in product development, lean
manufacturing and management will be discussed.
„ Agile Methods, Scrum.

„ Dr Farookh Hussain
„ The similarity and conformity of agile development methods
and the Digital Ecosystem, characterised as:
„ adaptive behavior,
„ evolving species,
„ collaborative behavior encompassing diverse species,
Format of the Presentation
„ Dr Suradet Jitprapaikulsarn
„ Agile development in education in Thailand
„ Introducing Agile Development and Agile Project Management
methods into University curriculum in Thailand
„ teaching of agile methods in a software engineering course at
Naresuan University,
„ the potential for research in agile methods, both within and
without the concept and practices of the Digital Ecosystem.

„ Mr Benjamin Scherry
„ Agile Development in business in Thailand
„ Will present on his experience, and on the success of building
Agile Development teams.
„ The potential in Thailand as an out-sourcing development
provider will be discussed
Support for Agile Development

„ A “New” Paradigm?
Over 30 years old, really!!
„ Harlan Mills, Debugging Techniques in Large
Systems, Prentice Hall, 1976
“Software development should be done incrementally, in
stages, with continuous user participation… so that at
every step each (intermediate) system can be verified to
be correct”

“… Why do enterprises tolerate the frustrations and


difficulties of such (Waterfall) development” - - in 1976
Source: Craig Larman, Agile & Iterative Development: A Managers Guide,
Addison-Wesley, 2004
New…Last 30 Years?

„ Hawgood J. (ed) (1981) Evolutionary Information Systems, North-


Holland

„ Naumann & Jenkins, Prototyping: The New Paradigm for Systems


Development, MIS Quarterly, Sept. 1982

„ Jenkins, Prototyping: A Methodology for the Design and


Development of Application Systems, Indiana University, 1983

„ Boar, Bernard, Application Prototyping: A Requirements Definition


Strategy for the 80s,Wiley, 1984

“The currently endorsed rigorous definition approaches such as


structured analysis...are not successful for defining many business
applications.”

„ Jenkins & Fellers, An Annotated Bibliography on Prototyping,


Indiana University, IRMIS Working Paper W613, 1986
New…Last 30 Years?

„ “RAD has been demonstrated … to be so superior to


traditional development that it seems irresponsible to
continue to develop systems the old way”

„ “It seems astonishing that the majority of IS organisations


are still building systems so painfully slowly.”

Martin, J., Rapid Application Development, Maxwell McMillan,


1991

„ Arthur, L.J., Rapid Evolutionary Development: Requirements,


Prototyping & Software Creation, Wiley, 1992

“...software doesn't build, it grows and evolves.”


Are We Really Engineering Systems?
„ Arthur, L.J., Rapid Evolutionary Development: Requirements,
Prototyping & Software Creation, Wiley, 1992

„ “We need to shift from the old models of software


development and maintenance – viz construction and
manufacturing - to a new, more resourceful model of
software development … that is, software evolution.”

** ie: The Lean development concept that we are not


manufacturing or engineering software. Our task is product
DEVELOPMENT, NOT product PRODUCTION or
MANUFACTURING.
The Waterfall Model is inherently flawed.
„ Bernstein, L. Importance of Software Prototyping, Software
Tech News, DoD Data & Analysis Center for Software, Vol.2.
No.1, 2002

“Modern software development demands the use of Rapid


Application Prototyping”

“Dr.Barry Boehm’s experiments showed that prototyping


reduces program size and programmer effort by 40%”
What about Large Systems?

„ Tom Gilb, Software Metrics, Studentlitteratur AB (Sweden),


1976

“A complex system will be most successful if it is implemented


in small steps and if each step has a clear measure of
successful achievement …”

“The advantage is that you cannot have large failures”

An iterative, adaptive development approach will substantially


reduce project risk
What about Large Systems?
Some large system failures:

2005 : Australian Customs Cargo IS: original cost estimate $33


million, cost by 2005 $250 million, system delivered 3 years
late, failed substantially and caused major problems on the
Australian import and export industries.

2002 : State of Florida Child Welfare System: original cost


estimate in 1990, $32 million, delivery by 1998. Cost by 2002
$170 million, system predicted to be delivered by 2005 at a
cost of $230 million. (Source: Poppendieck & Poppendiek,
Lean Software Development: An Agile Toolkit, Addison-
Wesley, 2003)

1992 '...Westpac's (Banking Corporation) highly ambitious CS90


project was described as 'under review' after five years of
development and an investment believed to be $200-$300
million....CS90 is no longer a project‘ (Source Plunkett, S.,
Banks Pay for the Wasteful Years, Business Review Weekly,
Feb.21, 1992)
What about Large Systems?

1993: London Stock Exchange share settlement system


(terminated after the expenditure of ₤75 million, and an
additional ₤400 million in collateral expenditure in the
broking industry)

2003 Australian Blood Management System cost from an


estimated $4 million to $38.9 million, and 4 years late on the
original schedule (Source Australian IT News,
http://australianit.news.com.au/articles/0,7204,8102859%
5e16123%5e%5enbv%5e,00.html , accessed December 9th,
2003)

1980’s: Bank of America (USD$70 million + substantial lost


business)

Many examples of large, high cost, project failures.


Agile & Adaptive Development
„ Warren Keufell, Greater than the sum of its parts, Software
Development Magazine, Sept. 2001
„ http://www.sdmagazine.com/print/documentID=16025
The biggest obstacle that Structured Analysis faced was that
it required the system designer to understand the whole
system, in all of its details, before it was built.
See McConnell, Rapid Development, MIS Press, 1996
„ Emphasises client involvement, and project visibility.
„ (One of the given “5 Habits of successful object-oriented
project)
“The application of a well-managed iterative and incremental
development life cycle” (at page 25)
Agile & Adaptive Development
The People Dimension is considered to have the greatest
affect on project success

„ See Grady Booch, Object Solutions: Managing the Object-


Oriented Project, Addison-Wesley, 1996

“Involve real users throughout the software development


process …” (at page 7)

„ Article “What is Extreme Programming”


http://www.extremeprogramming.org/what.html

„ “XP is successful because it stresses customer


satisfaction. The methodology is designed to deliver the
software your customer needs when it is needed. XP
empowers your developers to confidently respond to
changing customer requirements, even late in the life
cycle.”
Agile & Adaptive Development
„ “Adaptive Software Development (ASD) is one of the
growing number of alternatives to traditional, process-
centric software management methods. ASD, Extreme
Programming (XP), Lean Development, SCRUM and
Crystal Light methods …”.

„ Highsmith, Jim, Retiring Lifecycle Dinosaurs- Using


Adaptive Software Development to meet the challenges
of a high-speed, high-change environment, Software
Testing and Quality Engineering,
www.stqemagazine.com, July/August 2000.
The Agile Manifesto
We are uncovering better ways of developing
software by doing it and helping others do it

Through this work we have come to value:

Individuals and interactions processes and tools


Working software comprehensive documentation
Customer collaboration contract negotiation
Responding to change following a plan

That is, while there is value in the items on the


right, we value the items on the left more.
The Agile Development
Manifesto
„ http://agilemanifesto.org/principles.html
Principles behind the Agile Manifesto
„ Our highest priority is to satisfy the customer through early
and continuous delivery of valuable software.

„ Welcome changing requirements, even late in


development. Agile processes harness change for the
customer's competitive advantage.

„ Deliver working software frequently, from a couple of


weeks to a couple of months, with a preference to the
shorter timescale.

„ Business people and developers must work together daily


throughout the project.
The Agile Development
„
Manifesto
http://agilemanifesto.org/principles.html

„ Build projects around motivated individuals. Give them the


environment and support they need, and trust them to get
the job done.

„ The most efficient and effective method of conveying


information to and within a development team is face-to-
face conversation.

„ Working software is the primary measure of progress.

„ Agile processes promote sustainable development. The


sponsors, developers, and users should be able to maintain
a constant pace indefinitely.
Agile Development Methods –
Definition of the Processes
Waterfall Agile
Approach Approach
Guiding Manufacturing Organic
metaphor /Engineering /Emergent
Documentation, People, Working
Focus Schedule Code
Dynamic Cause and Effect, Chaordic (Ordered
structure Preventive Approach Chaos), Adaptive
Approach
Evans, Ian (2006), “Agile Delivery at British Telecom, Methods & Tools”, Summer 2006:20
Defining Agile Development

“a departure from plan-driven traditional


approaches, where the focus is on generating early
releases of working software using collaborative
techniques, code refactoring, and on-site customer
involvement”.

Mahanti, A. (2006). “Challenges in enterprise adoption of agile


methods - A survey”. Journal of Computing and Information
Technology 14(3): 197-206.
Defining Agile Development

“human centric bodies of practices and guidelines


for building usable software in unpredictable,
highly-volatile environments”.

Melnik, G. and F. Maurer (2005). “Agile methods: A cross-program


investigation of student's perceptions of agile methods”. Proceedings of
the 27th international conference on Software engineering ICSE'05,
ACM Press, IEEE Computer Society.

Software development projects are considered to be


an unpredictable and highly volatile environment.
Agile Development: Definition

„ People Focused: (1) Collaborative: collaboration


between developers and clients is continuous and
continual.. (2) Self-Organising and Self-Managing
Teams: Significant responsibility is handed to the
team members, rather than the Project Manager,
to decide on the work to be done in the next
iteration.
„ Empirical and Adaptive: Project management
practices that have been published to support
‘agile development’ practices are described as
‘empirical’, ‘adaptive’, ‘evolutionary’ or
‘experiential’ rather than ‘prescriptive’, or ‘pre-
planned’.
Agile Development: Definition

„ Iterative: Development is achieved through a


series of short iterations each of which produces a
useable enhancement to the system.
„ Incremental: Development is achieved through a
series of delivered increments to the system, each
of which produces a fully developed, fully tested
and certified extra feature or component of the
system.
„ Evolutionary: the system grows in size, the
requirements in detail are continuously
discovered, and are continually emergent during
the development period.
Agile Development: Definition

„ Just-in-Time Requirements Elicitation:


Requirements are stated in detail ‘just in time’ to
develop them, in the iteration in which those
requirements will be implemented.
„ Knowledge-Based: Development activity is decided
upon by the knowledgeable, self-managing
members of the team, with continual knowledge
sharing about the product, the technology and the
progress of the project.
The Waterfall (SDLC) Model

Requirements
Definition

System & Software


Design

Implementation &
Unit Testing

Integration &
System Testing

Operation &
Maintenance

Disappointment
& Rejection
(in about 72% of
cases in 2000)
Characterising Development Activity
„ Software development is a “chaordic” activity,
„ A human activity,
„ Many players, each with their own activities,
competencies, needs, interests
„ Interaction between players must be
collaborative, often joint, often singular, often
symbiotic.
„ It cannot realistically be subject to “command-
and-control” management
„ History has shown that centrally planned, C&C
managed activities will fail almost inevitably,

„ THUS … the Digital ECOSYSTEM Î Dr Farookh


Hussain
Education and Research in
Agile Methods in Thailand
Suradet Jitprapaikulsarn
Dept. of Electrical and Computer
Engineering
Naresuan University
Thailand
Topics
„ About Naresuan University
„ IT-related education in Thailand
„ Industrial views
„ What do we teach?
„ Where Agile may fit it
„ An approach at ECPE
„ Current State
„ What’s Next
Education and Research in Copyright (c) 2008 Suradet
28
Agile Methods in Thailand Jitprapaikulsarn
About Naresuan University

„ Formerly a campus of Srinakharinwirot


University.
„ Established as a public university 1990
„ 58 undergraduate programs and 55
graduate programs

Education and Research in Copyright (c) 2008 Suradet


29
Agile Methods in Thailand Jitprapaikulsarn
IT-related Education in Thailand

„ Number of Universities in Thailand: 151


„ Number of Universities offering IT-related
degrees: 86

Education and Research in Copyright (c) 2008 Suradet


30
Agile Methods in Thailand Jitprapaikulsarn
Degrees being offered
„ Computer Science
„ Computer Engineering
„ Information Technology
„ Management Information System
„ Business Information System
„ Multimedia
„ Software Engineering
„ Information Engineering
„ etc.
Education and Research in Copyright (c) 2008 Suradet
31
Agile Methods in Thailand Jitprapaikulsarn
Traditional Software
Engineering
„ One course in the curriculum
„ Two courses in the curriculum
„ 4-year curriculum

Education and Research in Copyright (c) 2008 Suradet


32
Agile Methods in Thailand Jitprapaikulsarn
10 Knowledge Area
Software Software Software Software
Requirements Design Construction Testing

Software
Software Software
Configuration
Engineering Maintenance
Management

Software
Software Software
Engineering Software
Engineering Engineering
Tools and Quality
Management Process
Materials
Source: SWEBoK 2004
Education and Research in Copyright (c) 2008 Suradet
33
Agile Methods in Thailand Jitprapaikulsarn
8 Related Disciplines
Computer Computer
Management Mathematics
Engineering Science

Software
Engineering

Project Quality Software Systems


Management Management Ergonomics Engineering

Source: SWEBoK 2004


Education and Research in Copyright (c) 2008 Suradet
34
Agile Methods in Thailand Jitprapaikulsarn
What we teach

„ Fundamental Technical Knowledge and


Skills
„ How to be a good developer
„ Waterfall model of development

Education and Research in Copyright (c) 2008 Suradet


35
Agile Methods in Thailand Jitprapaikulsarn
Industrial View
„ Want: ready-to-use
„ Actual: Good foundation but not pragmatic
„ Want: latest technology
„ Actual: 80’s concept is taught
„ Want: versatile
„ Actual: strong technical but little domain
knowledge
„ Want: discipline, self-motivated
„ Actual: pleasure-seeker
Education and Research in Copyright (c) 2008 Suradet
36
Agile Methods in Thailand Jitprapaikulsarn
Problems with Traditional IT
Education
„ Instructor = Very good customer
„ Homework Assignment = Unchanged
requirement
„ No change management
„ No soft skill
„ No discipline

Education and Research in Copyright (c) 2008 Suradet


37
Agile Methods in Thailand Jitprapaikulsarn
Digital Ecosystem Challenges

„ Increasingly rapid change


„ Uncertainty and emergence
„ Dependability
„ Diversity
„ Interdependence.

Education and Research in Copyright (c) 2008 Suradet


38
Agile Methods in Thailand Jitprapaikulsarn
Culture effects

„ US
„ more individualistic,
„ masculine

„ short-term-oriented

„ Thailand
„ more community-oriented
„ feminine

„ long-term-oriented
Education and Research in Copyright (c) 2008 Suradet
39
Agile Methods in Thailand Jitprapaikulsarn
What we need to teach

„ Learning to learn
„ Quality-oriented
„ Uncertainty
„ Diversity
„ Simulating real-world experience

Education and Research in Copyright (c) 2008 Suradet


40
Agile Methods in Thailand Jitprapaikulsarn
Agile Manifesto

„ Individuals and interactions over


processes and tools
„ Working software over comprehensive
documentation
„ Customer collaboration over contract
negotiation
„ Responding to change over following a
plan
Education and Research in Copyright (c) 2008 Suradet
41
Agile Methods in Thailand Jitprapaikulsarn
Our interpretation

„ Skillful and self-directed


„ Communication often
„ Goal oriented
„ Change handling

Education and Research in Copyright (c) 2008 Suradet


42
Agile Methods in Thailand Jitprapaikulsarn
Our approach

„ Discipline first and foremost


„ Encourage self-direction
„ Test early and often
„ Incremental Software Development
„ Build-on-each-other

Education and Research in Copyright (c) 2008 Suradet


43
Agile Methods in Thailand Jitprapaikulsarn
Agile Methods
„ Agile Modeling
„ Agile Unified Process (AUP)
„ Crystal
„ Dynamic Systems Development Method
(DSDM)
„ Extreme Programming (XP)
„ Feature Driven Development (FDD)
„ Lean Software Development
etc
Education and Research in Copyright (c) 2008 Suradet
„
Agile Methods in Thailand Jitprapaikulsarn
44
Agile Practices at Naresuan
University
„ User Stories
„ Coding Standard
„ Test-Driven Development
„ Design Improvement
„ Small releases using Time-boxing
„ Continuous Integration
„ Measure project velocity
Education and Research in Copyright (c) 2008 Suradet
45
Agile Methods in Thailand Jitprapaikulsarn
Sample
//--------------------------------------------------------------------------
// Data Definition
// ---------------
// A student record (SR) is a structure consisting of
// - student id as number
// - student first name as string
// - student last name as string
// - student Phone number as number
// - student birthday as Date
//--------------------------------------------------------------------------
struct StudentRecord
{
int id;
std::string firstName;
std::string lastName;
int Phone;
Date birthday;
};
Education and Research in Copyright (c) 2008 Suradet
46
Agile Methods in Thailand Jitprapaikulsarn
//--------------
Sample
// Data Example
//--------------
StudentRecord student_1 = { 123456, "Tom", "Cruise", 345463474, { 10, 9,
1960 } };
StudentRecord student_2 = { 322344, "Brad", "Pitt", 523452345, { 3, 5,
1967 } };
StudentRecord student_3 = { 547824, "Val", "Klimmer", 136564566, { 25, 7,
1965 } };

//--------------
// Code Pattern
//--------------
// ... G(StudentRecord r)
// {
// ... r.id ...
// ... r.lastName ...
// ... r.firstName ...
// ...and
Education r.Phone
Research...in Copyright (c) 2008 Suradet
// Methods
Agile ... F(r.birthday
in Thailand ) ... Jitprapaikulsarn
47

// }
Sample
//-------------------------------------------------------------------
-------
// @description determine whether the first date is prior
to the second date
// @param d1 the first date
// @param d2 the second date
// @contract older : Date Date -> boolean
// @return true if d1 < d2, false otherwise
// @example older(date_1, date_2) == true
// @example older(date_2, date_1) == false
// @example older(date_2, date_3) == true
//-------------------------------------------------------------------
-------
bool older(Date d1, Date d2)
{
return (d1.year < d2.year) ||
(d1.year
Education and Research in == d2.year &&
Copyright (c) 2008 nDay(d1) < nDay(d2));48
Suradet

}
Agile Methods in Thailand Jitprapaikulsarn
On-going

„ Integrating other practices


„ Lean
„ Agile Modeling

„ AUP

Education and Research in Copyright (c) 2008 Suradet


49
Agile Methods in Thailand Jitprapaikulsarn
A Hegelian View of Software
Engineering Evolution

Boehm, A View of 20th and 21st Century Software Engineering, ICSE 2006
Keynote Address, May 25, 2006
Education and Research in Copyright (c) 2008 Suradet
50
Agile Methods in Thailand Jitprapaikulsarn
Q&A

Education and Research in Copyright (c) 2008 Suradet


51
Agile Methods in Thailand Jitprapaikulsarn

Das könnte Ihnen auch gefallen