Upload
sriks7
View
18.154
Download
3
Tags:
Embed Size (px)
Citation preview
The Agile (Scrum) [email protected]
Activities in Agile testing
Changing role of tester
Key success factors
Q&A
Agile development process
Activities in Agile testing
Changing role of tester
Key success factors
Q&A
Agile development process
Traditional Development
• Requires knowing everything upfront• Fixed requirements, estimated time
and resources• Freezing requirements and
controlling changes from early stage• Status measured at life cycle
phases• Working software delivered only at
end of development cycle
Traditional Model Limitations
• Impossible to anticipate and estimate all tasks early in big projects
• Difficult to define requirements precisely without customers getting Hands On feel of product
• Changes later in the development cycle could be expensive to handle
• Different roles engaged in different phases thereby losing continuity across development cycle
• Working software delivered only at end of cycle
The Agile Manifesto
Process and toolsIndividuals and interactions over
Following a planResponding to changeover
Source: www.agilemanifesto.org
Comprehensive documentation
Working softwareover
Contract negotiationCustomer collaborationover
Popular Agile Methodologies
• Scrum• Project Management framework
• Crystal Clear• Focus on people and not processes or artifacts
• Extreme Programming• Dev centric, focus on reducing cost of change
• Feature Driven Development• Dev based on client valued functionality
• Lean• Applying lean manufacturing practices to SW engg.
We would explore Scrum in detail today
Scrum Characteristics
• Product progresses in a series of month-long “sprints”
• Requirements are captured as items in a list of “product backlog”
• No specific engineering practices prescribed
• Uses generative rules to create an agile environment for delivering projects
• Self-organizing teams
Sprints
• Scrum projects make progress in a series of “sprints”• Analogous to Extreme Programming iterations
• Typical duration is 2–4 weeks or a calendar month at most
• A constant duration leads to a better rhythm• Product is designed, coded, and tested during the
sprint
Scrum framework
• Product owner• ScrumMaster• Team
Roles
• Sprint planning• Sprint review• Sprint retrospective• Daily scrum meeting
Events
• Product backlog• Sprint backlog• Burndown charts
Artifacts
Scrum framework
• Sprint planning• Sprint review• Sprint retrospective• Daily scrum meeting
Ceremonies
• Product backlog• Sprint backlog• Burndown charts
Artifacts
• Product owner• ScrumMaster• Team
Roles
Roles
• Product Owner• Defines features and release plans• Prioritize features every iteration as needed• Accept or reject work results
• Scrum Master• Responsible for enacting Scrum values and practices• Ensure that the team is fully functional and productive• Enable close cooperation across all roles and functions
• Team Cross-functional:Programmers, testers, user experience
designers, etc. Members should be full-time Teams are self-organizing
• Product owner• ScrumMaster• Team
Roles
Scrum framework
• Product backlog• Sprint backlog• Burndown charts
Artifacts
• Sprint planning• Sprint review• Sprint retrospective• Daily scrum meeting
Events
Sprint planning meeting
Sprint prioritization
• Analyze and evaluate product backlog
• Select sprint goal
Sprint planning
• Decide how to achieve sprint goal (design)
• Create sprint backlog (tasks) from product backlog items (user stories / features)
• Estimate sprint backlog in hours
Sprintgoal
Sprintbacklog
Business conditions
Team capacity
Product backlog
Technology
Current product
Sprint planning
Sprint Events
• Daily scrum meeting• Daily review meeting for 10-15 mins• Status review and not for problem solving• All sprint team members participate
• Sprint review• Demo of new features to customer/product owner• Team presents work accomplished during the sprint• All major stakeholders participate
• Sprint retrospective• Periodic post mortem to review what's working and what's not• Done after every sprint• All major stakeholders participate
• Product owner• ScrumMaster• Team
Roles
Scrum framework
• Sprint planning• Sprint review• Sprint retrospective• Daily scrum meeting
Ceremonies
• Product backlog• Sprint backlog• Burndown charts
Artifacts
Product backlog
• A list of all desired work on the project
• Ideally expressed such that each item has value to the users or customers of the product
• Prioritized by the product owner• Reprioritized at the start of each
sprint
This is the product backlog
Activities in Agile testing
Changing role of tester
Key success factors
Q&A
Agile development process
22© 2006 Oracle Corporation – Proprietary and Confidential
QA Activities in Agile Testing
• Provide effort estimates during release and sprint plan• Collaborate with business analysts and developers in
defining requirements and designs• Prepare test conditions based on design discussions
• Just in time test cases only for current sprint and not entire project
• Execute test conditions and report issues• Usually, test driven development
• Automate feature specific test cases• Report status, impediments in daily standup meetings• Participate in Sprint review meeting
Activities in Agile testing
Changing role of tester
Key success factors
Q&A
Agile development process
Changing role of tester
Waterfall Agile
Work in homogeneous team of testing pro’s
Work in cross functional team of biz analysts, developers, testers etc.
Role predominantly involves testing
Expanded role involves design def/review, write/review code and testing
Quality Cop: Last line of defense for Software Quality
Quality Partner: Quality responsibility of entire sprint team
Test cases prepared from well documented req’s and designs
Test cases prepared from user stories, req & design discussions, minimal documentation.
Clearly defined entry and exit criteria for testing phase
Testing is collaborative effort with other functions, no phase gates
Changing role of tester
Agile
Test execution after code complete for project, back loaded
Iterative testing by feature and not entire project, evenly spread
Waterfall
Testing essentially Top Down – Business flows, Integration points and then units
Testing essentially Bottom Up – Units, Integration points and then flows
Minimal involvement in Unit testing Active participation in unit testing
System level Automation test scripts, after code is stabilized
Automation from unit testing level, as code is getting built
Report progress by testing phase Report progress by Feature complete rather than testing completion
Activities in Agile testing
Changing role of tester
Key success factors
Q&A
Agile development process
Key success factors• Comfort in incremental and Iterative development
• Test in small packages but do not lose sight of big picture
• Comfortable with speed and just in time delivery
• Design and Coding skills • At minimum, good analytical and review skills
• Handling Abstraction• Requirements and designs are evolved rather than assumed to
be an input
28© 2006 Oracle Corporation – Proprietary and Confidential
Key success factors• Minimal reliance on documentary support
• Rely on meetings and interactions for requirements and design specifications rather than structured documents
• Interpersonal skills• Ability to get things done in a group which is self organized
• Communication and Collaboration skills
• Focus on project deliverable and not phase deliverable