Date post: | 27-Dec-2015 |
Category: |
Documents |
Upload: | aubrey-mosley |
View: | 212 times |
Download: | 0 times |
IS2210: Systems Analysis and Systems Design and Change
Email: [email protected]: @InstCathalDoyleWebsite: www.cathaldoyle.com
Learning OutcomesO Understand why systems analysis
and design is a module
O Understand the Agile Lifecycle
O Understand the differences between traditional and agile methods
Why SAD?O Why do you think you are doing this
module?
O Has anyone seen any benefits?
O What are the negatives?
Types of SDLC
O Waterfall Model
O Spiral ModelO V-Model
Traditional Methods Agile Methods
O Extreme Programming (XP)
O ScrumO Adaptive Software
DevelopmentO Dynamic Systems
Development Method (DSDM)
O Feature Driven Development
6
Analyst EdwardC
ost o
f cha
nge
Promised date
•We are already running late. •I need to meet my date.•We worked hard to prevent change at the start.
WHY DO WE NEED AGILE ANYWAY?
Edwards’s Customer
© Vision Consulting
7
Analyst Edward
Edwards’s CustomerC
ost o
f cha
nge
•We are already running late. •I need to meet my date.•We worked hard to prevent change at the start.
WHY DO WE NEED AGILE ANYWAY?
Change & Rework happens at the most expensive time
Spec signed off here © Vision Consulting
Promised date
8
Lear
ning
Cur
ve
Change!•Our spec was a guess•We learn by doing the project•We need the best product
Edwards - Customer
Spec signed off here
Analyst Edward
© Vision Consulting
Promised date
Edward’s Customer
Out of hundreds of projects, there is no case in which requirements remained stable throughout the design - Reinertson (1998) on Product Development
A typical software project experiences a 25% change in requirements - Boehm and Papaccio (1988)
on Software Development
Medium to Large projects (1000+ function points) experience 25 – 35% requirements change - Jones (1997) on Software Development
Conclusion: We can’t successfully prevent change
Lear
ning
Cur
ve
Spec signed off here
This learning causes change
Change!•Our spec was a guess•We learn by doing the project•We need the best product
Analyst Edward
© Vision Consulting
Promised date
Who’s to blame?
-The customer?
-The project manger?
-The way we build software?
Edward’s CustomerAnalyst Edward
WHO’S TO BLAME?
© Vision Consulting
Interesting FiguresO IT projects have a history of failure
O 30-40% of systems projects fail prior to completion
O Failed systems in the US cost $100 billion per year
What does this mean?O Are traditional methods useless?
O They leave little room for change
O Is there too much documentation involved?
A Possible Solution…O Agile software development
O The aim is to develop software in iterations which last 1-4 weeks
O Each of these iterations can be seen as miniature software projects
The Agile Software Development Manifesto
On February 11-13, 2001 Agile Alliance, (formed of software practitioners and consultants), formed and produced a Manifesto for Agile Software Development
Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over rigid contractsResponding to change over following a plan
People over ProcessO Human interactions are more
important than the company’s processes and tools
O Close team relationships
O Close working environment
Working SoftwareO Frequent output of working, tested
software
O Keep It Simple Stupid (KISS)
O The less documentation the better
Relationship With Customer
O Co-operation with the customer over strict contracts
O Deliver software quickly so customers can see it
O Reduce the risk of not meeting the terms of contract
Responding to ChangeO Contracts must be worded so as to
allow change
O Team must be competent to make changes
O Customers are part of the team so they are aware of, and sanction, changes
So what makes an agile method?
O Incremental O Involves delivering releases
frequently and with a few enhancements
O CooperativeO Refers to a close interaction between
customers and developers
O StraightforwardO The method itself is easy to learn,
modify, and is well documented
O AdaptiveO We can still change requirements
even late in the development process
Agile MethodsO Extreme Programming (XP)O ScrumO Adaptive Software Development
(ASD)O Crystal Clear and Other Crystal
MethodologiesO Dynamic Systems Development
Method (DSDM) O Feature Driven Development
Agile Methods vs Traditional Methods
O Agile methods emphasize real-time communication, preferably face-to-face, over written documents
O Agile methods rely on the close collaboration of activity engaged individuals with ordinary talents and has the ability to flexibly schedule the implementation of functionality, responding to changing business needs
O The customer is on-site and part of the development team
Values and PrinciplesO CommunicationO SimplicityO FeedbackO Courage
Agile modelers possess the self-confidence to allow their customers to question, critique, and sometimes complain about the system under development. Analysts learn from their customers, who have been in business a long time.
XP PROCESS LIFECYCLEThe XP lifecycle consists of 5 phases: Exploration, Planning, Iterations to Release, Productionizing, Maintenance and Death
Pair Programming
Test Collective codebase
Stories
Regular updates
Stories for the next iteration
Priorities Effort estimates
Analysis DesignPlanning
for testing Testing
Feedback Continuous Integration
Continuous Review
Small Release
Updated Releases
Final Release
Customer Approval
Exploration Phase
Planning Phase Iterations to Release Phase
Prod
uctio
nizi
ng
Phas
e
Mai
nten
ance
Pha
se
Dea
th P
hase