Project Management Define project, project management, RAD, JAD

Post on 19-Jan-2015

2.685 views 3 download

description

 

Transcript of Project Management Define project, project management, RAD, JAD

Project Management Define project, project management, RAD, JAD Describe the project triangle and its tradeoffs Describe project management activities Discuss the advantages and disadvantages of

functional, project (purpose) and matrix structures Describe the advantages, disadvantages and

characteristics of SDLC (System Development Life Cycle) and prototyping

Describe the phases of SDLC Describe project dimensions affecting risk Discuss integration in dealing with risk Discuss issues in managing behavioral factors Discuss open sourcing as a development approach

Project Management

Project - temporary endeavor undertaken to create a unique product or service may be divided into subprojects

Project management - application of knowledge, skills, tools and techniques to project activities to meet or exceed stakeholder needs and expectations from a project T.A.N.S.T.A.A.F.L.

Project Triangle

 

Time Cost

Scope

QUALITY

Project Management Activities

Ensuring progress of project using metricsIdentifying risks and assessing the

probability of them occurring Ensuring progress toward deliverables

within constraints of time and resourcesRunning coordination meetings of the

project teamNegotiating for resources on behalf of the

project

Development ModelsSystems Development Life CycleRapid Applications Development (RAD)PrototypingJoint Applications Development (JAD) (like RAD

with users)Agile Programming (Dynamic System

Development Method; Extreme Programming; Scrum Crystal)

Object-Oriented

Systems Development Life Cycle (SDLC)

OverviewSoftware Acquisition ChoicesSDLC OverviewSDLC:PhasesAlternative Approaches

SDLC - Prior Problems

Failure to meet: Budgets Schedules Expectations

TOO LITTLE…. TOO LATE

SDLC - Characteristics“Problem” or “Opportunity”Many names; Widely applicable“Analysis” vs. “Synthesis”Variance across stages

SDLC - Characteristics

Disciplined approachSystems approachIterative (not sequential)Cyclical

SDLC - Advantages

Focus on tradeoffsFocus on goalsControls: milestones, checklist,

accountabilityTools, models, CASEHierarchical decompositionDesigned for user & manager

involvement

SDLC - Reasons for Failure

Scope too broad or too narrowLack of needed skillsIncomplete specificationsNo control/no frameworkLack of management/user

involvementToo time-consuming

SDLC Phases

Initiation and FeasibilityRequirements DefinitionFunctional DesignTechnical Design and ConstructionVerificationImplementationMaintenance & Review

I. Initiation & FeasibilityProject objectives & ScopePreliminary survey & feasibility

Technical Economic Operational

Project proposal and scheduleIdentify assumptions & constraints

II. Requirements Definition

Problem/Opportunity definitionAnalyze current systemFocus on decisions and related

information needsDefine business functionalityPlan for training, user acceptance

Problem/Opportunity Definition

Symptoms vs. real problemsQuestion decision maker’s

statement of problemBound problem realisticallyTry to ascertain actual causeSometimes figuring out the

problem is half the solution

Analyze Current System

+ Understand activities involved+ Identify decision points+ Identify problems & efficiencies+ Be aware of history- Bias thinking

III. Functional DesignFocus on business needs

usability, reliability

Logical design Outputs Inputs Presentation Processes Databases Personnel

IV. Technical Design and ConstructionFinalize architecture and acquire

hardwareComplete technical definition of data

access and other system componentsMake (program) vs. buyDevelop test plansRevise schedule, plan and costs

V. VerificationProgram Testing

Structured walkthrough Code inspection Unit test Pairs testing

Verification, stress, user and security testing

VI. Implementation

Cut-over Parallel conversion Direct cut-over Pilot conversion Phased conversion

User training

VII. Maintenance and ReviewPost-implementation audit

Ends - information requirements (information, performance)

Means - processMaintenance (correcting bugs &

scheduled maintenance)Enhancement (adding functionality)

Iterative Development

System Concept

Version “1”

Version “2”

Version “N”Software

Development Process

Uses of Prototyping

Verifying user needs

Verifying that design = specifications

Selecting the “best” design

Developing a conceptual

understanding of novel situations

Uses of Prototyping

Testing a design under varying

environments

Demonstrating a new product to

upper management

Implementing a new system in the

user environment quickly

Prototyping

Proposed Advantages Improved user

communication Users like it Low risk Avoids over-

design Experimentation

and innovation Spreads labor to

user department

Disadvantages in practice Prototypes are used

“as is”Integration often

difficultDesign flawsPoor performance

Difficult to manage process

Creates unrealistic expectations

Documentation is difficult

Observed Effects of Prototyping

ease of use (+) user needs (+) unrealistic user

expectations (-) added features (?) poorer performance(-) mixed design quality mixed maintainability

less need more difficult to do

effort decreased (+) difficult cost-

estimation (-) end-user

participation increased (+)

more expertise needed (-)

difficult planning & control (-)

Software Product Software Process

Rapid Applications Development (RAD)

+ Like prototyping, uses iterative development

+ Uses tools to speed up development GUI reusable code code generation programming, language testing and debugging

- Requirements may be frozen too early- Basic standards often overlooked

Joint Applications Development (JAD)

+ Saves interviewing and data collection time

+ Structured process+ Highly collaborative with

business units- Expensive- Low use of technology

Project Dimensions Affecting Risk

Project Size (relative to others)

The pregnant ladyComplexity

Extent of difficulty Interdependence of components Relative

Clarity High vs. Low

Tools for Project Management

Risk a function of size, complexity and clarity

Tools External integration tools (beyond project team) --- clarity

Internal integration tools ( within project team) --- complexity

Integration ToolsEXTERNALUser project managerUser specification

approval processUser-managed control

processUsers as team

membersUser responsibility for

education&installation

INTERNAL IT professional team

leaderFrequent team

meetingsRegular technical

status reviewsOutside technical

assistanceGoal setting by team

Management Issues

Pulling the plugMeasuring success

Resource constraints Impact on customers Business success Prepare the future

Open Sourcing

The process of building and improving “free” software by an Internet community Release early and often Delegate as much as possible Archive and manage the versions

Be as open as possible

Free Software

The freedom to run the program for any purpose.The freedom to study how the program works,

and adapt it to your needs. Access to the source code is a precondition for this.

The freedom to distribute copies so that you can help your neighbor.

The freedom to improve and release your improvements to the public, so that the whole community benefits. Access to source code is a precondition for this GNU Project- Free Software Foundation, “The Free Software Definition,” http://www.gnu.org/philosophy/free-sw.html , Downloaded 4/3/02.

Open Sourcing Issues

Protection of Intellectual PropertyUpdating and maintaining open

source codeCompetitive advantageTech supportStandards