Intro to Agile
-
Upload
carl-bruiners -
Category
Business
-
view
2.339 -
download
1
Transcript of Intro to Agile
Introduction to Agile Development
What is Agile?
3
What is Agile Development?• Self Organizing*
• Empowering
• Collaborative
• Active Customer Involvement
• Frequent Delivery
• Incremental
• Time-Based*
• Disciplined
• Continuous Integration*
• Feature Driven
• Adaptive
• Goal Driven
• Iterative
• Lean
• Emergent Approach
4
Traditional “Waterfall” Approach
Months to working deliverable software
5
How Agile Differs from Traditional Development Approach
Traditional – Sequential Method
Agile – Iterative Method
6
Manifesto for Agile Software Development
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
http://agilemanifesto.org/
7
Agile Principles
• Customer satisfaction by rapid, continuous delivery of useful software
• Working software is the principle measure of success
• Changes in requirements are anticipated and welcomed
• Close, daily cooperation between business and developers
• Face-to-face conversation is the best form of communication
• Self-organizing teams
• Regular adaptation to changing circumstances
8
Agile Development Includes…• Continuous Innovation and Integration
Deliver current customer requirements
• Decreased communication latency Stakeholders actively involved in development
• Testing integrated into the development process
Doesn’t need or include a separate QA cycle
Continuous integration, multiple builds
• Product adaptability Doesn’t preclude future requirements
Adapts to changing requirements
Agile Development
SCRUM Roles
10
What is Scrum?
• An Agile process for software development
• Projects progress via a series of iterations called “sprints”
• Each sprint is typically 2-4 weeks in duration
• Scrum Team typically includes 5-9 people with cross-functional skills
• Scrum Master facilitates the process
11
Scrum Team
• Responsible for product delivery
• Cross-functional Skills
• Self-organizing
• Daily face-to-face communication
• Small size helps foster collaboration
12
Scrum Master
• Not the Team Leader
• Acts as a buffer between the team and any distracting
influences
• Facilitates the process
• Helps remove obstacles to team’s sprint delivery goals
• Ensures team focus
• Not responsible for the teams delivery
13
Product Owner
• Key stakeholder
• Represents the voice of the customer
• Identifies customer-centric requirements
• Ensures Scrum Team work is aligned with needs of the business
• Creates “User Stories”
• Prioritises the “Product Backlog”
Agile Development
SCRUM Process
15
Agile Development
16
Story Creation
Story
A User Story is a simple statement about what a user wants to do with a feature of the software, written from a user's perspective.
All stories should be Independent, Negotiable, Valuable, Estimable, Small, Testable
Story Points
Relative size of stories vs. each other
Sized by the team and used to understand capacity and estimate schedules
17
Story Breakdown
Independent
Negotiable
Valuable
Estimable
Small
Testable
18
Cone Of Uncertainty
19
Product Backlog
• Master list of desired product functionality
• Initiates the development process
• High priority items are used to create the Sprint Backlog
• Product Backlog grows and changes as more information is acquired
20
Product Backlog - Example
21
Sprint Planning Meeting
• Assess team availability and capacity for next iteration
• Review prioritized backlog – commit to deliver stories
• Turn stories into a series of tasks for iteration
• Ownership of tasks along with risks
22
Sprint Backlog Example of Sprint Backlog in Excel
• Lists tasks that will be completed during current sprint
• Items drawn from Product Backlog
23
Burndown Chart
• Used to approximate conclusion of estimated backlog of work
• Each point in the chart represents a sprint
24
Daily Meetings
• Brief (10-15 min) daily meeting
• Assures continual team communication
• Drives accountability (peer-pressure, visibility)
• Demonstrates day-to-day progress to all team members and stakeholders
25
Identifying Potential Obstacles
• My ____ broke and I need a new one today.
• I still haven't got the software I ordered a month ago.
• I need help debugging a problem with ______.
• I'm struggling to learn ______ and would like to pair with someone on it.
• I can't get the vendor's tech support group to call me back.
• Our new contractor can't start because no one is here to sign her contract.
• I can't get the ____ group to give me any time and I need to meet with them.
• The department VP has asked me to work on something else "for a day or two."
26
Scrum Board
27
Scrum Board - Example
28
Sprint Review Meeting
• Review the work that was completed and not completed
• Present the completed work to the stakeholders (a.k.a. "the demo")
• Incomplete work cannot be demonstrated
• Feedback is reviewed and put back into backlog
• Use to continually stay on course – deliver higher business value
• Two hour time limit
29
Retrospective meeting
• Team reviews iteration successes and short falls
• What could be done different in subsequent iteration?
• Build in continuous improvement to agile process
• Vital to success of agile development
30
Summary of Agile Advantages
• Get to see working Software every 2 weeks
• Implement by feature not by task (design, code, test)
• Feedback to development team sooner
• Collaboration with customer – deliver only what’s needed
• Quality as part of process – testing is continuous
• Continuous improvement built into cycle
Agile Projects are 37% Faster to Market than Industry Average*
*QSM Associates
31
Further reading…
http://www.mountaingoatsoftware.com/blog/ - Mike Cohn (Agile, Scrum, TDD)
http://www.carlbruiners.com - Carl Bruiners (Agile, Scrum, Kanban, BDD)
http://dannorth.net - Dan North (Agile, BDD)
http://www.threeriversinstitute.org - Kent Beck (Agile, XP)
http://scrum.jeffsutherland.com - Jeff Sutherland (Agile, Scrum)
http://www.clarkeching.com - Clarke Ching (Agile, TOC, Scrum)
http://theagilepirate.net - Simon Cromarty (Agile, Scrum, Kanban, BDD)
http://cognitive-edge.com/blog/author/19/ - Dave Snowden (Future of software development)