Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 31

Methodology Lite

The quest for efficient and


predictable software development
Lite
 Less filling
 Gets the job done

10/14/08 Fred Turner, fturner@acm.org 2


Methodology
 1980s
 The quest for perfection
 Bloat

10/14/08 Fred Turner, fturner@acm.org 3


Bloat
 Tools for every potential problem
 Inflexible processes
 Delays
 Budget overruns
 Crunch time
 Poor results

10/14/08 Fred Turner, fturner@acm.org 4


Reality Check
 Symptoms:
 Unused documentation
 Unused models

 Unused design

 Unused processes

 Analysis paralysis

 Missed deadlines

10/14/08 Fred Turner, fturner@acm.org 5


The Agile Manifesto
 Press
 Software Development
 IEEE Software

 Cutter IT Journal

 Software Testing and Quality Engineering

 The Economist

 The Agile Software Development


Alliance

10/14/08 Fred Turner, fturner@acm.org 6


Examples
 Extreme Programming (XP)
 Crystal Methodologies
 Adaptive Software Development
 SCRUM

10/14/08 Fred Turner, fturner@acm.org 7


Extreme Programming (XP)
 Iterative
development
 Minimal documentation
 Small teams of programmers
 Accommodates change

10/14/08 Fred Turner, fturner@acm.org 8


Crystal Methodologies
 Methodology templates
 Factors
 System Criticality
 Team Size

10/14/08 Fred Turner, fturner@acm.org 9


Proposed Crystal Suite

10/14/08 Fred Turner, fturner@acm.org 10


Adaptive Software Development
 Incremental development
 Resolve business issues first
 Keep development team small
 Communication
 Evolve
 Lightest appropriate methodology

10/14/08 Fred Turner, fturner@acm.org 11


SCRUM
 Originsin OO development
 30 days sprints (milestones)
 15 minute daily team meetings
 Daily management updates

10/14/08 Fred Turner, fturner@acm.org 12


Common Themes
Individuals and favored processes and
interactions over tools
Working favored comprehensive
software over documentation
Customer favored contract
collaboration over negotiation
Responding to favored following a plan
change over

10/14/08 Fred Turner, fturner@acm.org 13


Case Study
 Project
 Develop an enterprise-wide product
database with globally accessible user
interface
 Role
 Project Manager, Business Analyst, and
QA Lead

10/14/08 Fred Turner, fturner@acm.org 14


Approach
 Business Analysis
 Establish a vision
 Define phases
 Define processes as needed
 Facilitation
 Documentation as needed
 Prototype
 QA

10/14/08 Fred Turner, fturner@acm.org 15


Challenges
 Keyprogrammers weren’t available
 Managers wanted to know
 Whatthey are going to get
 When they are going to get it

 How much it’s going to cost

 Stakeholders wanted a single project


contact

10/14/08 Fred Turner, fturner@acm.org 16


Phases
 90 day implementation cycles
 Business process improvement
 Product data enhancement
 Build toward an end vision

10/14/08 Fred Turner, fturner@acm.org 17


Phase 1
 Goals/Objectives
 Automate product data loads
 Add product attributes

 Build infrastructure

 Support e-commerce

 Improve business processes

10/14/08 Fred Turner, fturner@acm.org 18


Documentation Deliverables
Manage & Design Develop & Implement
 Project Charter  Detailed Design
 Project Plan  Test Plan
 Prototype  User Guide
 Data Model  Implementation
 Functional Guide
Specifications  Technical
Documentation

10/14/08 Fred Turner, fturner@acm.org 19


Phase 2
 Scope changes
 An initial requirement remained undefined
 New requirements arose
 Bug fix
 Team changes
 Lost lead developers
 Business environment changes
 Reorganization
 Budget priorities

10/14/08 Fred Turner, fturner@acm.org 20


Closure
 Two successful implementations
 Engagement ended due to budget
constraints
 Left technical documentation to support
maintenance
 Left business documents to support
future funding

10/14/08 Fred Turner, fturner@acm.org 21


Critical Success Factors
 Flexibility during analysis and design
 Management support
 Strong technical team
 Small, manageable phases
 Flexible processes
 Communication
 QA
 User training
 Useful documentation

10/14/08 Fred Turner, fturner@acm.org 22


Closing Thoughts
 Software development isn’t manufacturing
 Minimize non-software deliverables
 Deliver in increments
 Stay focused
 Communicate
 Adapt to people’s needs
 Leverage the team’s experience and talent

10/14/08 Fred Turner, fturner@acm.org 23


When To Add Process
 System failure risks life or money
 Unresolved business issues
 Team over 50
 Fixed implementation date
 Deliverable milestones over 90 days
 Fixed budget
 Team needs

10/14/08 Fred Turner, fturner@acm.org 24


When To Lighten Up
 Minimal system risk
 Minimal schedule risk
 Minimal budget risk
 Clear requirements
 Small tight-knit team
 90 day, or less, milestones

10/14/08 Fred Turner, fturner@acm.org 25


Implications For Data Analysis
 Stay flexible
 Communicate
 Contribute
 Solution oriented
 Maintain team focus
 Maintain project focus

10/14/08 Fred Turner, fturner@acm.org 26


References
 Agile Methodologies – general
 http://www.martinfowler.com/articles/newMetho

 http://www.agilealliance.org/

10/14/08 Fred Turner, fturner@acm.org 27


References
 Extreme Programming
 Kent Beck, Extreme Programming
Explained: Embrace Change (Addison
Wesley, 1999).
 Kent Beck and Martin Fowler, Planning
Extreme Programming (Addison Wesley,
2001).
 www.xprogramming.com
 www.extremeprogramming.org

10/14/08 Fred Turner, fturner@acm.org 28


References
 Crystal Methodologies
 Cockburn, Alistair, Surviving Object-
Oriented Projects, Addison-Wesley, 1998.
 http://members.aol.com/acockburn/

 http://crystalmethodologies.org/

 http://www.usecases.org/

10/14/08 Fred Turner, fturner@acm.org 29


References
 Adaptive Software Development
 Highsmith, J., Adaptive Software
Development, Dorset House, 1999.
 Highsmith, J.,Retiring Lifecycle Dinosaurs,
Software Testing & Quality Engineering
Magazine, July 200,

10/14/08 Fred Turner, fturner@acm.org 30


References
 SCRUM
 http://www.controlchaos.com/

 http://jeffsutherland.com/scrum/index.html

 Foote, B., Rohnert, H., Harrison, N.,


Pattern Languages of Program Design 4,
Addison Wesley, 1999.

10/14/08 Fred Turner, fturner@acm.org 31

You might also like