SE 470 Software Development Processes James Nowotarski 05 May 2003.

Slides:



Advertisements
Similar presentations
Basic SDLC Models.
Advertisements

Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
A little Software Engineering: Agile Software Development C Sc 335 Rick Mercer.
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
CS3773 Software Engineering Lecture 01 Introduction.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.1.
SCRUM John Drew. SCRUM - overview Scrum is a project management discipline that has evolved since the early 1990s to deliver software that meets business.
Software Life Cycles ECE 417/617: Elements of Software Engineering
SE 470 Software Development Processes James Nowotarski 2 June 2003.
SE 470 Software Development Processes James Nowotarski 21 April 2003.
SE 470 Software Development Processes James Nowotarski 12 May 2003.
Permeation of RUP and XP on Small and Middle-Size Projects KREŠIMIR FERTALJ University of Zagreb Faculty of Electrical Engineering and Computing Department.
James Nowotarski 25 May 2004 IS 553 Advanced Systems Development Practices.
James Nowotarski 27 April 2004 IS 553 Advanced Systems Development Practices.
Extreme Programming Mark Steverson. What Is Extreme Programming? ● Extreme Programming (XP) is a lightweight, agile methodology developed by Kent Beck.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Extreme Programming--a “New” Process Model Extreme Programming-- a “New” Process Model.
Iterative development and The Unified process
4. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the elements of project management and the responsibilities of a.
James Nowotarski 04 May 2004 IS 553 Advanced Systems Development Practices.
SE 470 Software Development Processes James Nowotarski 28 April 2003.
An Overview of Agile L e a d i n g C h a n g e T h r o u g h C o l l a b o r a t i o n.
What is Business Analysis Planning & Monitoring?
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Software Engineering Modern Approaches
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Current Trends in Systems Develpment
Unified Process versus Extreme Programming. Outline Compare and contrast UP and XP  Processes / Disciplines  Management  Artefacts Risk management.
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Coming up: The Manifesto for Agile Software Development 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development Software Engineering:
1 김 수 동 Dept. of Computer Science Soongsil University Tel Fax
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Rational Unified Process Fundamentals Module 5: Implementing RUP.
Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Extreme programming (XP) Variant of agile Takes commonsense practices to extreme levels © 2012 by Václav Rajlich1.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
Rational Unified Process (RUP)
Agile Methods Presentation By: Jason Abbett. Definition A process to rapidly develop software Many kinds of agile methods but few are practiced.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
Software Testing Process
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
CS223: Software Engineering Lecture 18: The XP. Recap Introduction to Agile Methodology Customer centric approach Issues of Agile methodology Where to.
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Software Development.
AGILE SCRUM METHODOLOGY
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Appendix B Agile Methodologies
Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Introduction to Software Engineering
Teaching slides Chapter 1.
Chapter 3: Agile Software Processes
Appendix B Agile Methodologies
Agile software development
Chapter 5: New and Emerging Process Methodologies
System Development Methods
Presentation transcript:

SE 470 Software Development Processes James Nowotarski 05 May 2003

Course Map Overview. Introduction. History Content. Rational Unified Process. Extreme Programming Implementation. Tools, Training, Roles. CMM, Metrics. Selection & Evaluation Briefings (Term Papers) Assignments Quizzes Week Memorial Day

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

Topic Duration Recap15 minutes Who reads methodology and why30 minutes Deployment, adoption, use45 minutes *** Break10 minutes Deployment, adoption, use (cont.)45 minutes Term Project10 minutes Quiz40 minutes Today’s agenda

Topic Duration Recap15 minutes Who reads methodology and why30 minutes Deployment, adoption, use45 minutes *** Break10 minutes Deployment, adoption, use (cont.)45 minutes Term Project10 minutes Quiz40 minutes Today’s agenda

ApproachReferences XPwww.extremeprogramming.org CrystalA. Cockburn, Agile Software Development, Addison-Wesley, 2001 SCRUMK. Schwaber and M. Beedle, Agile Software Development with Scrum, Prentice Hall, Adaptive Software Development J. Highsmith, Adaptive Software Development, Dorset House, FDDS. Palmer, A Practical Guide to Feature-Driven Development, Prentice Hall, Agile - Generalhttp:// Lightweight Methods

What is XP Rapid feedback Assume simplicity Incremental change Embrace change Quality work First Principles

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

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

What is XP Life cycle phase Cost of change Req Anal.Des. Impl.Test Prod y = ax p

What is XP Time Cost of change XP purports to change the curve so that the cost to find and repair software problems does not rise dramatically over time

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

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

RUP vs. XP AttributeRUP (“Heavyweight”)XP (“Lightweight”) Time and Effort Allocation 2 weeks-6 months2 weeks - 2 months ArchitectureStabilized during Elaboration phase Just enough to support functionality Scope of Activities and Artifacts BroadNarrow Omits: Business modeling Deployment Project sizeSmall to Very LargeSmall to Medium Artifacts25-30 in small project roadmap roughly 30 Roles~ 30 (5 in small project roadmap) 7

