Lecture 2 - Project Management Overview II

39
http://en.wikipedia.org/wiki/Fair_use 5

description

cxszv

Transcript of Lecture 2 - Project Management Overview II

Page 1: Lecture 2 - Project Management Overview II

http://en.wikipedia.org/wiki/Fair_use 5

Page 2: Lecture 2 - Project Management Overview II

Software Development

Construction of useful software systems.

System components include:� Hardware (Server, Desktop, Printers, Wires, Routers …)

� People (Wetware -- fluid, dynamic, unstable?)� Software (ERP, CRM, Operating Systems, Telecom/Security/Analytics/Integration software)

Not everything ‘constructed’ from a scratch!

6

Page 3: Lecture 2 - Project Management Overview II

Why do we develop/implement software?

To retain existing customers and add new customers

To improve customer relationships

To improve productivity/efficiency (within an organization orteam)

To upgrade a technology To support changed business processes and many

other To improve business value reasons!!

7

Page 4: Lecture 2 - Project Management Overview II

Business Context

Any organization has three primary interacting entities:

Clients (Downstream - they buy/get from organization)

Employees (Middle layer, provides knowledge/technical know-how for organisational strategy and operations)

Suppliers (Upstream – they provide things to the organization)

Suppliers

Organization

Customers 8

Page 5: Lecture 2 - Project Management Overview II

Business Context (cont.)

Organization can be a single person (or) much larger� An entity that is “organized to deliver some service/product”

From a business perspective, software systems are built tooptimize the key relationships with� Supplier: Reduce cost, improve predictability/quality

� Client: Keep existing clients, increase client base

� Employee: Increase productivity, retain talent etc.

These optimizations help to achieve business goals

9

Page 6: Lecture 2 - Project Management Overview II

Drivers of Software Development

What are the main drivers to consider?

Pain/pleasure points of customer and/or clients

Adding Business value

Exposure to “environment” – Touch points outside organisation

New/changed technologies

Legal and social considerations

10

Page 7: Lecture 2 - Project Management Overview II

What is a project? A temporary endeavour undertaken to accomplish a uniquepurpose/goal.

Usually involves several people performing interrelatedactivities.

Requires efficient and effective use of resources to complete theproject in a timely manner.

Significant attributes of a project:� Requires resources (of many kinds)

� Has a primary sponsor or customer,

� Involves uncertainty.

12

Page 8: Lecture 2 - Project Management Overview II

IEEE PMBOK

“A project is a temporary endeavor undertaken to create aunique product, service, or result. Temporary means thatevery project has a definite beginning and a definite end.Unique means that the product, service, or result is different

in some distinguishing way from all similar products, services,or results.”

(Source: IEEE 1490 - Project Management Body of Knowledge)

13

Page 9: Lecture 2 - Project Management Overview II

Project types - Complexity

How would you rate the following projects in terms of complexity.

� Amending a financial computer system to deal with a commonEuropean currency

� Putting a robot vehicle on Mars to search for signs of life

� Writing an operating system for a new computer

� A second-year programming assignment for a computing student

� Getting married

14

Page 10: Lecture 2 - Project Management Overview II

Software Projects

Almost all software products are obtained via projects

Project Concerns = Deliver on time and within budget

Achieve Interdependent &Common Goals Limited Resources

The Project Team is theprimary Resource!

15

Page 11: Lecture 2 - Project Management Overview II

Software Projects (cont.)

Distinguish between software projects:

designed to provide a service to a single client (internalin a company, or external)

designed to produce a product for sale.

In each case the project results in a “product”, but often inthe former case above, the project will be designated as a

“service provision” project, whilst in the latter case, it will bedesignated as a “product development” project.

16

Page 12: Lecture 2 - Project Management Overview II

Software Project vs. Other Project

Invisibility - Non physical material

Complexity - Per dollar, how much to pay on a task?

Conformity - Individual is inconsistent

Flexibility - Changes to deliverables

