5. +VALUE: Intro - Better SDLC …
All LC dysfunctions are
visible in testing
Dysfunction = opportunity
for cost reduction
Powerpoint Templates
Page 5
6. +VALUE: Better SDLC
Learn how to quantify
dysfunctions in $$$
Powerpoint Templates
Page 6
7. +VALUE: Maximize value for users
Identify the target user
Identify the problems of
the target user
Base your testing activities on
this information
Powerpoint Templates
Page 7
8. +VALUE: Maximize value for users
Identify the target user
Identify the problems of
the target user
Base your testing activities on
this information
Powerpoint Templates
Page 8
10. +VALUE: To the project
Intrinsic
Informing the decision
making process
Powerpoint Templates
Page 10
11. +VALUE: To the decision making process
Assessing the quality of the
product as it is developed
Assessing the trend of quality
during development
Identifying schedule slippage
Powerpoint Templates
Page 11
12. +VALUE: To the people you work with
Add value to your fellow testers
Add value to all the roles in the
project
Powerpoint Templates
Page 12
13. ?
What else
can you do
to increase value
?
Powerpoint Templates
Page 13
14. + VALUE: IMPROVE YOURSELF !
Adopt the attitude of a
service provider !
Strive for excellence !
Become a better person !
Powerpoint Templates
Page 14
15. RECAP:
You’re part of an
ecosystem
Improve yourself, not
only your testing
Powerpoint Templates
Page 15
To your companyTo the project you’re working onTo the people you interact with… and to somewhereelse that I’m going to keep a secret for now
Better testingImproving the development lifecycleMaximizing value delivered to the users
Better testingMaximize testing ROIPrioritize your testing – test high visibility, high impact and high risk areas firstMinimize testing wasteDon’t run tests that don’t provide valuable new information about the SUTDon’t run the same tests multiple timesDon’t let confirmation tests make the majority of your test cases (especially true for requirements based testing)
All lifecycle disfunctionality is painfully visible during one phase of testing or anotherEvery lifecycle disfunctionality is an oportunity for cost reduction
Learn how to identify these disfunctions and how to quantify them in money -> This will motivate stakeholders to take action and improve thingseg: requirements documents don’t contain the appropriate level of detail =>Developers understand one thing from them and they go ahead and implement itYou, the tester, understand something else from the same requirements, so you execute your tests, of course things don’t work as expected so you log bugs; these bugs get to a developer who spends time to understand your bug report only to arrive at the realization that things work as she intended – so she dismisses your bug as invalid; you, being the customer advocate, try to convince the developer to see things your way and you argue and when no agreement is reached, you go the product manager (author of the requirements) for arbitration. And then you learn that the PM desired a totally diferent outcome. So everything that you and the developer did is a waste. Quantify it in MONEY!I quarantee that next time they’ll write better requirements. Or they’ll someone else to do it Eg: Change control: keep track of what changed, what’s the impact and minimizing the changes of regressionIt leads to bugs being caught by development (which we all know is cheaper than any other means of catching bugs)It minimizes the scope of testing (you run fewer tests -> it takes less time -> less money is spent on testing)
Maximize the value provided for clients/usersIdentify and get clarity on the target user - what her role(job) is, what she has to deliverIdentify and get clarity on the problems the target user is facing, which of those your product will address and how will those problems be solvedUse the above information as the basis for your testing activities
Maximize the value provided for clients/usersIdentify and get clarity on the target user - what her role(job) is, what she has to deliverIdentify and get clarity on the problems the target user is facing, which of those your product will address and how will those problems be solvedUse the above information as the basis for your testing activities
All projects happen within the same type of constrains: functionality<->time<->resources<->quality
You bring value to the project intrinsicly through running tests and reporting bugsYou can add more value through providing valuable information that informs the decision process
Assesments of the quality of the product as it is developedYou have to providesome qualitative measure for the product under testUpdate on the trend of the quality of the product as it’s developed: is quality increasing or is it decreasing?You can identify schedule slippageStart off by planning your testing effort: what testing activities you’ll do and what are some relevant milestones for itMonitor your progress against the plan and you’ll find yourself in 1 of 2 situationsDelays from the testing activity (they take more time than initially thought)Delays from everybody else – easy to spot in situations where you cannot start a test activity on schedule because you lack so prerequisite (like a requirements document, a necessary tool, a required setup, a functional build of the SUT)Critical is to realize the semnification of such inconsistencies against the plan and clearly communicate them to all relevant stakeholders in the projectIt’s also important to adjust your plan immediately – don’t fool yourself thinking you’ll be able to recover from a delay. Make sure you communicate this change in plans and that all stakeholders are aware of it
Add value to your fellow testersBe deliberate about everything you do – before you start an activity make sure it’s clear to you why are you doing it, what’s the end result you are expectingAt the end of that activity check to see if the end goal was achieved. Wether it was or it wasn’t, learn from it.Share what you learn with your peers and next time do it betterAdd value to every other role within the projectDon’t expect people in other roles what it means to do good testingDon’t expect people to know what you need in order to do your job wellSo, each time they do something that makes it harder for you to do a good job, explain it to them.Eg: When a project manager lets the development team slip schedule milestones, thus reducing time for testing and doesn’t reduce the functionality to be implemented explain to them how that impacts testingEach time when they ask something outrageous of you, explain it to them why that’s something that cannot be deliveredEg: When a product manager asks you if you completely tested the product, explain it to them why complete testing is impossible, but complement it with what you do to counter this harsh realityInclude in every interaction a bit of teaching others about testingExplain to developers how much you appreciate it when they add details of how they fixed a problem and how that helps to inform your testingExplain to product/project managers what it means that 15% of the fixes included in a new build were still reproducing (quantify it as waste (what it costs that you executed the tests and the bugs is still there) and as loss – now you know you’ll have to rerun these tests at some later point in time, when you could, and most probably, should be running some other tests)Explain to product/project managers how bug stats, test coverage stats, trends, etc provide information about the quality of the product and of the quality of the development process/lifecycleEtc
Improve yourselfAdopt the attitude of a service providerConsider every component of your ecosystem as one of your clientsAlways ask yourself: In the current context, with the information I have, how can I generate the most value for me and my clients, both short term and long term?Strive for excellenceBefore thinking of doing something new, or something more than what you’re currently doing, invest in becoming the best at what you’re doingBecome a better personLive a fuller life, a happier life, a more peaceful life.Be gentler to others