05.04.2015 Views

Agile methods are - David F. Rico

Agile methods are - David F. Rico

Agile methods are - David F. Rico

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

A 1-Hour Introduction<br />

for Executives, Sr.<br />

Managers, and Staff<br />

Dr. <strong>David</strong> F. <strong>Rico</strong>, PMP, ACP, CSM<br />

Twitter: @dr_david_f_rico<br />

Website: http://www.davidfrico.com<br />

LinkedIn: http://www.linkedin.com/in/davidfrico<br />

Facebook: http://www.facebook.com/profile.php?id=1540017424


Author Background<br />

DoD contractor with 28+ years of IT experience<br />

B.S. Comp. Sci., M.S. Soft. Eng., & D.M. Info. Sys.<br />

Large gov’t projects in U.S., Far/Mid-East, & Europe<br />

Published six books & numerous journal articles<br />

Adjunct at George Washington, UMUC, & Argosy<br />

<strong>Agile</strong> Program Management & Lean Development<br />

Specializes in metrics, models, & cost engineering<br />

Six Sigma, CMMI, ISO 9001, DoDAF, & DoD 5000<br />

Cloud Computing, SOA, Web Services, FOSS, etc.<br />

2


Agenda<br />

<strong>Agile</strong> Introduction<br />

<strong>Agile</strong> Life Cycles<br />

<strong>Agile</strong> Practices<br />

<strong>Agile</strong> Summary<br />

3


Today’s Whirlwind Environment<br />

Work Life<br />

Imbalance<br />

Global<br />

Competition<br />

Vague<br />

Requirements<br />

Overruns<br />

Attrition<br />

Escalation<br />

Runaways<br />

Cancellation<br />

Demanding<br />

Customers<br />

Organization<br />

Downsizing<br />

Technology<br />

Change<br />

System<br />

Complexity<br />

4


Need for a New Model<br />

Need for a new model of system development<br />

Cope with high-level of uncertainty and ambiguity<br />

With just the right balance of flexibility and discipline<br />

R&D Oriented People Centered Adaptive Customer Friendly Fast & Efficient Disciplined<br />

New discoveries<br />

Highly-talented people<br />

Global threats<br />

Customer interaction<br />

New technology<br />

Lightweight strategy<br />

Complex problems<br />

Cross-functional teams<br />

Market threats<br />

A lot of communication<br />

Quick decision-making<br />

Lightweight plans<br />

One-off systems<br />

Small team size<br />

New customer needs<br />

Customer demos<br />

Iterative delivery cycles<br />

Lightweight lifecycles<br />

Vague requirements<br />

A lot of communication<br />

Changing scope<br />

Customer feedback<br />

Frequent deliveries<br />

Security engineering<br />

Incomplete information<br />

Interpersonal trust<br />

Changing technology<br />

Business value focus<br />

Fast delivery schedules<br />

Light requirements<br />

High uncertainty<br />

Rich collaboration<br />

Changing regulations<br />

Customer satisfaction<br />

Short timelines<br />

Light architecture<br />

Experimentation<br />

Empowered decisions<br />

Continuous change<br />

Customer responsive<br />

Fast time-to-market<br />

Lightweight design<br />

Simulations<br />

Sustainable pace<br />

Flexible culture<br />

Customer sensitivity<br />

First-mover capability<br />

Code reviews<br />

Prototyping<br />

Daily interaction<br />

Flexible attitudes<br />

Customer relationships<br />

Minimal process costs<br />

Rigorous V&V<br />

Innovation oriented<br />

Rich communications<br />

Flexible policies<br />

Customer contact<br />

Low work-in-process<br />

-<br />

Rigorous CM<br />

New products<br />

Face-to-face interaction<br />

Flexible processes<br />

Customer involvement<br />

Flexible processes<br />

Rigorous QA<br />

Creative solutions<br />

Cohesiveness<br />

Flexible technologies<br />

Customer driven<br />

Market responsiveness<br />

Project reviews<br />

Augustine, S. (2005). Managing agile projects. Upper Saddle River, NJ: Pearson Education.<br />

Chin, G. (2004). <strong>Agile</strong> project management: How to succeed in the face of changing project requirements. Broadway, NY: Amacom.<br />

DeCarlo, D. (2004). Extreme project management: Using leadership, principles, and tools to deliver value in the face of volatility. San Francisco, CA: Jossey-Bass.<br />

Highsmith, J. A. (2010). <strong>Agile</strong> project management: Creating innovative products. Boston, MA: Pearson Education.<br />

5


What is Agility?<br />