17

Page 13: Lecture 2 - Project Management Overview II

Project - an Engineering Perspective

Project Inception

P

rototyping

Elicitation

Validation

DesignSDLC model - Compartmentalisation

Testing

Maintenance

Does thissound

familiar?

CodingDeployment

Analysis

Phase Out

19

Page 14: Lecture 2 - Project Management Overview II

Project - a Management Perspective

Project Inception

Estimating

Planning Tracking

Management modeldefines how, when,

Measuring

Scope Definition

Scheduling

where, by whom. Resource Allocation

Risk assessmentBudget

Phase Out

21

Page 15: Lecture 2 - Project Management Overview II

An IT Project Methodology

Page 16: Lecture 2 - Project Management Overview II

What is Project Management?

Project Management = Plan the work and work the plan.

Basic Management Functions:

Planning: define out what needs to be done

Organizing: who does what (and when)

Staffing: recruiting and motivating personnel

Directing: ensure team acts as a (coherent) whole

“Systematizedcommon

sense!!”

Monitoring (Controlling): detect plan deviations + corrective actions

Innovating: develop new solution

Representing: liaising with clients, users, developer…22

Page 17: Lecture 2 - Project Management Overview II

Why Do Projects Go Wrong?

Too many people say “it’s management problems” or “it’speople problems”

Often it is…. But

it is sometimes because of faulty planning! And sometimes lack of clear objectives/goal

23

Page 18: Lecture 2 - Project Management Overview II

Software Development Lifecycle Model

A Software Development Lifecycle (SDLC) model isa process model for developing software-intensivesystems -“Set of activities and their relationships to each otherto support the development of a software system.”

(Bruegge and Dutoit)

25

Page 19: Lecture 2 - Project Management Overview II

Macro Steps vs. Micro Steps Every SDLC model defines a process as an order of macrodevelopment steps

may also involve repetition of macro steps ?.

Every macro step may contain a number of micro steps

A specific macro/micro step always has the same purposeand results in a similar outcome

E.g., every implementation step will always produce executablecode (and not suddenly requirements)

An SDLC model defines a specific order ofmacro and micro steps.

26

Page 20: Lecture 2 - Project Management Overview II

The Classical Software Lifecycle

Does thisThe classical softwarelifecycle models thesoftware developmentas a step-by-step“waterfall” between thevarious developmentphases.

RequirementsCollection

Analysis

Design

Implementation

soundfamiliar?

Testing

Maintenance

The waterfall model is often problematic because:• requirements must be frozen early in the life-cycle

• requirements are validated late

27

Page 21: Lecture 2 - Project Management Overview II

The Waterfall Model

RequirementsCollection

Analysis

Design

Implementation

Testing

Maintenance

The Waterfall model is due to Winston Royce - look up his original paper athttp://www.cs.umd.edu/class/spring2003/cmsc838p/Process/waterfall.pdf

28

Page 22: Lecture 2 - Project Management Overview II

Problems with Waterfall Model (cont.) No insight on effectiveness of transformation from one artefact to anothertakes place

� how effective are requirements turned into a design?

Requirements needed to be frozen at an early stage in thedevelopment

� no guidance on how to handle changes to a requirement during coding

Too abstract to convey the complex process steps required to resolvethe myriad of problems which arise at all stages of a softwaredevelopment.

No recognition that software development is part science, part art. But: waterfall is quite adequate for small, well-defined and well-scopedproblems!

29

Page 23: Lecture 2 - Project Management Overview II

Iterative Development (Incremental)

In practice, development is often iterative, and activitiesprogress in parallel (this has partly inspired recentapproaches known as “agile development”).

RequirementsCollection

Maintenance through iteration

Analysis

Testing based on requirements

Testing

Testing throughout implementationValidation through prototyping

Implementation

DesignDoes this

soundfamiliar?

Design through refactoring

30

Page 24: Lecture 2 - Project Management Overview II

Iterative Development (cont.)

