Experiences From Agile Projects Great & Small (OSDC 2009)
-
Upload
craig-smith -
Category
Technology
-
view
2.106 -
download
0
description
Transcript of Experiences From Agile Projects Great & Small (OSDC 2009)
Experiences from Agile ProjectsGreat & Small
Craig SmithSuncorp
Dr. Paul KingASERT
Welcome…
Image http://blog.theworkinggroup.ca/wp-content/uploads/2009/04/agile-manifesto1.gif
Agile Manifesto
Agile Pyramid
Practices
Principles
Values
Approach
Image http://media.photobucket.com/image/pyramid%20agile/lalframes/GreatPyramid.jpg
Image http://blogs.conchango.com/Admin/ImageGallery/blogs.conchango.com/Colin.Bird/Scrum%20Overview%20Diagram.png
Scrum Practices
Image Beck, Kent – Extreme Programming Explained: Embrace Change
XP Practices
Agile Lifecycle - Concept
5%
Image http://legacy.lclark.edu/faculty/jsmiller/objects/idea_bulb.jpg
Agile Lifecycle - Initiate
10%
Image http://propertymanagementgroups.com/MonopolyGO.jpg
Agile Lifecycle - Deliver
Image http://www.xdin.com/Portals/4/Images/develop-n-deliver.JPG
80%
Agile Lifecycle - Deploy
Image http://www.pcfixexpress.com/images/happy_office.jpg
5%
Agile Team
Core Team
Extended Team
Project Manager
SupportAnalystOther key
stakeholders
Application Owner
Enterprise Architect
Iteration Manager
Techlead
Infra-structure
Lead
Bus.SME
SoftwareEngineer
Architect
Tester
Business Analyst
ProgramManager
Project Sponsor
Image http://www.befitlifestyle.com/images/CorporateTeamHands.jpg
Collaboration
Concept Initiate Deliver Deploy
Storycards & iteration management
Development environments
Development tools
Testing
Continuous integration
Deployment
MonitoringImage http://3.bp.blogspot.com/_H0iqHTCqRyo/RfQyLHm8POI/AAAAAAAAABQ/-ZGsV-p-aVs/s400/evolution.jpg
Agile Tools Timeline
Image http://www.flickr.com/photos/87791108@N00/1182442244/
AgileTeam
Practices
Daily Standup / Scrum
Daily Sitdown
Image http://frederatorblogs.com/monsters/files/2008/04/conferencecall.jpg/
Post Standup StandupImage http://www.nogeekspeak.com.au/uploaded_images/image/Geek%20Speak.jpg /
Iteration Open/Kickoff/Demo
Combine MeetingsImage http://www.acousticsciences.com/articles/weak-link-chain.JPG
Retrospective
Iteration Length / Define DoneImage http://www.xqa.com.ar/visualmanagement
Image http://www.redmolotov.com/images/designs/turn-it-up-to-eleven-tshirt_design.jpg
Software Development
Practices
Developer Practices
100% code coverage from unit
tests
All production code paired and
test-driven
Minimal design up front but an appreciation
for when such design made sense
Customer focused outcomes
Full continuous integration
Daily pair rotation
Continuous improvement through retrospectives
High levels of automation
Light-weight metrics to monitor progress
Increase ProductivityBoundary testing
Inversion of controlAuto mock creation
Disposable testsAutomate immutability,
cloneability & null checking
Autogenerate random test data
Collaboration
Image http://imgs.xkcd.com/comics/compiling.png
http://img.dailymail.co.uk/i/pix/2007/07_01/hammerDM0607_468x584.jpg
Developmentenvironments
Developmenttools
Image http://www.cornetdesign.com/images/bowling_all2s.jpg
http://4.bp.blogspot.com/_9kQQgQD35rY/SaV5p8YBGhI/AAAAAAAAAkg/HOvlhIo7yGI/s1600-
h/06_Red_Green_Refactor.JPG
Clover
IDE Plugins
RYO IDE Plugins
• d
VCS: FishEye/SVNStat
Image http://blogs.msdn.com/blogfiles/willy-
peter_schaub/WindowsLiveWriter/VSTSRangersProjectsWCFLoadTestToo.0Ships_7D80/CLIPART_OF_13165_SM_2
.jpg
Testingtools
Selenium
JMeter
Continuous integration
Hudson
Image http://www.serena.com/images/products/dimensions-deploy/deploy-illustration2-286-23.jpg
Deployment tools
Tableaux
[...]
<configuration>
<container>
<containerId>tomcat5x</containerId>
<type>remote</type>
</container>
<configuration>
<type>runtime</type>
<properties>
<cargo.remote.username>username</cargo.remote.username>
<cargo.remote.password>password</cargo.remote.password>
</properties>
</configuration>
<deployer>
<type>remote</type>
<deployables>
<deployable>
<groupId>war group id</groupId>
<artifactId>war artifact id</artifactId>
<type>war</type>
<properties>
<context>optional root context</context>
</properties>
<pingURL>opt. url to ping to know deployed</pingURL>
<pingTimeout>opt. timeout (default 20000ms)</pingTimeout>
</deployable>
[...]
> mvn cargo:deploy
Cargo
Feature: Deployment
In order to use the latest version of testApp
A support officer should be able to
Check that testApp.war has been deployed to the remote machine
Scenario: User deploys
Given app testApp
When I deploy
Then the testApp.war file should be deployed to remote
Cucumber Feature
Cucumber / Capistrano Step Definition[...]
When /^I deploy$/ do
Dir.chdir(@app_dir) do
system "cap deploy:setup"
system "cap deploy"
end
end
Then /^ the testApp.war file should be deployed
to remote$/ do
[...]
Deployment Tests
Image http://www.monitoringsoftwareonline.com/files/QuickSiteImages/computer_plus_magnifying.jpg
Monitoring tools
Splunk
Beginner
Collaboration
Development tools
Testing
Intermediate
Storycards & iteration
management
Development environments
Continuous integration
Advanced
Deployment
Monitoring
Tools Maturity
Project Characteristics
Image http://kenyonreview.org/blog/wp-content/uploads/2008/12/daylight-savings-time.jpg
Project Duration
Image http:// www.dilbert.com
Project Type
Resistance
Image http://www.espacelaurent.com/pushback.jpg
Image http://www.community-links.org/linksuk/wp-content/images/kiss.jpg
Design Constraints
Image http://api.ning.com/files/IR6j1-Mhm*VYT3GrA0Sw3H8BN8oNNT0dmyiVrzFELl*K2Jytrg4DWxeivLmwsB-LCSzEcB9YlM-
My5vti1VmjGIRgnFy6rgd/thecubes.jpg
EquipmentTools
Facilities
Distributed Teams
Image http://www.geos.ed.ac.uk/homes/tcrowley/earth.jpg
Distributed Pairing: DocShare
Distributed Pairing: Virtual Dev
Collaboration: Story Walls
Virtual Collaboration: XPlanner
Virtual Collaboration: Jira
Virtual Collaboration: Agilo
Virtual Collaboration: Confluence
Distributed Retrospectives
Virtual Planning poker
Facilities
Image http://i.telegraph.co.uk/telegraph/multimedia/archive/00998/Tesco-bread_998381c.jpg
People&
Roles
Image http://www.vimeo.com/user1195135/videos
Influence (@waterfalldave)
Image http://www.flickr.com/photos/10916984@N03/998818127/
Agile Coach / Experience
Image http://tulsatimeapr.files.wordpress.com/2009/09/customer-service.jpg
Co-Located Customer
Image http://www.agile-software-development.com/2007/03/what-if-my-agile-development-colleagues.html
Embracing The Wider Team
Wider Team: Test / QA
Image http://tucowsinc.com/news/wp-content/uploads/2007/03/qa-analyst.jpg
Image http://www.stellman-greene.com/blog/wp-content/uploads/2007/08/business-analyst.png
Wider Team: Business Analyst
Wider Team: Infrastructure
Image http://incredimazing.com/static/media/2009/03/15/a236aad0d04d6fe/So_You_Want_To_Be_A_Network_Engineer.jpg
Image http://www.icef.com/uploads/pics/berlin_2007_training_03.JPG
Wider Team: Change Manager
Wider Team: Usability
Image http://www.infodesign.com.au/images/usabtest.gif
Image http://www.ekidnaworld.com/media/image/explore_characters_pickme_05-01-2009-10-19-37_large.jpg
Attracting Quality Staff
Third Party Vendors
Image http://www.investmentz.co.in/ImagesAsit/VendorsL.jpg
Image http://www.freefoto.com/images/04/33/04_33_13---Euro-Coins_web.jpg
Change
Bottom Up
Image http://www.xqa.com.ar/visualmanagementImage http://home.pacbell.net/fantomdj/dk/donkey_kong_barrel.gif
Top Down
Image http://www.xqa.com.ar/visualmanagementImage http://www.greenenergyinvestors.com/index.php?act=Print&client=printer&f=2&t=2991
Image http://www.sourcejuice.com/wp-content/uploads/2008/03/share-expertise1.jpg
Share & learn from
experiences
Image http://www.northshorecity.govt.nz/SiteCollectionImages/Services/Transport/Public%20Transport/transit-lane-sign.jpg
That’sTime...
Want More Information?
Craig Smithhttp://www.suncorp.com.auhttp://[email protected]@smithcdau
Dr. Paul Kinghttp://[email protected]@paulk_asert
Acknowledgments
Suncorp is one of Australia and New Zealand's largest diversified financial services providers, supplying banking, insurance and wealth management products to around 7
million customers through well-established and recognised brands such as AAMI, Australian Pensioners Insurance Agency, Shannons, Vero, Asteron and Tyndall, as well as
Suncorp and GIO. Today, Suncorp is Australia's fifth largest bank and second largest domestic general
insurance group, with over 16,000 staff. Suncorp has representation in 450 offices, branches and agencies
throughout Australia and New Zealand.
ASERT is one of Australia’s leading suppliers of development services, mentoring and training in Agile,
Web Services, Web Applications, Java, Groovy and Grails.