is3320 developing and using management information systems lecture 20: project management rob...

21
IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure [email protected] www.robgleasure.com

Upload: laureen-camilla-lane

Post on 18-Jan-2016

228 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure R.Gleasure@ucc.ie

IS3320 Developing and Using Management Information SystemsLecture 20: Project Management

Rob Gleasure

[email protected]

Page 2: IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure R.Gleasure@ucc.ie

IS3320

Today’s lecture The software development lifecycle Waterfall approach Agile approach eXtreme Programming (XP)

Page 3: IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure R.Gleasure@ucc.ie

The SDLC

The SDLC describes the activities performed at each stage of a software development project.

This involves six steps

1. Requirements Gathering and Analysis

2. Design

3. Development/Implementation

4. Testing

5. Implementation

6. Maintenance

Page 4: IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure R.Gleasure@ucc.ie

Why use the SDLC

It provides a standard generic framework that can be re-used and adjusted across multiple projects

SDLC + project parameters Plan

Project parameters will include: Scope, Budget, Duration

This let’s us negotiate details with clients, spot problems early, regulate development, etc.

Page 5: IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure R.Gleasure@ucc.ie

The Waterfall Approach

The classic model of development is the waterfall model introduced by Royce in 1970

Each phase is completed before the next begins

Idea of handover between phases, i.e. ‘waterfall’

Upstream changes may occur but only to address some emerging issues (you don’t aim for this to happen)

Page 6: IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure R.Gleasure@ucc.ie

The Waterfall Approach

Taken from http://thenuzan.blogspot.ie/2014/09/sdlc.html

Page 7: IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure R.Gleasure@ucc.ie

Outputs of the Waterfall Approach

Taken from Technology Specialist at Cognizant Technology Solutions, R. Angelin

Page 8: IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure R.Gleasure@ucc.ie

Agile Approach

To combat the high failure rates and growing dissatisfaction with software development approaches, in 2001 the ‘Agile Manifesto’ was introduced

Agility is argued as a philosophy, not just a set of practices Adaptation is preferred to prediction Iteration is preferred to linearity Working code is preferred to documentation

Page 9: IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure R.Gleasure@ucc.ie

The 12 Principles of Agility

1. Customer satisfaction by rapid delivery of useful software

2. Welcome changing requirements, even late in development

3. Working software is delivered frequently (weeks rather than months)

4. Close, daily cooperation between business people and developers

5. Projects are built around motivated individuals, who should be trusted

6. Face-to-face conversation is the best form of communication (co-location)

7. Working software is the principal measure of progress

8. Sustainable development, able to maintain a constant pace

9. Continuous attention to technical excellence and good design

10. Simplicity—the art of maximizing the amount of work not done—is essential

11. Self-organizing teams

12. Regular adaptation to changing circumstances

Page 10: IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure R.Gleasure@ucc.ie

Agility View of SDLC

Taken from http://zambzee.com/home/?page_id=190

Page 11: IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure R.Gleasure@ucc.ie

Types of Agile Approach

There are many different types of agile methodologies, e.g. eXtreme Programming (XP) Scrum Dynamic Systems Development Method (DSDM) Rational Unified Process (RUP)

Of these, scrum and XP are arguably most common

Page 12: IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure R.Gleasure@ucc.ie

eXtreme Programming (XP)

Used successfully and routinely at companies like Bayerische Landesbank, Credit Swiss Life, DaimlerChrysler, First Union National Bank, Ford Motor Company and UBS.

Built on core values of Communication Simplicity Feedback Courage Respect

Page 13: IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure R.Gleasure@ucc.ie

Planning in XP

Business people decide about Scope Priority Composition of releases Date of releases

Technical people decide about Estimates Consequences Process Detailed Scheduling

Page 14: IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure R.Gleasure@ucc.ie

Planning in XP

Daily standup meetings are used to manage this 15 minutes max No sitting Same time and place each day Everyone quickly runs through what they did yesterday, what

they will do today, and anything slowing them down

Page 15: IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure R.Gleasure@ucc.ie

Designing, Coding, and Testing in XP Minimal design, especially early

Single repository for code, everyone commits their code every day

All code has unit tests

More tests created as soon as a bug is found

Code must pass all tests before it can be released

Page 16: IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure R.Gleasure@ucc.ie

People in XP

Seat together

Whole team approach

Informative workspace

Energized Work

Pair Programming

Team Continuity

Page 17: IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure R.Gleasure@ucc.ie

Advantages of Waterfall

Simple way to negotiate tasks and milestones with various parties

Provides structure

Milestones are well understood

Identifies issues early

Good for management

Lets quality or regulatory metrics be set in stone early on

Page 18: IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure R.Gleasure@ucc.ie

Advantages of Agile

Reflects iterative nature of exploratory development

Ability to following changing requirements means more chance of useful output

Does not require estimation of tasks that may are poorly understood

Little administrative overhead

Value realised early – client is almost guaranteed to get something…

Page 19: IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure R.Gleasure@ucc.ie

When to Use Waterfall

Requirements are well known and product is clearly defined

Technology is mature

New version of an existing product

Migrating an existing product to a new platform

Where implementation can’t be broken down

Page 20: IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure R.Gleasure@ucc.ie

When to Use Agile

Everything else…

Even heavily regulated environments are adapting to use agile by following exploratory sprints with a ‘hardening sprint’

Page 21: IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure R.Gleasure@ucc.ie

Want to read more?

The Project Management Institute http://www.pmi.org/default.aspx

Beck, K. (2004). Extreme Programming Explained: Embrace Change, Addison-Wesley

The agile manifesto http://agilemanifesto.org/