Pros Cons

Cost of accommodatingchange is reducedCustomer’s feedback isquick

Rapid delivery anddeployment

Process is less structured

Upfront resource commitments of all types

31

Page 25: Lecture 2 - Project Management Overview II

Scrum - an Agile Development Method

3

Page 26: Lecture 2 - Project Management Overview II

Reuse-oriented Software Engineering

Reuse the component that aims to meet similar goal

Requirement Component RequirementSpecification Analysis Modification

System Development System DesignValidation and Integration with Reuse

Page 27: Lecture 2 - Project Management Overview II

Coping with Change Change is inevitable in large software projects

There are plenty of reasons for change� Client pressure

� New technology

� Business process changes

35

Page 28: Lecture 2 - Project Management Overview II

Project Management Activities

Feasibility • Is it worthStudy doing?

Plan

RequirementElicitation & Specification Design/Coding

Analysis

• How do wedo it?

ProjectExecution

Verification &Validation

• Do it!!

Implementation Maintenance

38

Page 29: Lecture 2 - Project Management Overview II

Project Forces

Time

Scope

Quality

Cost

41

Page 30: Lecture 2 - Project Management Overview II

Project Forces (cont.)

“The way the software development game is played is thatstakeholders can pick the values of three of thefour forces. The fourth value is a consequence of the choice

of the other three values.”Kent Beck, eXtreme Programming Explained, 2000.

42

Page 31: Lecture 2 - Project Management Overview II

Scope and Objectives

In order to start a project, you must set clearscope and objectives.

� Objective identify the general goals of the project

� Scope identifies the primary functions that the software is toaccomplish, and bounds these functions in a quantitative manner.

Objectives must be realistic and measurable� Objectives are concrete statements describing what the project is

trying to achieve. Written at a lower level, so that it can beevaluated at the conclusion of a project to see whether it was

achieved or not.

� SMART is normally used to describe well-defined objectives 43

Page 32: Lecture 2 - Project Management Overview II

Objectives

Do these objectives sound appropriate?

� To implement the new application on time and within budget� To implement the new software application with the fewestpossible software errors that might lead to operational failure

� To design a system that is user-friendly

� To produce full documentation for the new system

44

Page 33: Lecture 2 - Project Management Overview II
Page 34: Lecture 2 - Project Management Overview II

Software QualityBut what is Software Quality?

Depends on who you ask Users will judge it based on fitness for purpose and faultfrequency

Developers will judge it based on how technically sound it is and how easily it can be maintained

Operations and Support staff will judge it based on ease and use and the ‘fit’ with their needs

Managers will judge based on development cost, conflicts thatit causes.

45

Page 35: Lecture 2 - Project Management Overview II

Software Quality (cont.)

Software Quality is conformance to:

explicitly stated functional and performance requirements, explicitly documented development standards, implicit characteristics that are expected of all professionallydeveloped software.

More about Software Quality later

46

Page 36: Lecture 2 - Project Management Overview II

Customer Expectations

“A [real] customer wants his/her software product to cover allcurrent and future needs, built at no cost, and deliveredyesterday. And of course the customer will change his/her

mind several times along the way!”Rick Harvey, CA Labs

One of the key issues in any software project is to managecustomer expectations!

� this often means to help customers to define project scope.

47

Page 37: Lecture 2 - Project Management Overview II

Balance of Power

Business decisions should be made by business people(and not technical people)

Technology decisions should be made by technical people(and not business people)

48

Comments ?

Page 38: Lecture 2 - Project Management Overview II

“Sins” of Software Projects

Volatile Requirements (and too big a scope)

Lack of understanding between clients and developers

Poor Estimation and Planning

Unrealistic Schedules and Budgets (which often force“fiction” into the estimation and planning process!)

Inadequate Controls

Insufficient focus on Quality Control (eg, inadequate testing)

49

Page 39: Lecture 2 - Project Management Overview II

Key Ingredient to Successful Software

51