SE 470 Software Development Processes James Nowotarski 05 May 2003.
-
date post
20-Dec-2015 -
Category
Documents
-
view
215 -
download
0
Transcript of SE 470 Software Development Processes James Nowotarski 05 May 2003.
![Page 1: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/1.jpg)
SE 470Software Development Processes
James Nowotarski
05 May 2003
![Page 2: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/2.jpg)
Course Map
Overview. Introduction. History
Content. Rational Unified Process. Extreme Programming
Implementation. Tools, Training, Roles. CMM, Metrics. Selection & Evaluation
Briefings (Term Papers)
1 2 3 4 6 7 8 9 10 115
Assignments
Quizzes
Week
Mem
ori
al D
ay
![Page 3: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/3.jpg)
• Understand who uses methodology and why• Understand key strategies and issues affecting
methodology deployment, adoption, and usage• Be able to outline a methodology deployment plan
Today’s Objectives
![Page 4: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/4.jpg)
Topic Duration
• Recap 15 minutes
• Who reads methodology and why 30 minutes
• Deployment, adoption, use 45 minutes
• *** Break 10 minutes
• Deployment, adoption, use (cont.) 45 minutes
• Term Project 10 minutes
• Quiz 40 minutes
Today’s agenda
![Page 5: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/5.jpg)
Topic Duration
• Recap 15 minutes
• Who reads methodology and why 30 minutes
• Deployment, adoption, use 45 minutes
• *** Break 10 minutes
• Deployment, adoption, use (cont.) 45 minutes
• Term Project 10 minutes
• Quiz 40 minutes
Today’s agenda
![Page 6: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/6.jpg)
Approach References
XP www.extremeprogramming.org
www.xprogramming.com
Crystal A. Cockburn, Agile Software Development, Addison-Wesley, 2001
SCRUM K. Schwaber and M. Beedle, Agile Software Development with Scrum, Prentice Hall, 2001.
Adaptive Software Development
J. Highsmith, Adaptive Software Development, Dorset House, 2000.
FDD S. Palmer, A Practical Guide to Feature-Driven Development, Prentice Hall, 2002.
Agile - General http://www.agilealliance.org/home
Lightweight Methods
![Page 7: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/7.jpg)
What is XP
• Rapid feedback• Assume simplicity• Incremental change• Embrace change• Quality work
First Principles
![Page 8: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/8.jpg)
What is XP
• Pair programming • Test all the time
– unit testing– functional testing– continuous integration
• Short iterations, small releases– 2 month releases, 2 week iterations
• Incremental planning (learning to drive)• Customer on-site as integral part of team• Do simplest thing that could possibly work
Key Features
![Page 9: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/9.jpg)
What is XP
• 40-hour week• Coding standards• Refactoring and evolutionary design• Metaphor to aid in understanding the
architecture• Only highest priority tasks are worked• Collective ownership
Key Features
![Page 10: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/10.jpg)
What is XP
Life cycle phase
Co
st
of
ch
an
ge
Req Anal. Des. Impl. Test Prod
y = axp
![Page 11: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/11.jpg)
What is XP
Time
Co
st
of
ch
an
ge
XP purports to change the curve so that the cost to find and repair software problems does not rise dramatically over time
![Page 12: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/12.jpg)
When to Use XP
• Small to medium sized teams• Vague or rapidly changing requirements• 2-10 programmers • Responsible and motivated developers• Not sharply constrained by existing computing
environment• A reasonable job of executing tests can be done in a
fraction of a day• Customer who understands and will get involved
![Page 13: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/13.jpg)
When Not to Use XP• Culture
– Pointing the car– Big specification– Long hours
• 20 or more programmers– though projects are emerging with up to 50 developers
• More than 15 months’ duration• More than 50K source lines of code (SLOC)• Fixed price contracts• Technology barriers
– Exponential cost curve– Long time needed to get feedback
• Geographic separation• Architecture not well established• Developers are low quality and motivation
![Page 14: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/14.jpg)
RUP vs. XP
Attribute RUP (“Heavyweight”) XP (“Lightweight”)
Time and Effort Allocation
2 weeks-6 months 2 weeks - 2 months
Architecture Stabilized during Elaboration phase
Just enough to support functionality
Scope of Activities and Artifacts
Broad Narrow
Omits:
• Business modeling
• Deployment
Project size Small to Very Large Small to Medium
Artifacts 25-30 in small project roadmap
roughly 30
Roles ~ 30 (5 in small project roadmap)
7
![Page 15: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/15.jpg)
Topic Duration
• Recap 15 minutes
• Who reads methodology and why 30 minutes
• Deployment, adoption, use 45 minutes
• *** Break 10 minutes
• Deployment, adoption, use (cont.) 45 minutes
• Term Project 10 minutes
• Quiz 40 minutes
Today’s agenda
![Page 16: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/16.jpg)
Who Reads Methodology and Why
• Study of 1000 practitioners by Prof. Gezinus Hidding, Loyola University (mid-1990’s)
• Practitioners seldom “read” the methodology• But when they do, it is to:
– learn about something new (training)– look something up that they once knew or want to
confirm (reference)• Different needs depending on role
![Page 17: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/17.jpg)
Who Reads Methodology and Why
Training Reference
Planning 8% 36%
Selling 6% 20%
Doing 6% 13%
Managing 2% 9%
Methodology is used mostly by planners and mostly for reference purposes
Source: Gezinus Hidding, Loyola University
Roles
How Used
![Page 18: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/18.jpg)
Who Reads Methodology and Why
Process Artifact Guideline Concept
Planning 43% 37% 14% 7%
Selling 48% 35% 12% 5%
Doing 40% 34% 16% 10%
Managing 42% 34% 18% 6%
Process descriptions and artifacts are the most valuable types of information
Source: Gezinus Hidding, Loyola University
Reference
![Page 19: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/19.jpg)
Who Reads Methodology and Why
• Information needs of planners (“crucial target”)– need for speed– summary overviews of processes and artifacts
• Information needs of doers– artifact samples– guidelines
![Page 20: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/20.jpg)
Topic Duration
• Recap 15 minutes
• Who reads methodology and why 30 minutes
• Deployment, adoption, use 45 minutes
• *** Break 10 minutes
• Deployment, adoption, use (cont.) 45 minutes
• Term Project 10 minutes
• Quiz 40 minutes
Today’s agenda
![Page 21: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/21.jpg)
Overview
Configuration
Implementation
Kruchten, Chapter 17
HardestPart
![Page 22: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/22.jpg)
Configuration
• Configure for organization/organizational unit
• Configure for project
![Page 23: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/23.jpg)
Why is Implementation so hard?
• Process change affects behavior• Target audience lacks time• Not a “sexy” topic
![Page 24: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/24.jpg)
Kruchten’s Implementation Steps
1. Assess the current state2. Set (or revise) goals
3. Identify risks
4. Plan the process implementation
5. Execute the process implementation
Current process
New processCompletelyImplemented
6. Evaluate the process implementation
![Page 25: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/25.jpg)
Kruchten’s Implementation Steps
Current process
New processCompletelyImplemented
1. Assess the current state2. Set (or revise) goals
3. Identify risks
4. Plan the process implementation
5. Execute the process implementation
6. Evaluate the process implementation
![Page 26: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/26.jpg)
1. Assess the current state
Assets Deployment Usage
Bus. Modeling
Requirements
Analysis & Design
etc.
One approach to assessment: Look at assets, deployment of assets, and usage of assets
Scorecard/Gap Analysis
![Page 27: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/27.jpg)
1. Assess the current state
• Assets: Do we have good stuff?
• Deployment: Do people know about the assets? Do people know what to do with the assets?
• Usage: Are people using the assets on projects?
![Page 28: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/28.jpg)
Technology
ProcessPeople
1. Assess the current state
The focus of SE 470 is the process component of software engineering
SE 470
![Page 29: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/29.jpg)
Technology
ProcessPeople
1. Assess the current state
Methodology introduces new capability into targeted units
![Page 30: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/30.jpg)
Technology
ProcessPeople
1. Assess the current state
People and Technology elements must be addressed also
• Ownership/Sponsorship • Motivation• Rewards/Incentives• Training• Physical work environment• Roles, reporting relationships• Performance measurement
![Page 31: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/31.jpg)
Technology
ProcessPeople
1. Assess the current state
People and Technology elements must be addressed also
• Tools • Standards• Reusable components• Alignment with other frameworks
![Page 32: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/32.jpg)
Kruchten’s Implementation Steps
Current process
New processCompletelyImplemented
1. Assess the current state2. Set (or revise) goals
3. Identify risks
4. Plan the process implementation
5. Execute the process implementation
6. Evaluate the process implementation
![Page 33: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/33.jpg)
Kruchten’s Implementation Steps
Current process
New processCompletelyImplemented
1. Assess the current state2. Set (or revise) goals
3. Identify risks
4. Plan the process implementation
5. Execute the process implementation
6. Evaluate the process implementation
![Page 34: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/34.jpg)
Elements of an Implementation Plan
• Sponsorship• Marketing & Communication• Education & Training• Coordination with other initiatives• Rollout schedule• Support • Metrics
![Page 35: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/35.jpg)
Elements of an Implementation Plan
• Sponsorship– Executive level– Visibility– Accountability
![Page 36: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/36.jpg)
Elements of an Implementation Plan
• Marketing & Communication– Need to be aware of where target audience is:
-- Misinformed-- Unaware-- Aware-- Understand-- Believe-- Action
– Err on side over-communication– Relate to business performance objectives– Types of materials? (discuss)
![Page 37: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/37.jpg)
Elements of an Implementation Plan
• Education & Training– Train-the-Trainer– Rollout training (one-time event)
-- For the unwashed masses-- “Retread” training
– Ongoing training curriculum– Levels to target
-- User-- Developer-- Manager-- Executive
![Page 38: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/38.jpg)
Elements of an Implementation Plan
• Coordination with other initiatives– Align vocabulary, practices– Examples:
-- Performance evaluations-- IT strategy
– Allow others to “invoke” methodology-- Analogous to Microsoft publishing API’s in
a Software Developer Kit (SDK)
![Page 39: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/39.jpg)
Elements of an Implementation Plan
• Rollout schedule
– Incremental approach recommended – Pilot is usually a good idea
-- Shake out-- Success story will help with takeup by
others-- Especially critical if risks are great-- “the most effective way to introduce
process and tools”
![Page 40: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/40.jpg)
Elements of an Implementation Plan
• Support– Local experts– Central help desk– Need to capture feedback (“experience
factory”)-- Fixes-- Enhancements-- Innovations
![Page 41: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/41.jpg)
Elements of an Implementation Plan
• Metrics– Training– Awareness– Usage– Local experts time allocation– Help desk requests– Errors/Enhancements
![Page 42: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/42.jpg)
Technology
ProcessPeople
4. Plan the process implementation
Methodology introduces new capability into targeted units
![Page 43: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/43.jpg)
Kruchten’s Implementation Steps
Current process
New processCompletelyImplemented
1. Assess the current state2. Set (or revise) goals
3. Identify risks
4. Plan the process implementation
5. Execute the process implementation
6. Evaluate the process implementation
![Page 44: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/44.jpg)
Kruchten’s Implementation Steps
Current process
New processCompletelyImplemented
1. Assess the current state2. Set (or revise) goals
3. Identify risks
4. Plan the process implementation
5. Execute the process implementation
6. Evaluate the process implementation
![Page 45: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/45.jpg)
Kruchten’s Implementation Steps
Phase 1 Phase 2 Phase 3 Phase 4
Implementing a process is a project
The group of people working on implementing the process should be dedicated
![Page 46: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/46.jpg)
Implementation Key Success Factors• Involve systems developers in assessing current process• Implement appropriate tools
– Software development tools– Methodology related tools
configuration/customization browsing estimating project planning/management workflow management
• Communicate, communicate, communicate• Executive support• Positive track record• Incremental/Iterative implementation of methodology
– For XP, start with testing or planning
![Page 47: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/47.jpg)
Usual Causes of Implementation Failure
• Lack of visible leadership/sponsorship
• Lack of adequate training
• Lack of effective communication
• Death by 1000 initiatives
• New/Changed roles not implemented
• Fail to account for different information needs of “planners” and “doers”
– Too detailed for planners
– Not enough detail for doers
![Page 48: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/48.jpg)
Topic Duration
• Recap 15 minutes
• Who reads methodology and why 30 minutes
• Deployment, adoption, use 45 minutes
• *** Break 10 minutes
• Deployment, adoption, use (cont.) 45 minutes
• Term Project 10 minutes
• Quiz 40 minutes
Today’s agenda
![Page 49: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/49.jpg)
Term Paper
Summary:A briefing on a significant, currently relevant software development methodology or process-related framework not covered in class
Deliverables:PaperPresentation and Discussion (30 minutes)
Topic Ideas:SCRUMFeature Driven DevelopmentAdaptive Software DevelopmentCrystalSEI Team Software ProcessSEI Personal Software Process
![Page 50: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/50.jpg)
Term Paper
Paper Outline:1. Abstract2. Historical Background3. Description
• Philosophy/Principles• Components• Benefits
4. Usage Guidelines• When to use/avoid• Success factors/Challenges
5. Marketplace Analysis• Key Players/Products/Gurus• Market data/forecasts
6. References• Books, articles, web sites• Need to interview a practitioner and/or faculty
member
![Page 51: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/51.jpg)
Topic Duration
• Recap 15 minutes
• Who reads methodology and why 30 minutes
• Deployment, adoption, use 45 minutes
• *** Break 10 minutes
• Deployment, adoption, use (cont.) 45 minutes
• Term Project 10 minutes
• Quiz 40 minutes
Today’s agenda
![Page 52: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/52.jpg)
• CMM• Assignment 3
Topics for May 12
![Page 53: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/53.jpg)
Extra Slides
![Page 54: SE 470 Software Development Processes James Nowotarski 05 May 2003.](https://reader035.fdocuments.us/reader035/viewer/2022062421/56649d4e5503460f94a2daa9/html5/thumbnails/54.jpg)
Rational Unified Process