27
IS2210: Systems Analysis and Systems Design and Change Email: [email protected] Twitter: @InstCathalDoyle Website: www.cathaldoyle.com

IS2210: Systems Analysis and Systems Design and Change Email: [email protected]@umail.ucc.ie Twitter: @InstCathalDoyle@InstCathalDoyle

Embed Size (px)

Citation preview

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?

What have we looked at?

O SDLC

O Traditional Method – Waterfall

O What else is there?

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

Why Do Projects Fail?O Lack of sponsor involvement

O Poor scope management

O Poor planning

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.

5 Agile Principles for Systems Analysts

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

ThanksO Any Questions?