Transitions to Agile software development always seems complicated when it comes to QA. There are a lot of DOs and DON'Ts but it always seems that 2-3 weeks is not enough for all. In this presentation I cover how a change your mindset and on how you look at the typical problems you can address your challenges with ease and create a mindful process for your organization
CALL ON ➥8923113531 🔝Call Girls Charbagh Lucknow best sexual service
QA in Agile World
1. Eli Bauer, July 25 2012
QA In Agile Worlda mindset change to facilitate mindfulness in your process
2.
3. Take Aways
✤ How to create QA mindset that enables your teams to
be successful
✤ How to help navigate all the interlocking QA efforts
throughout a release without having lengthy code
freeze downtimes
✤ How to facilitate mindfulness within your QA efforts
4.
5. How often have you heard
✤ Is it okay to split stories into development and testing and complete them in the next sprint?
✤ We cannot accept the story because we didn’t manage to test it on time?
✤ We found last minute defect, so we need to carry over the story to next sprint?
✤ We had to do a last minute change of requirement and didn’t have time to test it?
✤ We carried over a story for a day left testing and two weeks into the next iteration we are still working on
it?
✤ We are a week away from release and still are finding issues?
✤ We are a day away from release and developers are still committing changes in the code?
✤ We can never seem to accommodate all the testing efforts within the time frame required, no matter how
long the sprint is?
✤ …
7. Time Boxed Development
✤ Limited time for code turn around
✤ Inadequate test coverage
✤ Sprints Become little waterfalls
✤ Working on performance and resolving performance
issues
8. Ownership of testing
✤ Inherited devision of roles
✤ Skill set required
✤ Feeling of isolation and separation
✤ Beating the negativity drum
10. Continuous Integration/Deployment
✤ Broken builds
✤ Inadequate automation
✤ Strict organizational policies of approval
✤ Lack of proper infrastructure: build servers,
maintenance and version control, test server etc…
12. The rest
✤ Complexity of environments
✤ Product Complexity
✤ Compatibility Testing
✤ Integration Testing with 3rd party components
✤ Documentation
✤ Review and acceptance
✤ Training preparations
✤ Standard compliance and Auditing
✤ ….
13. How do you make time for it all and
still be successful and move fast?
16. Dictionary:
The maintenance of a desired level of quality in a
service or product, especially by means of attention to
every stage of the process of delivery or production.
17. Wikipedia:
Quality assurance (QA) is a way of preventing mistakes or defects in
manufactured products and avoiding problems when delivering solutions or
services to customers; which ISO 9000 defines as "part of quality management focused on providing confidence that quality requirements will
be fulfilled".[1] This defect prevention in quality assurance differs subtly from defect detection and rejection in quality control, and has been referred to as a shift left as
it focuses on quality earlier in the process.[2] The terms "quality assurance" and "quality control" are often used interchangeably to refer to ways of ensuring the quality
of a service or product.[3] For instance, the term "assurance" is often used as follows: Implementation of inspection and structured testing as a measure of quality
assurance in a television set software project at Philips Semiconductors is described.[4] The term "control", however, is used to describe the fifth phase of the DMAIC
model. DMAIC is a data-driven quality strategy used to improve processes.[5]
Quality assurance comprises administrative and procedural activities
implemented in a quality system so that requirements and goals for a product,
service or activity will be fulfilled.[3] It is the systematic measurement, comparison with a standard, monitoring of processes and
an associated feedback loop that confers error prevention.[6] This can be contrasted with quality control, which is focused on process output.
Quality assurance includes two principles: "Fit for purpose" (the product should
be suitable for the intended purpose); and "right first time" (mistakes should be
eliminated). QA includes management of the quality of raw materials, assemblies, products and components, services related to production, and
management, production and inspection processes two principles also manifest before the background of developing (engineering) a novel technical product: The task
of engineering is to make it work once, while the task of quality assurance is to make it work all the time.[7]
Suitable quality is determined by product users, clients or customers, not by
society in general. It is not related to cost, and adjectives or descriptors such as "high" and "poor" are not applicable. For example, a low priced
product may be viewed as having high quality because it is disposable, whereas another may be viewed as having poor quality because it is not disposable.[citation
needed]
19. Agile Alliance:
Agile Software Development is an umbrella term for a set of methods and practices based on the
values and principles expressed in the Agile Manifesto.
Solutions evolve through collaboration between self-organizing, cross-functional teams
utilizing the appropriate practices for their context.
20. Wikipedia:
Agile software development describes a set of values and principles for software development under
which requirements and solutions evolve through the collaborative effort of self-organizing cross-functional
teams.[1] It advocates adaptive planning, evolutionary development, early delivery, and continuous
improvement, and it encourages rapid and flexible response to change.[2]
The term agile (sometimes written Agile)[3] was popularized by the Agile Manifesto,[4] which defines those
values and principles. Agile software development frameworks continue to evolve,[5] two of the most widely
used being Scrum and Kanban.[6]
21. Agile Manifesto and Principles
1. Our highest priority is to satisfy the customer through early and continuous delivery of
valuable software.
2. Welcome changing requirements, even late in development. Agile processes harness
change for the customer's competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a
preference to the shorter timescale.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and support they
need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to and within a
development team is face-to-face conversation.
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and users
should be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10.Simplicity--the art of maximizing the amount of work not done--is essential.
11.The best architectures, requirements, and designs emerge from self-organizing teams.
12.At regular intervals, the team reflects on how to become more effective, then tunes and
adjusts its behavior accordingly.
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.
25. So this is the goal: To make money by increasing net profit,
while simultaneously increasing return on investment, and
simultaneously increasing cash flow.
– Eliyahu M. Goldratt
28. The 3 Elements of the Mindful Process
✤ Lean Thinking
✤ Managing the Constraints
✤ Empowering the Team
29. The Lean Mantra
✤ Question the status quo
✤ Eliminate waste
✤ People FIRST
30. Critical Chain Management
✤ Emphasis on what is needed to do the tasks
✤ Use of implicit dependancies
✤ Good enough is good enough
✤ Identification of buffers
✤ Managing projects by managing buffers
31. Critical Chain Management
✤ Identify the constraint
✤ Exploit the constraint
✤ Subordinate the system to the constraint
✤ Elevate the constraint
✤ Repeat!
32.
33. I say an hour lost at a bottleneck is an hour out of the entire
system. I say an hour saved at a non-bottleneck is worthless.
Bottlenecks govern both throughput and inventory.
– Eliyahu M. Goldratt
35. “If you are building a culture where honest expectations are
communicated and peer accountability is the norm, then the
group will address poor performance and attitudes.”
– Henry Cloud
36. The Process
✤ Understand your constraints
✤ Understand expectations
✤ Quality Strategy
✤ Common ground and understanding of what is good enough
✤ Formalizing the implicit dependancies/constraints
✤ Creates understanding of what needs to be done in order to successfully plan and assess the timeframe
✤ Planning the buffers
✤ Involve the TEAM
✤ Get Real Estimates
✤ Get your buffers in!
39. “Perhaps what you measure is what you get. More likely,
what you measure is all you’ll get. What you don’t (or can’t)
measure is lost”
– H. Thomas Johnson
40. The ability to simplify means to eliminate the unnecessary so
that the necessary may speak.”
– Hans Hofmann
41. ✤ Embrace that you have no control! (unless you are actually the one
doing the work)
✤ Measure towards the change you are driving!
✤ Measures take time to be helpful, it’s okay to
overmeasure but maintain focus to what matters