21
Scrum and Agile Engineering Practices What every ScrumMaster needs to know about Agile engineering practices Washington DC Scrum User Group September 23, 2013

Dc scrum agile_eng_20130923

Embed Size (px)

DESCRIPTION

Scrum and Agile Engineering Practices - What every ScrumMaster needs to know Some Agile teams fail to figure out or implement technical practices that are necessary for long term success. Practices like automated builds, automated tests, automated deployments, continuous integration, and continuous delivery are now considered essential for the success of any software development project. Join us for a tour of software engineering best practices. We'll discuss what these practices are and their impact on scope, schedule, cost, resources and quality. We'll also share some ideas on how to start adopting these practices and how to incrementally introduce them and gradually improve your team's software development process.

Citation preview

Page 1: Dc scrum agile_eng_20130923

Scrum and Agile Engineering Practices

What every ScrumMaster needs to know about Agile

engineering practices

Washington DC Scrum User Group

September 23, 2013

Page 2: Dc scrum agile_eng_20130923

Exercise 1: Scrum Diagram

Who can draw Scrum? ◊ Let’s form teams ◊ Draw a diagram representing Scrum

Page 3: Dc scrum agile_eng_20130923

Scrum Framework

* Diagram from Scrum Primer From the Scrum Primer

Page 4: Dc scrum agile_eng_20130923

Scrum Elements

Page 5: Dc scrum agile_eng_20130923

"Sorry, if you don't use Agile engineering practices, if you don't have high-bandwidth communication, and if you don't include a strong customer voice, you're not going to succeed. Try something else instead.”

Scrum Requires Agility

James Shore, co-author of The Art of Agile Development (O’Reilly, 2007).

Page 6: Dc scrum agile_eng_20130923

Tonight’s First Big Question

Does Scrum say anything about Agile engineering practices?

Page 7: Dc scrum agile_eng_20130923

Scrum Alliance: CSD

"Certified Scrum Developers have demonstrated through a combination of formal training and a technical skills assessment that they have a working understanding of Scrum principles and have learned specialized Agile engineering skills."

http://www.scrumalliance.org/certifications/practitioners/csd-certification

Page 8: Dc scrum agile_eng_20130923

Exercise 2: Scrum Diagram

Who can draw Scrum? ◊ Let’s form teams ◊ Draw a diagram representing Scrum What do you know about Agile Engineering Practices? ◊ Ideally, where does the team perform them? ◊ Where does the team benefit from them? ◊ Where does the team improve them? ◊ Let’s annotate the Scrum diagram

Page 9: Dc scrum agile_eng_20130923

Agile Engineering Practices

◊ SOLID design principles ◊ Test driven development ◊ Testing code in isolation ◊ Integration testing ◊ Automated testing ◊ Code smells and

refactoring

◊ Code reviews and pair programming ◊ Working effectively with

legacy code ◊ Automated builds ◊ Continuous integration ◊ Automated

deployments ◊ Continuous delivery

Page 10: Dc scrum agile_eng_20130923

Definition of Done

Definition of Done for the PBI

Security Testing

Integration Tested

Stress Testing

Acceptance Criteria

Definition of Done for the Sprint

Definition of Done for the Release

Page 11: Dc scrum agile_eng_20130923

Definition of Done

Definition of Done for the PBI

Definition of Done for the Sprint

Definition of Done for the Release

Security Testing

Integration Tested

Stress Testing

Acceptance Criteria

Page 12: Dc scrum agile_eng_20130923

Agile Manifesto

Individuals and interactions over Process and tools

Working software over Comprehensive documentation

Customer collaboration over Contract negotiation

Responding to change over Following a plan

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

That is, while there is value in the items on the right, we value the items on the left more.

http://agilemanifesto.org/

Page 13: Dc scrum agile_eng_20130923

3 Pillars of Scrum

Transparency Inspection Adaptation

Page 14: Dc scrum agile_eng_20130923

Ex 3: Vision versus Reality

◊ What challenges might new/better engineering practices solve? (vision) ◊ What challenges are you experiencing? (reality)

Page 15: Dc scrum agile_eng_20130923

For management …

◊ Visibility and reporting ◊ Control and correction ◊ Efficiency and speed ◊ Planning and predictability ◊ Customer satisfaction

Page 16: Dc scrum agile_eng_20130923

Impact on …

Page 17: Dc scrum agile_eng_20130923

Impact on …

Page 18: Dc scrum agile_eng_20130923

Impact on …

Page 19: Dc scrum agile_eng_20130923

Impact on …

Page 20: Dc scrum agile_eng_20130923

Impact on …

Page 21: Dc scrum agile_eng_20130923

Tips for introducing them …

◊ Test count bar graph ◊ Improve the definition of done ◊ Test-driven bug fixing ◊ One new/different Agile eng practice per Sprint ◊ Pair program one user story per Sprint ◊ Test coverage graph ◊ Automate tasks that are repeated or error prone ◊ Static code analysis and monitoring (graph/chart) ◊ Backward-pass delivery and automation