Software Success Improvement Paul Gerrard Gerrard Consulting 1 Old Forge Close Maidenhead Berkshire SL6 2RD UK e: paul@gerrardconsulting.com w: http://gerrardconsulting.com t: 01628 639173 Slide 1 1 Assurance with Intelligence Why is Process the Focus of Improvement? (Test Process Improvement is a Waste of Time!) Slide 4 Assurance with Intelligence How to improve… I want to improve my (insert any activity here) _______ people improvement _______ organisation improvement _______ process improvement Changing people (like me) and organisation (like my company) is so hard – let’s not even think about it Slide 5 Assurance with Intelligence The delusion of ‘best practice’ There are no “practice” Olympics to determine the best There is no consensus about which practices are best, unless consensus means “people I respect also say they like it” There are practices that are more likely to be considered good and useful than others, within a certain community and assuming a certain context Good practice is not a matter of popularity. It’s a matter of skill and context. Derived from “No Best Practices”, James Bach, www.satisfice.com Slide 6 Assurance with Intelligence The delusion of process models (e.g. CMM) Google search - “CMM” – 12,100,000 - “CMM Training” – 12,200 - “CMM improves quality” – 4 A Gerrard Consulting client… - CMM level 3 and proud of it (chaotic, hero culture) - Hired us to assess their overall s/w process and make Slide 7 recommendations (quality, time to deliver is slipping) 40+ recommendations, only 7 adopted – they couldn’t change How on earth did they get through the CMM 3 audit? Assurance with Intelligence Physics quotes… “I believe that a scientist looking at nonscientific problems is just as dumb as the next guy” “It doesn't matter how beautiful your theory is, it doesn't matter how smart you are. If it doesn't agree with experiment, it's wrong” Richard P. Feynman Slide 10 Assurance with Intelligence Process quotes “I believe that a process consultant looking at nonprocess problems is just as dumb as the next guy” “It doesn't matter how beautiful your process model is, it doesn't matter how smart you are. If it doesn't agree with reality, it's wrong” Using process change to fix cultural or PG organisational problems is not going to work Improving test in isolation is not going to Slide 11 Assurance with Intelligence work either Software Success Improvement Slide 12 Assurance with Intelligence Eight stage change process (Kotter) 1. 2. 3. 4. 5. 6. 7. 8. Establish a sense of urgency Create a guiding coalition Develop a vision and strategy Communicate the change vision Empower broad-based action Generate short term wins Consolidate gains, produce more change Anchor new approaches in the culture. Slide 18 Assurance with Intelligence Eight stage change process (after Kotter) 1. 2. 3. 4. 5. 6. 7. 8. Mission Coalition Vision Communication Action Wins Consolidation Anchoring Slide 19 Changes identified here This is where your ‘test model’ comes into play Assurance with Intelligence Section 3 – Example Findings (rapidly growing software house) 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 Slide 21 Some Perceptions Product Quality Customer Management Organisation and Methodology Planning and Scheduling Product and Release Management Development Developer Testing System Testing Support Assurance with Intelligence Perceptions (3 of 15) 1. “No one can test”. There is a perception that no-one in the company is testing well enough to stabilise and improve the quality of the product. The support/test team are split between support and testing and support always takes priority. The team aren’t ‘career testers’ or focused on criticising and ‘breaking’ the product and haven’t had any formal testing training. Developers do not perform thorough unit testing. Requirements are not reviewed. 2. “No one is responsible for quality”. Although one could say everyone is responsible for quality, no one owns it because all groups are under pressure to compromise and see no way of resisting that pressure. No one owns quality because they don’t have authority to say no. 3. There has been a reluctance to implement a more structured process because of past experience. When a dedicated QA manager was recruited, they found it difficult to implement even basic processes. Probably their approach was to write processes and assume they could implement themselves. This negative experience discouraged attempts to try alternatives so practices are largely unchanged. Slide 22 Assurance with Intelligence Section 4 - Recommendations 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 Slide 23 Company Management Organisation and Planning Methodology Product Management - Requirements Product Management – Project/Work Package Management Releases/Installations/Customer Support Development - Design Development – Better Practices Development – Product Development, Refactoring Development – Testing Training System Testing Assurance with Intelligence We recommend changes based on findings, not idealised models We do ‘whole-process’ assessments So, the recommendations aren’t just testingrelated: - Could be a change in requirements/development/CM… Could be a change in attitude, leadership, policy Could be a change in organisation Could be a change in emphasis Could be an agile approach Could be a novel approach Could be a change in personnel None of these changes are promoted by current testing models, but are almost always required. Slide 24 Assurance with Intelligence Section 5 - Implementation 5.1 Explanation 5.2 Organisation and Management 5.3 Product Strategy 5.4 Customer Support/Product Improvement/Implementation 5.5 Project/Change/Release Management 5.6 Development Methodology 5.7 Test Strategy 5.8 Development Test Methodology 5.9 Design Process 5.10 Development Process 5.11 Training Slide 25 Assurance with Intelligence Sample recommendations (3 of 73) 1.Organisation and Management 1.Recommendations: 4 6 8 9 10 Cost ID Recommendation 4 Conduct a post implementation review of major releases. Periodically review the costs of bug fixing and enhancements Work Packages. Learn lessons. Make changes. 6 Identify key resources who are “bottlenecks”, “irreplaceable” or have conflicting roles (e.g. team leadership and team membership). Require these staff to mentor/coach a colleague(s) (who may have to be hired) to reduce the risk of over dependency/burnout etc. 8 Define specific roles, objectives, responsibilities for PS, product management, development, documentation, testing, support in the context of software product development, maintenance and support. Slide 26 Assurance with Intelligence Constraint s Quick Change Quality Time Summary You have to treat every change project as unique You need to understand how things are But you also need to understand the reasons WHY they are You must listen to practitioners and managers - To hear their ideas for improvement To align/augment ideas with the known constraints Slide 28 Assurance with Intelligence - To refine the vision to be something Software Success Improvement Thank-You www.gerrardconsulting.com uktmf.com Slide 29 Assurance with Intelligence