Agile Engineering Practices
-
Upload
vernon-stinebaker -
Category
Technology
-
view
7.845 -
download
2
description
Transcript of Agile Engineering Practices
![Page 1: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/1.jpg)
Agile Engineering PracticesHangzhou Scrum Forum 2009
May 2009
![Page 2: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/2.jpg)
2
Agenda
Ground rules Purpose and expected outcomes About the presenter Agile – concepts and methodologies Agile and Engineering Practices
– Scrum– XP– FDD
![Page 3: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/3.jpg)
3
Ground Rules
Mute your cell phone
Participate – ask and answer questions
Do Don’t
![Page 4: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/4.jpg)
4
Purpose and Outcomes
Purpose:– Review key Agile principles– Discuss Agile Software Engineering Practices
Outcomes:– Gain an understanding of key Agile Software Engineering
Practices– Recognize there are multiple sources from which to learn
and implement Agile Engineering Practices – Develop a basic understanding of Feature Driven
Development as an Agile alternative to XP practices (which are often challenging to implement)
![Page 5: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/5.jpg)
5
About Me
Vernon Stinebaker (史文林)http://www.linkedin.com/in/vernonstinebaker– Director of Technology/Principal Architect– 20+ years software development and process experience
• CMMI, SDLC/waterfall, and agile methodologies– Certified ScrumMaster/Certified Scrum Practitioner– 9+ years experience with Feature Driven Development– Founding member of the open source FDDTools project
![Page 6: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/6.jpg)
6
Agile Manifesto
![Page 7: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/7.jpg)
7
Agile Manifesto Principles Our highest priority is to satisfy the customer through early and
continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes
harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of
months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment
and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within
a development team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers,
and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity -- the art of maximizing the amount of work not done -- is
essential. The best architectures, requirements, and designs emerge from self-
organizing teams. At regular intervals, the team reflects on how to become more effective, then
tunes and adjusts its behavior accordingly.
![Page 8: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/8.jpg)
8
First things first…
The most important contributor to the success of projects is…
People!
![Page 9: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/9.jpg)
9
Scrum eXtreme Programming (XP) FDD DSDM Crystal Perficient’s Enable-M …
But they share the same objectives -- those described in the Agile Manifesto
No “one” Agile
![Page 10: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/10.jpg)
10
Today’s Focus
XP
FDD
![Page 11: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/11.jpg)
11
First let’s talk about
Scrum
![Page 12: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/12.jpg)
12
Scrum
3 Roles– Product Owner– ScrumMaster– Team
3 Ceremonies– Sprint Planning– Daily Stand-up– Sprint Demo
3 Artifacts– Product Backlog– Sprint Backlog– Burn-down Charts
![Page 13: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/13.jpg)
13
Scrum in one slide
Mountain Goat Software, LLC
Product Owner
Team
ScrumMaster
![Page 14: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/14.jpg)
14
Scrum is…
Simple, but not easy!
![Page 15: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/15.jpg)
15
Characteristics
Self-organizing teams Product progresses in a series of month-long
“sprints” Requirements are captured as items in a list of
“product backlog” No specific engineering practices prescribed Uses generative rules to create an agile
environment for delivering projects One of the “agile processes”
Mountain Goat Software, LLC
![Page 16: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/16.jpg)
16
OMG! No specific engineering practices prescribed!
![Page 17: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/17.jpg)
17
Source: “The New New Product Development Game” by Takeuchi and Nonaka. Harvard Business Review, January 1986.
Rather than doing all of one thing at a time...
...Scrum teams do a little of everything all the time
Requirements Design Code Test
Sequential vs. overlapping development
Mountain Goat Software, LLC
![Page 18: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/18.jpg)
18
So…
We still have to do– Requirements gathering– Design– Coding– Testing
But how?
![Page 19: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/19.jpg)
19
I like XP!
![Page 20: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/20.jpg)
20
XP Practices
eXtreme Programming describes engineering practices– On-site Customer– Metaphor– 40 Hour Week– Planning Game– Refactoring– Simple Design– Pair Programming– Testing– Short Releases– Coding Standards– Collective Ownership– Continuous Integration
![Page 21: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/21.jpg)
21
Which practices have you implemented?
On-site Customer Metaphor 40 Hour Week Planning Game Refactoring Simple Design Pair Programming Testing Short Releases Coding Standards Collective Ownership Continuous Integration
![Page 22: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/22.jpg)
22
What does the project process look like?
Is this simple? (Easy or not?) What happened to those practices?
![Page 23: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/23.jpg)
23
Scrum doesn’t prescribe engineering practices.
XP is great! But are their alternatives?
![Page 24: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/24.jpg)
24
Feature Driven Development
![Page 25: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/25.jpg)
25
FDD in a slide
Simple?YES!!!
But not easy
![Page 26: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/26.jpg)
26
The whole process in one slide
ETVX. Really simple. Not one book. One slide.– (Well, OK. 10 pages actually.)
FDD Process copyright Nebulon 2009
![Page 27: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/27.jpg)
27
Develop an Overall Model
What’s this? Modeling?
Yes. Agile modeling!
![Page 28: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/28.jpg)
28
Build a Feature List
User valued, user verifiable functionality <action><result><object>
– Calculate the total value of a sale.– Display the result of a translation.
![Page 29: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/29.jpg)
29
Plan by Feature
Features must take less than two weeks– Can be much less
Features are collected into Work Packages – Which are released within two weeks
Resources are the only challenge to scalability– Used successfully on projects with team size of 500+ – An unlimited number of Work Packages may be under
simultaneous development
![Page 30: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/30.jpg)
30
Design by Feature
More Design?– Conversations happen!– Inspection – bench testing (TDD?)– Communication is the second key to successful projects
People are the first!
![Page 31: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/31.jpg)
31
Build by Feature
Class ownership Code inspection Unit Testing Promote to Build
![Page 32: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/32.jpg)
32
What? Traditional Software Engineering Activities?
Design Inspections Testing Builds
Can you implement these?
![Page 33: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/33.jpg)
33
What? Traditional roles?
Customer– SMEs
Project Manager Architect Chief Programmer Developers Testers
Easier for some organizations to accept
![Page 34: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/34.jpg)
34
FDD is…
Evolutionary, not revolutionary Builds on software engineering best practices Makes sense to ‘traditional’ engineers and managers
Agile!
Simple. But not easy.
Can be used to complement Scrum by providing familiar and implementable engineering practices
![Page 35: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/35.jpg)
35
Summary
Scrum doesn’t prescribe engineering practices– so we go looking elsewhere
XP provides engineering practices– But they’re eXtreme.
FDD provides engineering practices– Simple– Evolutionary, not revolutionary– Can augment Scrum with proven, best practice practices
(And can also be used on independently of Scrum)
![Page 36: Agile Engineering Practices](https://reader035.fdocuments.net/reader035/viewer/2022062300/5550cbf6b4c90599308b49d5/html5/thumbnails/36.jpg)
36
Q&A
Thank you!