19
Agile Software Development Bob Schatz VP of Development

Presentation

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Presentation

Agile Software Development

Bob SchatzVP of Development

Page 2: Presentation

project success = business successTM

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

Page 3: Presentation

project success = business successTM

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

Page 4: Presentation

project success = business successTM

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

Page 5: Presentation

project success = business successTM

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

Page 6: Presentation

project success = business successTM

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

Page 7: Presentation

project success = business successTM

Typical Project LifecycleSlow start as everyone attempts to make sense of what problem is being solved

Struggle to interpret user’s 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 bugs…overtime and weekends are the automatic response…life is miserable…but 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; User’s are not satisfied; years of maintenance and patches needed…we celebrate!

Project Post-Mortem

On to the next project, where the same steps will be repeated

Page 8: Presentation

project success = business successTM

20th Century Software Development

1960’s – Ad Hoc Code-and-Fix Programming 1970’s – 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

1980’s – Plenty of bad music and haircuts Defense Spending during Regan Administration Commercial Software, Hardware, and Network companies forming

1990’s – 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 survive…how?

Page 9: Presentation

project success = business successTM

Software Development and dot-comIn the dot-com era….

Investors and developers paid little attention to ROI thinking High demand for technical people Young, energetic workforce Get rich now…sacrifice 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?

Page 10: Presentation

project success = business successTM

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

An emerging wave…

Page 11: Presentation

project success = business successTM

Values of Agile Development

While there is value in the items on the right,

we value the items on the left more.

individuals and interactions

over processes and tools

working software over comprehensive documentation

customer collaboration over contract negotiation

responding to change over following a plan

Page 12: Presentation

project success = business successTM

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

Page 13: Presentation

project success = business successTM

Development at Primavera

Ironically…we 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

Page 14: Presentation

project success = business successTM

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

Page 15: Presentation

project success = business successTM

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

Page 16: Presentation

project success = business successTM

De-Cubiclization 2004

Page 17: Presentation

project success = business successTM

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

Page 18: Presentation

project success = business successTM

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

Page 19: Presentation

project success = business successTM

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