Agile Software Development - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

Agile Software Development

Description:

Agility is a comprehensive response to the business challenges of ... 1980's Plenty of bad music and haircuts. Defense Spending during Regan Administration ... – PowerPoint PPT presentation

Number of Views:270
Avg rating:3.0/5.0
Slides: 20
Provided by: RBD
Category:

less

Transcript and Presenter's Notes

Title: Agile Software Development


1
Agile Software Development
  • Bob Schatz
  • VP of Development

2
Introduction to Agility
  • Agility is a comprehensive response to the
    business challenges of profiting from rapidly
    changing, continually fragmenting, global markets
    for high-quality, high-performance,
    customer-configured goods and services
  • Agility is the ability to both create and respond
    to change in order to profit in a turbulent
    business environment
  • Agile projects are not controlled by conformance
    to plan but by conformance to business value
  • Agility is a way of life, a constantly emerging
    and changing response to business turbulence

3
Software Development Landscape
  • From the well-known Standish CHAOS Report 1994
  • Software projects fail
  • Cancelled - 31 Late or lacking of features
    53
  • Industry has only delivered on-time and on-budget
    16 of the time!
  • In 1995, this cost American companies well over
    150 billion
  • 94 of 100 projects will have restarts
  • Average cost overrun is 189
  • 3 top reasons for failure
  • Lack of user (sponsor) involvement
  • No executive management support
  • Unclear, incomplete, changing requirements
  • Typical software project experiences a 25
    change in requirements
  • 45 of features defined in early specs are never
    used

4
Bridge to Success
  • The Standish Group concluded that keys to success
    are
  • Shorter time frames
  • Delivery of software components early and often
  • Iterative process
  • Growing" software vs. "developing" software
  • Engage the user earlier
  • Clear statement and set of objectives for
    components
  • Keep it simple! - Complexity confusion and
    cost

5
What About Standardization?
  • Department of Defense Specifications
  • International Standards Organization (ISO)
  • Software Engineering Institute (SEI) Capability
    Maturity Model (CMM) 5 Levels
  • Project Management Institute (PMI) Body of
    Knowledge (PMBOK)
  • Many derivatives as each company has created
    their own versions
  • Standards have tried to capture the best
    practices of software development
  • Organizations have tried to use these as
    prescriptive methods for success.and often
    failed

6
Three Flawed Assumptions
  • It is actually possible to plan a large project
    well enough that success is primarily
    determined by degree of conformance to plan
  • It is possible to protect against late changes
    to a large system project
  • It make sense to lock in big project decisions
    early

7
Typical Project Lifecycle
  • Slow start as everyone attempts to make sense of
    what problem is being solved
  • Struggle to interpret users requirements and
    translate into specification language
  • Development team begins to build system, but soon
    realizes that solution cannot be delivered in
    allocated time
  • Changes come in at rapid pace Defects grow at a
    increasing rate
  • Final months become a battle against the
    bugsovertime and weekends are the automatic
    responselife is miserablebut the end is near
  • Pep talks from management about how great the
    team is when faced with adversity. Asks you to
    step up once more and show how you meet
    challenges
  • System is delivered Quality is questionable
    Users are not satisfied years of maintenance
    and patches neededwe celebrate!
  • Project Post-Mortem
  • On to the next project, where the same steps will
    be repeated

8
20th Century Software Development
  • 1960s Ad Hoc Code-and-Fix Programming
  • 1970s Waterfall or sequential lifecycle model
  • Taught as the the ideal approach a way to
    explain the creative process
  • Adopted by the US Department of Defense
  • Assumed low-change, low-novelty, and
    low-complexity work
  • 1980s Plenty of bad music and haircuts
  • Defense Spending during Regan Administration
  • Commercial Software, Hardware, and Network
    companies forming
  • 1990s US Department of Defense changes
  • Based on failure rate, changed to iterative
    development preference
  • Standish Report comes out in 1994
  • Dot-com companies producing high-speed,
    high-quality products to meet market needs and
    survivehow?

9
Software Development and dot-com
  • In the dot-com era.
  • Investors and developers paid little attention
    to ROI thinking
  • High demand for technical people
  • Young, energetic workforce
  • Get rich nowsacrifice everything
  • Eat plenty of Pizza!
  • Big Spending
  • Pressure to get something to market quickly
  • After the bubble burst
  • End of the Y2K Fear
  • September 11 Impact
  • Downsizing, Rightsizing, Global Competition
  • Back to business basics
  • What did we learn?

10

