A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | |||||||||||||||||||||||||||
2 | |||||||||||||||||||||||||||
3 | |||||||||||||||||||||||||||
4 | |||||||||||||||||||||||||||
5 | |||||||||||||||||||||||||||
6 | |||||||||||||||||||||||||||
7 | |||||||||||||||||||||||||||
8 | |||||||||||||||||||||||||||
9 | |||||||||||||||||||||||||||
10 | |||||||||||||||||||||||||||
11 | |||||||||||||||||||||||||||
12 | |||||||||||||||||||||||||||
13 | |||||||||||||||||||||||||||
14 | |||||||||||||||||||||||||||
15 | |||||||||||||||||||||||||||
16 | |||||||||||||||||||||||||||
17 | |||||||||||||||||||||||||||
18 | |||||||||||||||||||||||||||
19 | |||||||||||||||||||||||||||
20 | |||||||||||||||||||||||||||
21 | |||||||||||||||||||||||||||
22 | |||||||||||||||||||||||||||
23 | |||||||||||||||||||||||||||
24 | |||||||||||||||||||||||||||
25 | |||||||||||||||||||||||||||
26 | |||||||||||||||||||||||||||
27 | |||||||||||||||||||||||||||
28 | |||||||||||||||||||||||||||
29 | |||||||||||||||||||||||||||
30 | |||||||||||||||||||||||||||
31 | |||||||||||||||||||||||||||
32 | |||||||||||||||||||||||||||
33 | |||||||||||||||||||||||||||
34 | |||||||||||||||||||||||||||
35 | |||||||||||||||||||||||||||
36 | |||||||||||||||||||||||||||
37 | |||||||||||||||||||||||||||
38 | |||||||||||||||||||||||||||
39 | |||||||||||||||||||||||||||
40 | |||||||||||||||||||||||||||
41 | |||||||||||||||||||||||||||
42 | |||||||||||||||||||||||||||
43 | |||||||||||||||||||||||||||
44 | |||||||||||||||||||||||||||
45 | |||||||||||||||||||||||||||
46 | |||||||||||||||||||||||||||
47 | |||||||||||||||||||||||||||
48 | What does this model take into account? | ||||||||||||||||||||||||||
49 | There is time to market gains and cost savings to be made due to lack of context switching for both developers and QAs when issues are discovered early in the lifecycle. | ||||||||||||||||||||||||||
50 | Developers can spend less time fixing bugs when they are found earlier in the lifecycle because they do not have to context switch months after developing a feature. | ||||||||||||||||||||||||||
51 | Developers will use automated testing and SV to find issues earlier in the lifecycle | ||||||||||||||||||||||||||
52 | This model focuses on how much ROI should you expect if you invest an initial amout into shift-left activities as a one off. We do encorouge continues improvement as per the multiple-J-curve diagram above. | ||||||||||||||||||||||||||
53 | For simplicity, this model assumes only initial feature development and regression testing in later releases of a given feature. | ||||||||||||||||||||||||||
54 | QAs spend time on fixing issues and context switching between different features, this time can be saved if there are less issues found in UAT. | ||||||||||||||||||||||||||
55 | You can start small by assigning a developer or two for a dozen of days to work on most risky areas and work your way up during following releases. | ||||||||||||||||||||||||||
56 | The most impactful factor in thos model is what percentage issues can be discovered early by doing the initial amount of testing by developers. That can be impacted by how many developers you assign for how long to developing new tests and virtual services. | ||||||||||||||||||||||||||
57 | The outcome is the schedule is more predictable becuase there are less variables late in lifecycle | ||||||||||||||||||||||||||
58 | Man Day (MD) are just estimates. We recommend running multiple what-if scenarios, for example to cover the 10th, 50th and 90th percentile. | ||||||||||||||||||||||||||
59 | |||||||||||||||||||||||||||
60 | Key assumptions in this model: | ||||||||||||||||||||||||||
61 | QA team does largely manual testing of releases | ||||||||||||||||||||||||||
62 | Development and testing phases are sequential - there is a specific release testing period that lasts for more than several days | ||||||||||||||||||||||||||
63 | Development team writes more automated tests to shift left issue discovery (locally and in CI) | ||||||||||||||||||||||||||
64 | This model focuses on only one step improvement - developers tetsing for basic integration issues early before handing over release candidate to QA | ||||||||||||||||||||||||||
65 | This model does not distinguish beteween specific development areas such as backend, Web, Mobile, it assumes the impact will average out across different platforms | ||||||||||||||||||||||||||
66 | If these assumptions do match your development lifecycle our team would be happy to discuss your constraints and prepare a model for them: https://trafficparrot.com/contact.html | ||||||||||||||||||||||||||
67 | |||||||||||||||||||||||||||
68 | Table key: | User inputs | Calculations | ||||||||||||||||||||||||
69 | |||||||||||||||||||||||||||
70 | |||||||||||||||||||||||||||
71 | Current issue fixing lifecycle | ||||||||||||||||||||||||||
72 | Manual QA team size testin a specific release candidate | Manual QA testing of a specific release candidate when no bugs are found | Manual QA issues found for a specific release candidate | QA time spent per bug found in UAT | Development context switch cost per issue when fixing the issue reported by QA in UAT | Additional development time spent because of bugs found in UAT | Development release schedule delay because of bugs found in UAT | Total release schedule delay | Total time to QA and development fix issues when bugs are found in UAT | ||||||||||||||||||
73 | 3 | 27 days | 120 issues | 1 | 0.8 MD | 96.0 MD | 9.6 days | 49.6 days | 77 days | ||||||||||||||||||
74 | |||||||||||||||||||||||||||
75 | Development team size that that fix release issues raised by QAs | QA time spent to analyse an issue and report it | 0.5 MD | Developer's time to context switch weeks after development is done to fix an issue inclduing enviromnet setup and knowlegd refresh | 0.5 MD | Additional Manual QA time spent becuase of bugs found in UAT | QA release schedule delay because of bugs found in UAT | ||||||||||||||||||||
76 | 10 | QA time spent to communicate with developmnet team thoughout the lifecycle of the issue | 0.5 MD | Developer's time to context switch after fixing the issue back to what they were working on | 0.3 MD | 120.0 MD | 40.0 days | ||||||||||||||||||||
77 | QA context switch per issue reported | 0.5 MD | |||||||||||||||||||||||||
78 | QA time to re-test issue after fix | 0.5 MD | |||||||||||||||||||||||||
79 | |||||||||||||||||||||||||||
80 | New issue fixing lifecycle with development team writing automated tests to test earlier in the lifecycle (locally and CI) | ||||||||||||||||||||||||||
81 | Development team size that allocate time for more automated testing | How much time does each person spend to write new tests | Development context switch per issue | What percentage issues can be discovered early by doing the initial amount of testing by developers | Time to market gain calculation | ||||||||||||||||||||||
82 | 2 | 10.0 MD | 0.1 MD | 30% | How many issues can be discovered early by doing the initial amount of testing by developers | Development department savings by not having to fix issues late in lifecycle | Development department time to market gain | QA department savings by not having to report issues late in lifecycle | QA department time to market savings | Total time to market saved per release | Time to market slip because of development investment | ||||||||||||||||
83 | 36 issues | 28.8 MD | 2.9 days | 36.0 MD | 12 days | 14.9 days | 10.0 days | ||||||||||||||||||||
84 | |||||||||||||||||||||||||||
85 | Additional cost savings calculation | ||||||||||||||||||||||||||
86 | DEV and QA context switch and retesting savings per issue | Total MD cost savings per release | QA cost saving by not having to test as many issues | Development time invested in the first release to shift-left by automating test cases | Development time saved first release that can be assigned to new feature work | Development time saved subsequent releases that can be assigned to new feature work | |||||||||||||||||||||
87 | 1.7 MD | 61.2 MD | 36 MD/release | 20 MD | 9 MD | 29 MD/release | You invest in the first release, and in subsequent releases you use the automated tests cases that have been built | ||||||||||||||||||||
88 | |||||||||||||||||||||||||||
89 | ROI | ||||||||||||||||||||||||||
90 | Issues found early in lifecycle | 36 issues | |||||||||||||||||||||||||
91 | Time to market (cycle time) improvement for the first release | 4.9 days | (The first release will be in production this many days early or late) | ||||||||||||||||||||||||
92 | Time to market (cycle time) improvement for subsequent releases that is impacted by the new automated tests | 14.9 days | (The subsequent releases will be in production this many days early) | ||||||||||||||||||||||||
93 | How much does the feature deliver in revenue per day in the next 12 months? | $20,000 | How much would you pay for accelerating the schedule for one day, or what is the cost of delay of 1 day? | ||||||||||||||||||||||||
94 | Developer or QA cost per year | $200,000 | What is the total cost of an emplopyee including salary, office space, etc? | ||||||||||||||||||||||||
95 | Number of releases per year | 3 | How many releases do you do per year that are impacted by this change and need regression testing that will be automated now? | ||||||||||||||||||||||||
96 | Constants: | Time to market cash gains for the first release | $97,600 | ||||||||||||||||||||||||
97 | Working days in a year | 200 | Time to market cash gains for the next 2 subsequent releases same year | $595,200 | |||||||||||||||||||||||
98 | Cost to develop new tests | $20,000 | |||||||||||||||||||||||||
99 | Cost savings per release | $61,200 | |||||||||||||||||||||||||
100 | Cost savings for 3 releases first year | $183,600 |