29
The Agile (Scrum) Process [email protected]

Testing in Agile Projects

  • Upload
    sriks7

  • View
    18.154

  • Download
    3

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

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

A sample product backlog

Estimate

A sprint burndown chart

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

29© 2006 Oracle Corporation – Proprietary and Confidential

Questions ?