project management define project, project management, rad, jad
DESCRIPTION
TRANSCRIPT
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