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 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Instructions | |||||||||||||||||||||||||
2 | The most important skill for a manager is to select the ONE idea to implement this week. Not trying to do 10 at once. Only ONE forces the manager to pick the BIGGEST IMPACT item that is doable in a week. Elite managers are comfortable being forced to make decisions about cost and priority and timing, not JUST produce a list of things for someone else to choose from. What happens with bad managers is they generate all the ideas and pick the wrong things to do at the wrong times. | |||||||||||||||||||||||||
3 | ||||||||||||||||||||||||||
4 | Deliverable #1: What is the biggest impact item for this team that you would do next week? | |||||||||||||||||||||||||
5 | Action: Replace Peer Reviews with a dedicated and independent Internal QA team focused on building a most effective and efficient IQB enforcement process. Problem: Peer Reviews and CRN are not effective in identifying process failures and regressions. CRN only focuses on code quality issues related to language usage and naming. Peer Reviews did not catch any of the 33 EQB fails in W50 (See CiCs). Peer Reviews don’t assign responsibility for outcome to the reviewer, force ICs to context-switch rather than focus on one task, work against IC metric, and are subject to bias and informal communication. Best practices recommend an independent QA team. A deep dive showed that: a) No IQB checklist was used by the review. b) The ICs see Peer Reviewing of their colleague's work as a formality that is impossed by the process. c) It distracts them from their metric-producing activity. d) The ICs have no responsibility for the outcome of the review e) Rather than using automation to assign reviewers, some ICs favor assigning to someone who they have a relationship with in order to be able to resolve the outcome informally which contradicts the principles of QA and skews the IQB FTAR metric. A TMS of the reviews showed an average of 25.7 minutes per review, with 5 mins automatable via Jira. Using T4W weekly output of the 10 ICs, that translates to 66 hrs of reviews or 2 ICs (5:1 ratio of producer to reviewer). The QA ICs performance metric will be “# of reviews completed”. Quality metric will be # of reviewed Tickets that pass EQB and have no regressions. See daily implementation plan. The QA ICs will be rotated from the CC pool quarterly and only allowed to communicate with producers via Jira. This will not require any additional ICs as the work is already being done by the existing team. In fact due to 100% focus the team will get more efficient and will develop better automations and tooling. | |||||||||||||||||||||||||
6 | ||||||||||||||||||||||||||
7 | Deliverable #2: Provide a summarized stack rank (1 = action you would take next week.......5 = least important decision to make)of all the actions you recommend for this team based on your insights with WS data. | |||||||||||||||||||||||||
8 | ||||||||||||||||||||||||||
9 | Action | Affect quality? | Easy/Hard? | Quick/Long? | Color code | |||||||||||||||||||||
10 | 1. Set-up a dedicated and independent Internal QA team with structured process and toolchain. | 2.45% FTAR improvement | Easy | Quick | 1) Problem should fail IQB but was not caught | |||||||||||||||||||||
11 | 2. Define a process for PCA to provide a project-specific Addendum to IQB. | 1.02% FTAR improvement in combination with 1 Idea | Easy | Quick | 2) Unsatisfied with UT coverage | |||||||||||||||||||||
12 | 3. Define a CC Team Output Specification and require all PCAs to familiarize themselves with it (sign-off on it) before placing an order. | Help eliminate 100% of regressions. Only 0.52% of FTAR, but most damaging. | Easy | Quick | 3) PCA presents project-specific requirements | |||||||||||||||||||||
13 | 4. Extend Autofix to cover more cases (Duplicate Code) as well as .NET to eliminate errors on Dead and Dupe Code tickets and improve team productivity. | Approximately 40% of all tix and 30% of EQB fails. Potential +0.99% FTAR effect. | Hard | Long | 4) Miscommunication with the PCA regarding CC work and process | |||||||||||||||||||||
14 | 5. Implement tooling to do a logic Diff that highlights changes in execution (see 25% QoQ and Tools slides). | Reduce rate of regressions, ~75% are subtle logic changes, FTAR effect +0.39% | Hard | Long | 5) Other additions to IQB bar | |||||||||||||||||||||
15 | ||||||||||||||||||||||||||
16 | Deliverable #3 | |||||||||||||||||||||||||
17 | Jira ticket link | Screencapture | Reason for QB failure | Solution | ||||||||||||||||||||||
18 | https://jira.devfactory.com/browse/CC-206358 | CC-206358 | Build failed, but the problem was due to an issue unrelated to this ticket. | Define a CC Team Output Specification and require all PCAs to familiarize themselves with it (sign-off on it) before placing an order. The PCA to confirm the ticket in fact violates the Output Specification before rejecting. | ||||||||||||||||||||||
19 | https://jira.devfactory.com/browse/CC-94132 | CC-94132 | IC changes execution logic, not caught by Peer Review. | Improve IQB enforcement and Self-Review. | ||||||||||||||||||||||
20 | https://jira.devfactory.com/browse/CC-140335 | CC-140335 | Use of Dictionary to replace a switch statement can introduce regression if fields are modified. Not caught by Peer Review. | Improve IQB enforcement and Self-Review. | ||||||||||||||||||||||
21 | https://jira.devfactory.com/browse/CC-54230 | CC-54230 | Merge conflict caused CI build failure. Verify against Dev branch before sending-off. Not caught by Peer Review. | Improve IQB enforcement and Self-Review. | ||||||||||||||||||||||
22 | https://jira.devfactory.com/browse/CC-87857 | CC-87857 | Project-specific language requirement C# <6. Can be defined in Project-Specific EQB. | IQB to include project-specific Addendum. | ||||||||||||||||||||||
23 | https://jira.devfactory.com/browse/CC-80614 | CC-80614 | UT naming convention violation and hanging CI build. | Update IQB and Improve IQB enforcement. | ||||||||||||||||||||||
24 | https://jira.devfactory.com/browse/CC-209037 | CC-209037 | No UT coverage for AutoFix tickets. Misunderstanding with the PCA regarding UT coverage for Autofix tickets. | Define a CC Team Output Specification and require all PCAs to familiarize themselves with it (sign-off on it) before placing an order. The PCA to confirm the ticket in fact violates the Output Specification before rejecting. | ||||||||||||||||||||||
25 | https://jira.devfactory.com/browse/CC-208904 | CC-208904 | AutoFix removed comments, PCA wants them back in. | IQB to include project-specific Addendum. | ||||||||||||||||||||||
26 | https://jira.devfactory.com/browse/CC-50548 | CC-50548 | PCA presented formal requirements and communicated with the IC until they were met (did not formally reject the ticket). | IQB to include project-specific Addendum. | ||||||||||||||||||||||
27 | https://jira.devfactory.com/browse/CC-93691 | CC-93691 | 1) IC fails to properly refactor, no caught by Peer Review. 2) Use of static, reducing cyclomatic complexity - misunderstanding on EQB. | 1) Improve IQB enforcement. 2) Define a CC Team Output Specification and require all PCAs to familiarize themselves with it (sign-off on it) before placing an order. | ||||||||||||||||||||||
28 | ||||||||||||||||||||||||||
29 | Deliverable #4: Stack rank of solutions for QB failures | |||||||||||||||||||||||||
30 | 1. Improve IQB enforcement by setting-up an independent Internal QA team with a dedicated metric and automated process. IQB is as effective as the process to enforce it. Peer Reviews, currently used to enforce the IQB, are not effective: i) They distract ICs from their main metric-producing task i) They work against their performance metric iii) ICs don't have responsibility for the review as the outcome does not affect their personal metric. iv) The reviews are not independent and can be affected by informal communication. | 40% | ||||||||||||||||||||||||
31 | 2. IQB to include project-specific Addendum. Define a process to provide an Addendum to the Internal QB where the PCA can define a checklist of project-specific requirements and integrated them as a part of the Internal QA workflow automation. | 30% | The project-specific Addendum to the IQB will also direclty benefit from better IQB enforcement from solution #1, but it's formally not included in the percentage. | |||||||||||||||||||||||
32 | 3. Define a CC Team Output Specification and require all PCAs to familiarize themselves with it (sign-off on it) before placing an order. The PCA to confirm the ticket in fact violates the Output Specification before rejecting. | 20% | ||||||||||||||||||||||||
33 | ||||||||||||||||||||||||||
34 | ||||||||||||||||||||||||||
35 | Peer Review TMS (in mins) | Cuma Cakmak | Pallavi | Ibrahim | Average | |||||||||||||||||||||
36 | Open PR for review | 1.1 | 0.5 | 0.5 | 1.3 | 0.5 | 0.5 | 0.6 | 0.7 | |||||||||||||||||
37 | Open ticket and analyze | 0.6 | 1.1 | 1.4 | 1.7 | 0.5 | 0.0 | 0.0 | 0.8 | |||||||||||||||||
38 | QB open, copy QB with new name | 2.6 | 1.3 | 2.5 | 1.5 | 0.0 | 2.3 | 1.0 | 1.6 | |||||||||||||||||
39 | QB Fill summary | 1.5 | 1.6 | 1.8 | 1.2 | 0.0 | 1.2 | 0.8 | 1.2 | |||||||||||||||||
40 | QB Do basic checks which don't require code review | 5.1 | 3.3 | 2.5 | 2.0 | 4.8 | 5.2 | 3.0 | 3.7 | |||||||||||||||||
41 | Review for logic and correct refactoring, write comments | 10.8 | 9.8 | 9.3 | 17.6 | 15.6 | 1.9 | 1.5 | 9.5 | |||||||||||||||||
42 | Check comments fixed | 0.0 | 0.0 | 0.0 | 3.8 | 0.0 | 0.0 | 0.0 | 0.5 | |||||||||||||||||
43 | Review for standarts and write comments | 4.0 | 10.3 | 2.0 | 2.7 | 0.0 | 0.0 | 0.0 | 2.7 | |||||||||||||||||
44 | Review tests, check coverage and write comment | 1.5 | 5.2 | 2.4 | 0.3 | 2.1 | 0.0 | 0.0 | 1.6 | |||||||||||||||||
45 | QB fill checks after code review | 2.1 | 2.6 | 1.7 | 2.4 | 3.4 | 0.0 | 0.0 | 1.7 | |||||||||||||||||
46 | QB Put link into PR description | 0.8 | 0.7 | 1.2 | 0.5 | 1.0 | 0.0 | 0.0 | 0.6 | |||||||||||||||||
47 | Approve PR and and close QE ticket | 1.0 | 0.0 | 1.6 | 1.4 | 0.9 | 0.7 | 1.3 | 1.0 | |||||||||||||||||
48 | Total time to do a review | 31.1 | 36.5 | 26.9 | 36.3 | 28.9 | 11.8 | 8.2 | 25.7 | |||||||||||||||||
49 | This is too short, low quality review | |||||||||||||||||||||||||
50 | T4W average tickets produced per week (W47 - W50) | 191.5 | ||||||||||||||||||||||||
51 | Time required to review all tickets (min) | 4915 | Potential time saved by automating workflow in Jira | 5.1 | ||||||||||||||||||||||
52 | Time required to review all tickets (hours) | 82 | Peer review with automated workflow | 20.6 | ||||||||||||||||||||||
53 | Time required to review all tickets with Jira automation | 66 | ||||||||||||||||||||||||
54 | ||||||||||||||||||||||||||
55 | Daily Implementation Plan | Days | ||||||||||||||||||||||||
56 | Set-up teamroom and metric, assign ICs | 1 | ||||||||||||||||||||||||
57 | Set-up process flow and IQB checklist in Jira | 3 | ||||||||||||||||||||||||
58 | Set-up process for defining project-specific addendum | 2 | ||||||||||||||||||||||||
59 | Set-up automation for tracking review to EQB fails mapping | 1 | ||||||||||||||||||||||||
60 | Define playbook | 1 | ||||||||||||||||||||||||
61 | Total man-days | 8 | ||||||||||||||||||||||||
62 | ||||||||||||||||||||||||||
63 | ||||||||||||||||||||||||||
64 | EQB Fails | |||||||||||||||||||||||||
65 | Summary (W50) | Classification | Issue Key | Dupe and Dead Code | ||||||||||||||||||||||
66 | Long Methods :: product/src/generalui/src/com/actional/ui/configuration/DBConfigUtil.java | Autofix | CC-209026 | |||||||||||||||||||||||
67 | Long Methods :: product/src/serverui/src/com/actional/lg/serverui/deprecated/Wizard.java | Autofix | CC-208549 | |||||||||||||||||||||||
68 | Long Methods :: product/src/common-products/src/com/actional/soapstation/monitoring/LocalResultQueryBase.java | Autofix | CC-208642 | |||||||||||||||||||||||
69 | Long Methods :: reco-digest-deployable/src/main/java/com/jivesoftware/r2/digest/deployable/ui/digest/EmbedDigestUIEndpoints.java | Autofix | CC-204315 | |||||||||||||||||||||||
70 | Long Methods :: reco-deployable/src/main/java/com/jivesoftware/r3/deployable/RecoMain.java | Autofix | CC-204294 | |||||||||||||||||||||||
71 | BRP :: Short-circuit logic should be used in boolean contexts | Autofix | CC-204585 | |||||||||||||||||||||||
72 | BRP :: "@Override" should be used on overriding and implementing methods | No Rejection | CC-204515 | |||||||||||||||||||||||
73 | Long Methods :: impl/impl/DynamicContext.java | Broken Builds | CC-180123 | |||||||||||||||||||||||
74 | Duplicate Code :: lib/externalCORBAInterface/intf/cib_adapt/IEciRechargeTags.java | Broken Builds | CC-206469 | 1 | ||||||||||||||||||||||
75 | Duplicate Code :: lib/externalCORBAInterface/intf/cib_adapt/IEciAuthorize1Tags.java | Broken Builds | CC-206464 | 1 | ||||||||||||||||||||||
76 | Long Classes :: product/src/common/src/com/actional/APIException.java | Broken Builds | CC-64772 | |||||||||||||||||||||||
77 | Long Classes :: product/src/common-products/src/com/actional/soapstation/plugin/XmlInterceptor.java | False positive ticket | CC-64596 | |||||||||||||||||||||||
78 | Long Methods :: InternetApplications2/OasisLSSiWeb/OasisLSSiWeb/XML/OasisLSSiWebProcessSearchRequest.cs | Incomplete Implementations | CC-145735 | |||||||||||||||||||||||
79 | Long Methods :: CDSCallControlForWindows/WcfOasisCTI/VoltDelta.Oasis.CTI/Service/CtiService.svc.cs | Incomplete Implementations | CC-145845 | |||||||||||||||||||||||
80 | Duplicate Code :: AMS2Infrastructure/FilePublicationSubscriptionService/FilePublicationSubscriptionLibrary/FPSL_workerThread.cs | Incomplete Implementations | CC-145010 | 1 | ||||||||||||||||||||||
81 | Duplicate Code :: InternetApplications2/IFX/OnlineUpdate/ListingExtract/ListingExtract.cs | Incomplete Implementations | CC-145412 | 1 | ||||||||||||||||||||||
82 | Duplicate Code :: fmagent/agent/de/siemens/advantage/platform/oam/agt/fm/common/dispatch/AlarmCompression.java | No tests | CC-154912 | Not counting these becaseuse the problem is related to lack of UTs | ||||||||||||||||||||||
83 | Duplicate Code :: fmagent/agent/de/siemens/advantage/platform/oam/agt/fm/common/dispatch/AlarmCompression.java | No tests | CC-154955 | |||||||||||||||||||||||
84 | Duplicate Code :: fmagent/agent/de/siemens/advantage/platform/oam/agt/fm/common/dispatch/AlarmCompression.java | No tests | CC-154947 | |||||||||||||||||||||||
85 | Dead Code :: fmagent/agent/de/siemens/advantage/platform/oam/agt/fm/common/dispatch/AlarmSuppression.java | No tests | CC-155152 | |||||||||||||||||||||||
86 | Duplicate Code :: Setup/GFI.Installer.ManagedActions/UserModeUpgrade.cs | No tests | CC-179636 | |||||||||||||||||||||||
87 | Duplicate Code :: Setup/GFI.Installer.ManagedActions/UserModeUpgrade.cs | No tests | CC-179388 | |||||||||||||||||||||||
88 | Long Methods :: core/src/main/java/com/jivesoftware/util/spell/SpellChecker.java | No tests | CC-95938 | |||||||||||||||||||||||
89 | Duplicate Code :: impl/impl/gdmBalancing/GdmExternalAdminBalance.java | Not following PR creation standards | CC-180178 | 1 | ||||||||||||||||||||||
90 | Long Methods :: Server/ASPNET/MarUI/User/Handlers/MarcAjaxEmailOperations.ashx.cs | Product specific change | CC-37674 | |||||||||||||||||||||||
91 | Duplicate Code :: ac-src/cfbb/calib/src/main/java/com/siemens/nm/ca/permission/CABasePermission.java | Wrong Manual Fix | CC-182710 | 1 | ||||||||||||||||||||||
92 | Long Classes :: product/src/server/src/com/actional/lg/server/db/NetworkOverviewNode.java | Wrong Manual Fix | CC-65037 | |||||||||||||||||||||||
93 | Long Methods :: Configuration/configieui/DImportExportWizard.cs | Wrong Manual Fix | CC-93691 | |||||||||||||||||||||||
94 | Duplicate Code :: Code/Util/MailEssentials.Reporting/MsSqlSchemaChecker.cs | Wrong Manual Fix | CC-82942 | 1 | ||||||||||||||||||||||
95 | Duplicate Code :: Code/Util/MailEssentials.Reporting/MsSqlSchemaChecker.cs | Wrong Manual Fix | CC-82897 | 1 | ||||||||||||||||||||||
96 | Duplicate Code :: Code/Util/MailEssentials.Reporting/MsSqlSchemaChecker.cs | Wrong Manual Fix | CC-82795 | 1 | ||||||||||||||||||||||
97 | Duplicate Code :: Code/Util/MailEssentials.Reporting/MsSqlSchemaChecker.cs | Wrong Manual Fix | CC-82969 | 1 | ||||||||||||||||||||||
98 | Long Methods :: core/src/main/java/com/jivesoftware/community/action/ImportBlogContentAction.java | Wrong Manual Fix | CC-95811 | |||||||||||||||||||||||
99 | BRP :: "hashCode" and "toString" should not be called on array instances | CC-211079 | ||||||||||||||||||||||||
100 | Total EQB fails | 33 | 10 |