Daniel Wildt has over 10 years of experience in IT and has been researching and applying Agile methodologies since 2003. He currently works as a software developer and Agile coach at Dell IT in Brazil. He discusses his experiences helping teams at Dell adopt Agile practices on large, global projects. Some successes include using iterations, velocity tracking, and greater communication to overcome challenges with distributed teams and rigid processes. He advocates starting with continuous improvement and empowering teams as ways to introduce Agile values in a large company.
3. Presenter Bio
• 10
10+ years in IT
• Researching Agile since 2003. Applying in projects since 2004.
• Today: Software Developer inside Dell IT (since December 2006)
• Working for an Enterprise Architecture Team
• Working as an Agile Coach for Dell IT Brazil Teams
• Today: FACENSA Faculty (Information Systems graduation course)
• Teaching Agile Methodologies, Software Quality and Software Testing,
Java, Ruby on Rails and .NET
• Study Group Initiatives (Java/PHP/.NET/RoR)
• Today: User Groups initiatives… Delphi, Agile, Java, Testing
4. Software Development Center at Dell Brazil IT
• Center started back in 2002 @ Porto Alegre/RS;
• Develop software (internal use) for approximately
100 countries;
• First Development Center to operate outside US;
• Intensive Automation to support sales processes
(on-line store and call centers);
•Interaction with other Dell 5 development centers.
6. Why all this?
• Why Agile would be a good thing in a global company?
• Lots of projects running in a waterfall way. Agile brings iterative
development. Iterative development brings more communication by itself.
• Better answer to business needs. Time to market. Focus on ROI.
• Continuous improvement. New ideas, new challenges, new opportunities.
• And… why do I care? Hired as a Software Developer, why don't I just shut up
and code?
• P i i Agile C
Previous experience as A il Consultant, li i quot;the cultural changequot;.
lt t living quot;th lt l h quot;
• Always trying to avoid Death March projects (see Edward Yourdon).
• T b ildi f l b tt
Team building, focus on people, better work environment.
k i t
• Enhance Software Quality with the use of right tools and processes.
8. Why all this? I want to see teams finding real needs…
9. Why all this? I want to see teams working together!
With trust!
10. Why all this? I want to see teams establishing
expectations…
expectations with trust!
11. Why all this? I want to see teams finding ways to
become more effective… with trust!
effective
12. Project 1 – What is Agile anyway??
• Environment:
• Distributed team – almost the same timezone (Brazil / US)
• Planned as a 10 month release project. Waterfall lifecycle.
• The team: Business Team + Development Team + Testing Team.
• The Change:
• Avoided changing 100% to quot;Agilequot;. Baby steps to understand culture.
• Changed structure to deliver more during this time. Three iterations with
not fixed size. Better than nothing! ☺ More communication with business.
• Focus on test practices to enhance communication between dev / test.
The l f U it T t Th l fC d C
Th value of Unit Test. The value of Code Coverage to enhance test
t h t t
quality. The value of test scenarios peer review.
13. Project 1 – What is Agile anyway??
• The Change:
• Velocity Calculation to the rescue! Understand project delay faster. Don't
need to wait for a three month milestone to understand that.
• Reality workbook - understanding team velocity/capacity
• Team started to understand the focus on customer, quality and results.
14. Project 2 - Who needs testing anyway?
• Environment
• Distributed team (Brazil / China / US)
• Three month engagement as software developer.
• Waterfall please. No Iterative, thanks.
• The team: Architect + Development Team. No testing team assigned.
• Changes:
• Testing practices applied to increase team communication and
confidence in source code. No test team available.
• Continuous integration (automated build) to increase quality assurance
importance.
i t
• Tools used: PMD, JUnit and Emma integrated with CruiseControl.
15. Project 2 - Who needs testing anyway?
• Changes:
• Metrics generated within every build to show current progress with code.
• Code increased faster, but with quality?
• Copy and Paste detector applied (PMD tool)
• Who needs testing? The important thing is to deliver. Right?
16. Project 3 – Baby steps to Agile world – Success!
• Environment
• Distributed team - Scrum of Scrums concept.
• Product Owners available in 5 different regions around the world. One
Prioritized Backlog. It works!
• Started to use Agile within the development team (only).
• The Changes:
• Weekly cicles to set expectations with dev/test/business.
• Better documentation, testable documents (INVEST). Documentation
enhanced to support business, development and testing perspectives.
One view.
• Quality Assurance with automated builds (CruiseControl + PMD + Emma)
17. Project 3 – Baby steps to Agile world – Success!
• The Changes:
• The code coverage importance (Emma)
• Team committed.
• Team Empowerment (leadership enhanced)
• The importance of short tasks
18. Project 4 – Who needs a schedule?
• Environment
• Distributed Team (Brazil / US)
• One product backlog for every team member
• Priorities changes every… week? Day? Hour?
• Impeded? No impediment resolution. New feature for you. Keep working.
Multi-task, ok?
• The Change:
• Scrum to the rescue
• Ok, but don't use the term Scrum or Agile Methodologies ok?
19. Project 4 – Who needs a schedule?
• The Change:
• Use an one week timebox (for a start). Ok!
• Have an prioritized list of features to work, based on ROI (Return of
Investiment), considering business parameters. Ok!
• At the beginning of the cycle, prioritize work and set expectations with
team (goals). Ok!
t ( l )
• Communicate during the cycle, so team is aware of what is done. Ok!
• At the end of the cycle, check work done and check h
th d f th l h k kd d h k how t i
to improve
(retrospective). Ok!
• So… SCRRRRRUUUUMMMMM!!!!
20. Project 4 – Who needs a schedule?
• The Change:
Before Customers After
Customers
Prioritized
Priorities Functionalities
Person 4
Person 1 / Person 4
Person 1 Person 2 Person 3
Priorities
Person 1
P
Person 2
P
Person 3
P
21. Current State – What I’m doing?
• Agile is an option to use as a software development lifecycle inside the
company
• I'm working as a Coach inside the company, to help teams to adopt Agile
• Focus: metrics and Plan/Do/Check/Act cycles.
• So… start with Continuous improvement. If you improve, benefits will
come.
• Agile practices are used as needed.
• E
Everything starts with principles and values…
thi t t ith i i l d l
• Internal trainings related to Agile inside the company.
• Leading it h b t quot;Agile Testingquot;.
University research group, about quot;A il T ti quot;
L di an U i
22. Resources
• The Agile Manifesto
http://www.agilemanifesto.org
• The Toyota Way – by Jeffrey Liker McGraw Hill, 2004
Liker. McGraw-Hill 2004.
• Implementing Lean Software Development: From Concept to Cash –by Mary
and Tom Poppendieck
http://www.poppendieck.com/ilsd.htm
• Agile Estimating and Planning – by Mike Cohn
• User Stories Applied – by Mike Cohn
23. Resources
• Agile Project Management with Scrum - by Ken Schwaber
• Extreme Programming Explained, Embrace Change – by Kent Beck with
Cynthia Andres
• A Practical Guide to Feature-Driven Development – by Stephen Palmer and
John Felsing.
• Scrum and XP from the Trenches
http://www.infoq.com/minibooks/scrum-xp-from-the-trenches
24. Resources
• eXtreme Programming
http://www.extremeprogramming.org/rules/iterative.html
http://www.xprogramming.com/xpmag/whatisxp.htm
• Lean Development
http://www.poppendieck.com/
http://www.netobjectives.com/resources/lean software development
http://www netobjectives com/resources/lean-software-development
• Scrum
http://www.controlchaos.com/about/
26. Resources
• Edward Yourdon – Death March projects
http://en.wikipedia.org/wiki/Death_march_(software_development)
Check book, for instance the “Death March Meets XP”.
http://books.google.com.br/books?id=FdAZUX9H_gAC
• Invest in good user stories:
http://xp123.com/xplor/xp0308/index.shtml
http://xp123 com/xplor/xp0308/index shtml
• Scrum and CMMI Level 5: The Magic Potion for Code Warriors
http://jeffsutherland.com/2007/09/scrum-and-cmmi-level-5-magic-potion-
for.html
27. Resources
• Using an Agile Software Process with Offshore Development
http://martinfowler.com/articles/agileOffshore.html
• Introduction to Agile for Traditional Project Managers – Stacia Broderick
http://www.infoq.com/news/2008/07/Agile-Stacia-Broderick
• Mapping the PMBOK Knowledge Areas to Agile Practices – Michele Sliger
http://www.sligerconsulting.com/documents/PMBOKtoAgileMapping.pdf
• CRISTAL, Maurício ; WILDT, Daniel ; PRIKLADNICKI, Rafael . Usage of
Scrum Practices within a Global Company In: IEEE International Conference on Global
Company.
Software Engineering (ICGSE), 2008, Bangalore. IEEE International Conference on Global Software
Engineering (ICGSE). Los Alamitos : IEEE Computer Society Press, 2008. v. 1. p. 222-226.
28. Agile experiences inside a Global Company
Daniel Wildt’s perspective
http://www.danielwildt.com
p