Topic Duration Recap15 minutes Who reads methodology and why30 minutes Deployment, adoption, use45 minutes *** Break10 minutes Deployment, adoption, use (cont.)45 minutes Term Project10 minutes Quiz40 minutes Today’s agenda

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

Who Reads Methodology and Why TrainingReference Planning8%36% Selling6%20% Doing6%13% Managing2%9% Methodology is used mostly by planners and mostly for reference purposes Source: Gezinus Hidding, Loyola University Roles How Used

Who Reads Methodology and Why ProcessArtifactGuidelineConcept Planning43%37%14%7%7% Selling48%35%12%5% Doing40%34%16%10% Managing42%34%18%6% Process descriptions and artifacts are the most valuable types of information Source: Gezinus Hidding, Loyola University Reference

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

Topic Duration Recap15 minutes Who reads methodology and why30 minutes Deployment, adoption, use45 minutes *** Break10 minutes Deployment, adoption, use (cont.)45 minutes Term Project10 minutes Quiz40 minutes Today’s agenda

Overview Configuration Implementation Kruchten, Chapter 17 Hardest Part

Configuration Configure for organization/organizational unit Configure for project

Why is Implementation so hard? Process change affects behavior Target audience lacks time Not a “sexy” topic

Kruchten’s Implementation Steps 1.Assess the current state 2.Set (or revise) goals 3. Identify risks 4.Plan the process implementation 5.Execute the process implementation Current process New process Completely Implemented 6.Evaluate the process implementation

Kruchten’s Implementation Steps Current process New process Completely Implemented 1.Assess the current state 2.Set (or revise) goals 3. Identify risks 4.Plan the process implementation 5.Execute the process implementation 6.Evaluate the process implementation

1. Assess the current state AssetsDeploymentUsage Bus. Modeling Requirements Analysis & Design etc. One approach to assessment: Look at assets, deployment of assets, and usage of assets Scorecard/Gap Analysis

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?

Technology Process People 1. Assess the current state The focus of SE 470 is the process component of software engineering SE 470

Technology Process People 1. Assess the current state Methodology introduces new capability into targeted units

Technology Process People 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

Technology Process People 1. Assess the current state People and Technology elements must be addressed also Tools Standards Reusable components Alignment with other frameworks

Kruchten’s Implementation Steps Current process New process Completely Implemented 1.Assess the current state 2.Set (or revise) goals 3. Identify risks 4.Plan the process implementation 5.Execute the process implementation 6.Evaluate the process implementation

Kruchten’s Implementation Steps Current process New process Completely Implemented 1.Assess the current state 2.Set (or revise) goals 3. Identify risks 4.Plan the process implementation 5.Execute the process implementation 6.Evaluate the process implementation

Elements of an Implementation Plan Sponsorship Marketing & Communication Education & Training Coordination with other initiatives Rollout schedule Support Metrics

Elements of an Implementation Plan Sponsorship – Executive level – Visibility – Accountability

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)

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

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)

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”

Elements of an Implementation Plan Support – Local experts – Central help desk – Need to capture feedback (“experience factory”) -- Fixes -- Enhancements -- Innovations

Elements of an Implementation Plan Metrics – Training – Awareness – Usage – Local experts time allocation – Help desk requests – Errors/Enhancements

Technology Process People 4. Plan the process implementation Methodology introduces new capability into targeted units

Kruchten’s Implementation Steps Current process New process Completely Implemented 1.Assess the current state 2.Set (or revise) goals 3. Identify risks 4.Plan the process implementation 5.Execute the process implementation 6.Evaluate the process implementation

Kruchten’s Implementation Steps Current process New process Completely Implemented 1.Assess the current state 2.Set (or revise) goals 3. Identify risks 4.Plan the process implementation 5.Execute the process implementation 6.Evaluate the process implementation

Kruchten’s Implementation Steps Phase 1 Phase 2Phase 3Phase 4 Implementing a process is a project The group of people working on implementing the process should be dedicated

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

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

Topic Duration Recap15 minutes Who reads methodology and why30 minutes Deployment, adoption, use45 minutes *** Break10 minutes Deployment, adoption, use (cont.)45 minutes Term Project10 minutes Quiz40 minutes Today’s agenda

Term Paper Summary: A briefing on a significant, currently relevant software development methodology or process-related framework not covered in class Deliverables: Paper Presentation and Discussion (30 minutes) Topic Ideas: SCRUM Feature Driven Development Adaptive Software Development Crystal SEI Team Software Process SEI Personal Software Process

Term Paper Paper Outline: 1.Abstract 2.Historical Background 3.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

Topic Duration Recap15 minutes Who reads methodology and why30 minutes Deployment, adoption, use45 minutes *** Break10 minutes Deployment, adoption, use (cont.)45 minutes Term Project10 minutes Quiz40 minutes Today’s agenda

CMM Assignment 3 Topics for May 12

Extra Slides

Rational Unified Process