Академический Документы
Профессиональный Документы
Культура Документы
AGILE METHODOLOGY
What is Agile?
The agile process is based on the empirical approach, accepting the complexity of the problem and addressing it through frequent inspection and constant adaptation Ken Schwaber
Agile, basic
Adaptive and responsive to change Increase productivity and identifying and prioritizing high value features Positive emergent culture that allows for continuous improvement Avoid the pitfalls of waterfall
More on characteristics
Empirical (relies on observation and experience) Lightweight Adaptive Fast but never hurried Exposes wastefulness Customer-centric Pushes decision making to lower levels Fosters trust, honesty and courage Encourages self-organization
Agile manifesto
Individuals & Interactions Working Software Customer Collaboration Responding to Change over over over over Process & Tools Comprehensive Documents Contract Negotiation Following a Plan
Things on the right are important. Things on the left are more important!!
Agile methodologies
Feature Driven Development (FDD) Extreme programming (XP) Crystal Lean Development SCRUM Rational Unified Process (RUP) Adaptive Software Development (ASD) Dynamic System Development Method (DSDM)
Agile SW Testing
Early involvement
An Agile project begins when testers convert high-level requirements into testable specifications.
Automate everything
(wherever possible)
Responsible for the Release Plan Responsible for managing the Product Backlog Determines business value & priority on a regular basis Provides information to development team for estimation purposes Works with testers to produce clear, testable user stories for each iteration Inspects software regularly (e.g. runs acceptance tests) and provides feedback to the development team
SCRUM
SCRUM is
Scrum is an agile, lightweight process that can be used to manage and control software and product development using iterative, incremental practices Wrapping existing engineering practices, including Extreme Programming and RUP, Scrum generates the benefits of agile development with the advantages of a simple implementation It is adaptive, quick, self-organizing and have few rests
Why SCRUM
It is HOT!
Its work and simple. More practical (practical process model). A rule of thumb or best practices for process inspection and continue adaptation.
SCRUM Characteristics
Self-organizing teams Product progresses in a series of month-long sprints Requirements are captured in a list of product backlog No specific engineering practices prescribed
SCRUM doesnt tell how to develop Software. Find XP, TDD, etc
Scrum Master
Ensures that the team is fully functional and productive Enables close cooperation across all roles and functions and removes barriers Shields the team from external interferences Ensures that the process is followed. Invites to daily scrum, iteration review and planning meetings
Team
Cross-functional, seven plus/minus two members Selects the iteration goal and specifies work results Has the right to do everything within the boundaries of the project guidelines to reach the iteration goal Organizes itself and its work Demos work results to the Product Owner
Key Artifacts
Product backlog List of requirements & issues
Owned by Product Owner Anybody can add to it Only Product Owner prioritizes
Sprint Goal
A short theme for the sprint, typically one line summary:
For example, Make the application run on Oracle in addition to SQL Server
Sprint backlog
List of tasks Owned by team Only team modifies it
Blocks list
List of blocks & unmade decisions Owned by Scrum Master Updated daily
Product Backlog
Sprint Backlog
Key Meetings
Sprint Planning Meeting
Hosted by Scrum Master; -1 day In: Product Backlog, existing product, business & technology conditions
Select highest priority items in Product Backlog; declare Sprint Goal Team turns selected items into Sprint Backlog
Product Backlog Team Capabilities Business Conditions Technology Current Product Sprint Goal
Sprint Backlog
The team should reflect on how to make them most effective. Sit or stand, up to you!
SCRUM Process
Daily Scrum Meeting 24 hours
Burndown Chart
Team presents what it accomplished during the sprint Team demos Increment 2-hour Hold retrospective Announce next Sprint Planning Meeting
5/
900 800 700 752 762 664 619 600 500 400 300 200 100 0
Burndown chart
Progress
Date
Scrum of Scrum
Summary
Roles : Product Owner, ScrumMaster, Team Artifacts : Product Backlog, Sprint Backlog, Block List and Burndown Chart Ceremonies : Sprint Planning, Sprint Review, Sprint Retrospective, & Daily Scrum Meeting
Scrum Masters say Sprint Sprint Backlog Task Breakdown Velocity Burndown Chart
Scrum Masters say Define Backlog, Plan Sprint Develop and Test Move Stickies, have Daily Scrums Demo, Release, have Retrospective
Reduced importance to signoffs and approvals, increased value to collaboration and transparency
Either budget or scope should be flexible
SCRUM IN MY PROJECT
How?
We will commit to any task that we can do We will use tools that works for us We will share each other Document first & document as simple as possible We start development early It seems scrum of scrum will work rather than scrum Minimize testing iteration whenever possible Characterize each CR then reduce work if possible We will not do scrum for small (effort) CR (team less than 3) Detail plan will be discussed after this presentation!
SCRUM team, keep asking these questions: What is the simplest thing that can move the project forward? Does what I am doing right now move the project forward at all? Are there any impediments that are preventing progress?
Escalate impediment even thought they dont really care about it. Sprint is belong to the team and is a teams goal
Dont procrastinate, do something, no matter how small Ken Schwaber, Vienna, April 2004
END