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

Post on 18-Jan-2016

228 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

IS3320 Developing and Using Management Information SystemsLecture 20: Project Management

Rob Gleasure

R.Gleasure@ucc.iewww.robgleasure.com

IS3320

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

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

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.

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)

The Waterfall Approach

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

Outputs of the Waterfall Approach

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

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

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

Agility View of SDLC

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

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

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

Planning in XP

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

Technical people decide about Estimates Consequences Process Detailed Scheduling

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

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

People in XP

Seat together

Whole team approach

Informative workspace

Energized Work

Pair Programming

Team Continuity

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

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…

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

When to Use Agile

Everything else…

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

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/

top related