A-gil-i-ty (ə-'ji-lə-tē) Property consisting of quickness,<br />

lightness, and ease of movement; To be very nimble<br />

<br />

• The ability to create and respond to change in order to<br />

profit in a turbulent global business environment<br />

• The ability to quickly reprioritize use of resources when<br />

requirements, technology, and knowledge shift<br />

• A very fast response to sudden market changes and<br />

emerging threats by intensive customer interaction<br />

• Use of evolutionary, incremental, and iterative<br />

delivery to converge on an optimal customer solution<br />

• Maximizing the BUSINESS VALUE with right-sized, justenough,<br />

and just-in-time processes and documentation<br />

<br />

Highsmith, J. A. (2002). <strong>Agile</strong> softw<strong>are</strong> development ecosystems. Boston, MA: Addison-Wesley.<br />

6


What <strong>are</strong> <strong>Agile</strong> Methods?<br />

People-centric way to create innovative solutions<br />

Market-centric model to maximize business value<br />

Product-centric vs. wasteful processes/documents<br />

<strong>Agile</strong> Methods<br />

‘Values’<br />

<strong>Agile</strong> Methods<br />

‘Principles’<br />

Traditional Methods<br />

‘Values’<br />

Customer<br />

Collaboration<br />

also<br />

known as<br />

Customer<br />

Interaction<br />

valued<br />

more than<br />

Contract<br />

Negotiation<br />

Individuals &<br />

Interactions<br />

also<br />

known as<br />

High Performance<br />

Teams<br />

valued<br />

more than<br />

Processes<br />

& Tools<br />

Working<br />

Systems<br />

also<br />

known as<br />

Iterative<br />

Development<br />

valued<br />

more than<br />

Comprehensive<br />

Documentation<br />

Responding<br />

to Change<br />

also<br />

known as<br />

Adaptability<br />

or Flexibility<br />

valued<br />

more than<br />

Following<br />

a Plan<br />

<strong>Agile</strong> Manifesto. (2001). Manifesto for agile softw<strong>are</strong> development. Retrieved September 3, 2008, from http://www.agilemanifesto.org.<br />

7


When to Use <strong>Agile</strong> Methods?<br />

On exploratory or research/development projects<br />

When fast customer responsiveness is paramount<br />

In organizations that <strong>are</strong> highly-innovative & creative<br />

Traditional Project Management<br />

Predictable situations<br />

Low-technology projects<br />

Stable, slow-moving industries<br />

Low-levels of technological change<br />

Repeatable operations<br />

Low-rates of changing project performance<br />

Long-term, fixed-price production contracts<br />

Achieving concise economic efficiency goals<br />

Highly-administrative contracts<br />

Mass production and high-volume manufacturing<br />

Highly-predictable and stable market conditions<br />

Low-margin industries such as commodities<br />

Delivering value at the point-of-plan<br />

<strong>Agile</strong> Project Management<br />

High-levels of uncertainty and unpredictability<br />

High-technology projects<br />

Fast-paced, highly-competitive industries<br />

Rapid pace of technological change<br />

Research-oriented, discovery projects<br />

Large-fluctuations in project performance<br />

Shorter-term, performance-based RDT&E contracts<br />

Achieving high-impact product/service effectiveness<br />

Highly-creative new product development contracts<br />

Customer-intensive, one-off product/service solutions<br />

Highly-volatile and unstable market conditions<br />

High-margin, intellectually-intensive industries<br />

Delivering value at the point-of-sale<br />

Pine, B. J. (1993). Mass customization: The new frontier in business competition. Boston, MA: Harvard Business School Press.<br />

8


Agenda<br />

<strong>Agile</strong> Introduction<br />

<strong>Agile</strong> Life Cycles<br />

<strong>Agile</strong> Practices<br />

<strong>Agile</strong> Summary<br />

9


Scrum<br />

Created by Jeff Sutherland at Easel in 1993<br />

Has 5 practices, 3 roles, 5 products, rules, etc.<br />

Uses EVM to burn down backlog in 30-day iterations<br />

Schwaber, K., & Beedle, M. (2001). <strong>Agile</strong> softw<strong>are</strong> development with scrum. Upper Saddle River, NJ: Prentice-Hall.<br />

10


Extreme Programming<br />

Created by Kent Beck at Chrysler in 1998<br />

Has 28 practices, 7 roles, and 7 work products<br />

Popularized pair programming and test-driven dev.<br />

User<br />

Stories<br />

Test<br />

Scenarios<br />

Requirements<br />

New<br />

Stories<br />

Bugs<br />

Architectural<br />

Spike<br />

System<br />

Metaphor<br />

Release<br />

Planning<br />

Release<br />

Plan<br />

Iteration<br />

Latest<br />

Version<br />

Acceptance<br />

Tests<br />

Customer<br />

Approval<br />

Small<br />

Releases<br />

Uncertain<br />

Estimates<br />

Confident<br />

Estimates<br />

Next<br />

Iteration<br />

Spike<br />

Beck, K. (2000). Extreme programming explained: Embrace change. Reading, MA: Addison-Wesley.<br />

11


Lean-Kanban<br />

Adapted to IT by Dave Anderson in 2006<br />

Activities, buffers, queues, WIP limits, tasks, etc.<br />

Lean, JIT pull/demand system leading to high quality<br />

Anderson, D. J. (2010). Kanban: Successful evolutionary change for your technology business. Sequim, WA: Blue Hole Press.<br />

12


Agenda<br />

<strong>Agile</strong> Introduction<br />

<strong>Agile</strong> Life Cycles<br />

<strong>Agile</strong> Practices<br />

<strong>Agile</strong> Summary<br />

13


Onsite Customers<br />

Term coined by Kent Beck in 1999<br />

Customer who sits with developers full-time<br />

Fast and efficient way to capture customer needs<br />

Tabaka, J. (2006). Collaboration explained: Facilitation skills for softw<strong>are</strong> project leaders. Upper Saddle River, NJ: Addison Wesley.<br />

14


Release Planning<br />

Created by Kent Beck at Chrysler in 1998<br />

Project plan with a 30-60-90-day timing horizon<br />

Disciplined and adaptable project management F/W<br />

Beck, K., & Fowler, M. (2004). Planning extreme programming. Upper Saddle River, NJ: Addison-Wesley.<br />

15


User Stories<br />

Term coined by Kent Beck in 1999<br />

Functions or features of value to customers<br />

Highly-adaptable requirements engineering process<br />

Cohn, M. (2004). User stories applied: For agile softw<strong>are</strong> development. Boston, MA: Addison-Wesley.<br />

16


Pair Programming<br />

Term coined by Jim Coplien in 1995<br />

Consists of two side-by-side developers<br />

Highly-effective group problem-solving technique<br />

Williams, L., & Kessler, R. (2002). Pair programming illuminated. Boston, MA: Pearson Education.<br />

17


Refactoring<br />

Term coined by William Opdyke in 1990<br />

Process of frequently redesigning the system<br />

Improves readability, maintainability, and quality<br />

Fowler, M. (1999). Refactoring: Improving the design of existing code. Boston, MA. Addison-Wesley.<br />

18


Test-Driven Development<br />

Term coined by Kent Beck in 2003<br />

Consists of writing all tests before design<br />

Ensures all components <strong>are</strong> verified and validated<br />

Beck, K. (2003). Test-driven development: By example. Boston, MA: Addison-Wesley.<br />

19


Continuous Integration<br />

Term coined by Martin Fowler in 1998<br />

Process of automated build/regression testing<br />

Evaluates impact of changes against entire system<br />

Duvall, P., Matyas, S., & Glover, A. (2006). Continuous integration: Improving softw<strong>are</strong> quality and reducing risk. Boston, MA: Addison-Wesley.<br />

20


Agenda<br />

<strong>Agile</strong> Introduction<br />

<strong>Agile</strong> Life Cycles<br />

<strong>Agile</strong> Practices<br />

<strong>Agile</strong> Summary<br />

21


<strong>Agile</strong> Myths<br />

Common myths still abound, although agile <strong>methods</strong><br />

have been around for ~20 years<br />

• <strong>Agile</strong> <strong>methods</strong> <strong>are</strong> only good for rapid prototypes<br />

• <strong>Agile</strong> <strong>methods</strong> <strong>are</strong> only for softw<strong>are</strong> development<br />

• <strong>Agile</strong> <strong>methods</strong> <strong>are</strong> only for small co-located teams<br />

• <strong>Agile</strong> <strong>methods</strong> have no requirements or documents<br />

• <strong>Agile</strong> <strong>methods</strong> need traditional system architectures<br />

• <strong>Agile</strong> <strong>methods</strong> have no project management model<br />

• <strong>Agile</strong> <strong>methods</strong> <strong>are</strong> undisciplined and unmeasurable<br />

• <strong>Agile</strong> <strong>methods</strong> create unmaintainable systems<br />

• <strong>Agile</strong> <strong>methods</strong> result in security vulnerabilities<br />

• <strong>Agile</strong> <strong>methods</strong> mean deliver it fast and fix it later<br />

<strong>Rico</strong>, D. F., Sayani, H. H., & Sone, S. (2009). The business value of agile softw<strong>are</strong> <strong>methods</strong>: Maximizing ROI with just-in-time processes and documentation.<br />

Ft. Lauderdale, FL: J. Ross Publishing.<br />

22


<strong>Agile</strong> Case Studies<br />

80% of worldwide IT projects use agile <strong>methods</strong><br />

Includes highly-regulated industries like U.S. DoD<br />

Even split between top-down and bottom-up adoption<br />

Industry<br />

Org<br />

Project<br />

Purpose<br />

Size<br />

Metrics<br />

Electronic<br />

Commerce<br />

Google<br />

Adwords<br />

Advertising<br />

20 teams<br />

140 people<br />

5 countries<br />

1,838 User Stories<br />

6,250 Function Points<br />

500,000 Lines of Code<br />

Shrink<br />

Wrapped<br />

Primavera<br />

Primavera<br />

Project<br />

Management<br />

15 teams<br />

90 people<br />

Collocated<br />

26,809 User Stories<br />

91,146 Function Points<br />

7,291,666 Lines of Code<br />

Health<br />

C<strong>are</strong><br />

FDA<br />

m2000<br />

Blood<br />

Analysis<br />

4 teams<br />

20 people<br />

Collocated<br />

1,659 User Stories<br />

5,640 Function Points<br />

451,235 Lines of Code<br />

Law<br />

Enforcement<br />

FBI<br />

Sentinel<br />

Case File<br />

Workflow<br />

10 teams<br />

50 people<br />

Collocated<br />

3,947 User Stories<br />

13,419 Function Points<br />

1,073,529 Lines of Code<br />

U.S.<br />

DoD<br />

Stratcom<br />

SKIweb<br />

Knowledge<br />

Management<br />

3 teams<br />

12 people<br />

Collocated<br />

390 User Stories<br />

1,324 Function Points<br />

105,958 Lines of Code<br />

<strong>Rico</strong>, D. F. (2010). Lean and agile project management: For large programs and projects. Proceedings of<br />

the First International Conference on Lean Enterprise Softw<strong>are</strong> and Systems, Helsinki, Finland, 37-43.<br />

23


Benefits of <strong>Agile</strong> Methods<br />

Analysis of 23 agile vs. 7,500 traditional projects<br />

<strong>Agile</strong> projects <strong>are</strong> 54% better than traditional ones<br />

<strong>Agile</strong> has lower costs (61%) and fewer defects (93%)<br />

3.00<br />

2.25<br />

1.50<br />

2.8<br />

1.1<br />

Before <strong>Agile</strong><br />

After <strong>Agile</strong><br />

20<br />

15<br />

10<br />

18<br />

11<br />

Before <strong>Agile</strong><br />

After <strong>Agile</strong><br />

0.75<br />

61%<br />

Lower<br />

Cost<br />

5<br />

39%<br />

Less<br />

Staff<br />

Project Cost in Millions $<br />

Total Staffing<br />

20<br />

18<br />

13.5<br />

Before <strong>Agile</strong><br />

After <strong>Agile</strong><br />

2500<br />

2270<br />

Before <strong>Agile</strong><br />

After <strong>Agile</strong><br />

15<br />

1875<br />

10<br />

5<br />

24%<br />

Faster<br />

1250<br />

625<br />

381<br />

93%<br />

Less<br />

Defects<br />

Delivery Time in Months<br />

Cumulative Defects<br />

Mah, M. (2008). Measuring agile in the enterprise: Proceedings of the <strong>Agile</strong> 2008 Conference, Toronto, Canada.<br />

24


Conclusion<br />

Agility is the evolution of management thought<br />

Confluence of traditional and non-traditional ideas<br />

Improve performance by over an order-of-magnitude<br />

<strong>Agile</strong> <strong>methods</strong> <strong>are</strong> …<br />

Systems development approaches<br />

New product development approaches<br />

Expertly designed to be fast and efficient<br />

Intentionally lean and free of waste (muda)<br />

Systematic highly-disciplined approaches<br />

Capable of producing high quality systems<br />

Right-sized, just-enough, and just-in-time tools<br />

Scalable to large, complex mission-critical systems<br />

Designed to maximize business value for customers<br />

“The world of traditional <strong>methods</strong> belongs to yesterday”<br />

“Don’t waste your time using traditional <strong>methods</strong> on 21 st century projects”<br />

Wysocki, R.F. (2010). Adaptive project framework: Managing complexity in the face of uncertainty. Boston, MA: Pearson Education.<br />

25

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!