An emerging wave
  • Iterative Development
  • An approach in which the overall lifecycle is
    composed of several iterations, each a
    mini-project
  • Incremental Development
  • Concept of growing a system through a series of
    Iterations
  • Agile Development
  • Time-boxed Iterative, Incremental development
    that include values and practices that encourage
    rapid and flexible response to change
    flexibility/maneuverability to compete
  • In IT Scrum, XP, RUP, DSDM, FDD, Crystal
  • In Construction Last Planner
  • Results
  • 88 of organizations cited improved productivity
  • 84 cited improved quality
  • 83 cited increase in overall business
    satisfaction

11
  • Values of Agile Development
  • While there is value in the items on the right,
  • we value the items on the left more.

12
Business of Software Development
  • Early software companies are technology-driven
  • Business people have to respond to what
    developers give them
  • Focus on innovation and novelty
  • Development as a black box activity
  • Focus then shifts to market-driven
  • Solutions to improve speed at which businesses
    can move
  • Business people define product needs to
    Development
  • IT departments became a cost to company bottom
    line
  • Project Portfolio Management
  • Feature Portfolio Management
  • Incremental Funding Models
  • Collaborative delivery of value
  • Offshore development to save on costs
  • Accountability and Visibility

13
Development at Primavera
  • Ironicallywe build project management software!
  • A leader in using agile development techniques
  • Work closely with thought leaders in the software
    development community
  • Specialize in Scrum and XP
  • Mentor customers who are starting on their own
    agile projects
  • Successfully integrated project management and
    agile processes
  • Results
  • Ability to respond quickly to changing customer
    needs
  • Discipline to manage successful software projects
  • Consistently deliver products on time with the
    quality that our customers expect
  • An open work environment to maximize the
    communication among team members
  • A creative development team that enjoys their
    work, with good work/life balance
  • Project stakeholders and customers have
    visibility into progress and the opportunity to
    give early feedback

14
Isnt it Ironic?
  • Primavera THE Project Management people
  • Why do you need agile?
  • We figured you guys must be the successful 9 in
    enterprise software project success
  • Oh, so Project Management really doesnt work?
  • Isnt it hypocritical for you to use agile?
  • Youre not going to tell anyone about this, are
    you?
  • Are you trying to get fired??
  • You need to begin with a clear visionand
    prepare for a lot of pain!

15
Our Vision
  • Create a world-class development organization
  • Establish a reputation outside company
  • Not only for our software, but the way we build
    it
  • Develop quality software that meets the needs of
    customers
  • Provide great service to our customers
  • Create an environment of excitement fun
    success learning
  • Create opportunities for growth

16
Scrum Process
  • Key Practices
  • Self-directed self-organizing teams
  • 15 minute daily stand up meeting with 3
    special questions
  • 30-calendar day iterations
  • Each iteration begins with adaptive planning
  • Stakeholder demo at end of each iteration
  • Team measures progress daily
  • Each iteration delivers tested,
    fully-functional software
  • Never more than 30-days from potential
    production release

17
Benefits and Challenges of Scrum
  • Benefits
  • Increased productivity through teamwork and focus
  • Increased satisfaction through transparency and
    involvement
  • Increased ROI through early delivery of high
    value functionality
  • High quality throughout the development cycle
    using Test-First
  • High energy, exciting process
  • People know the importance of their work
  • Opportunity to improve every 30 days
  • Challenges
  • Leading the change
  • Good news, you know where you are.Bad news, you
    know where you are
  • Identifies all areas of improvement for
    engineering practices
  • Change in culture
  • Hard work

18
De-Cubiclization 2004
19
How can you be prepared?
  • Software development education and practice have
    become increasingly disconnected, both in
    language and values, from those who define and
    articulate the need for the software

Developers Methodologies Classes Use Cases
Business Owners Marketable Features Cash Flow
Return on Investment
20
Software Education
  • Need to focus on Collaboration and Coordination
  • Students
  • Software development is a creative and
    interactive people process
  • Flexibility in programming, testing, and
    documentation skills
  • Working with others on a cross-functional team
  • Active listening and conflict resolution
  • Business basics
  • Communication
  • Faculty
  • Projects that bring Computer Science and Business
    together
  • Include project estimation and costing
    decision-making exercises
  • Enforce understanding of WHY project is important
  • Focus on delivering iterative value
  • Role-based, group assignments vs. Individual
  • Teach agile techniques

21
Questions?
Recommended Reading Agile Project Management with
Scrum Schwaber Agile Software Development with
Scrum Schwaber Agile Software Development Martin
Agile Project Management Chin Agile Project
Management Highsmith Agile SW Development
Ecosystems Highsmith Agile and Iterative
Development Larman Software by
Numbers Denne/Huang
Write a Comment
User Comments (0)
About PowerShow.com