ESEconf2011 - Caine Matthew: "Creating an Environment of Teamwork, Quality, Innovation and Fun"Presentation Transcript
Creating an Environment fullof Teamwork, Innovation, Quality and Fun Matthew Caine, Infonic AG
We Start with a Great Story Going back in time… … at 4am I know where René was, but where were you?
We delivered! The delivery worked! The client was happy! Fantastic… life does not get much better! Really a Great Story!
Was it “Really” a Great Story? Delivered at the 3rd attempt 6 months late At the expense of another client Clients not reference-able Lost revenue Less profitable Less bonus for all Finally … René’s wife, daughters and two dogs were not seen for two weeks.
The next 18 months resulted in every subsequent release being delivered:
With ever better quality
Resulting in Teamwork, Quality, Innovation and of course, FUN! We shall prove it too! Now for a truly Epic Story
How did we do it?
How did we do it? With the exception of the fifth point, nothing above is new, but it is how it all comes together, which is key.
Adopting an Agile Methodology (DSDM Atern) Operational Improvement #1
Adopting an Agile Methodology First, why DSDM Atern and not SCRUM?
Adopting an Agile Methodology First, why DSDM Atern and not SCRUM? Demand Funnel Scrum World DSDM World
The 8 Principals of DSDM Atern
Convince senior management Awareness training for all staff member Practitioner’s course for key staff and team leaders Create the Prioritized Requirements List (PRL) for a release Let the team estimate and plan the time-boxes Use a tool such as Jira - Put the PRL into it Start development of the release, following the 8 principals Review progress after 6 months Real-Life Roll-Out “Plus some good old-fashioned hard work!”
Insistence that the entire team contribute to effort estimation Operational Improvement #2
The Problem is Not What You Think We all know that the people doing the work must provide the estimates. Promote this! However the real issue lies elsewhere… but where?
The Problem is Not What You Think We all know that the people doing the work must provide the estimates. Promote this! However the real issue lies elsewhere… but where? Management! They are part of the team!
The Problem is Not What You Think e.g. 1 When a new client is won, if 30% of the requirements are unclear, then during negotiations it must be made clear that these will require in-depth analysis prior to making any commitment. e.g. 2 If a team estimates 40 days for a feature based on high-level requirements, don’t shoot the team when the exploration results in 100 days… don’t force them to do it in 40. BE PART OF THE TEAM – PROVIDE SUPPORT.DON’T DICTATE “THE WHAT” AND “BY WHEN”!
Dedicate the whole company to testing at key times Operational Improvement #3
“It must be their environment” “The software works, I tested it myself” “Testers don’t know the business” “I don’t write software with bugs in” “Just ship the software, it’ll be ok” “The test case is wrong, I’ll fix the test case to fit the software” The Quality Attitude – No Teamwork
Quality is not just Attitude A software product house also has to address these:
Regression test the full product
Efficiently remove the back-log of defects that will have built up over the years
Align key resources to fix client UAT issues post release
Provide reasonable time for teams to plan
Improve infrastructure for build effectiveness
Focus Quality within Timeboxes 3 4 5 6 2 1 An Agile methodology will introduce Time Boxes:
A Timebox lasts 2-6 weeks (we use 3 weeks)
A release consists of a number of timeboxes
Here we see a release consisting of 6 time boxes, or 18 weeks.
Focus Quality within Timeboxes 2 3 4 Regr. 1 Quality We action was to introduce two special Timeboxes:
Quality at the start
Regression at the End
The Quality Time Box This is all high interrupt work that should be avoided when focusing on new development
The Regression Testing Time Box The whole company tests, all coordinated by the QC team – it is oneproduct, our product. During this, we have seen real teamwork and inter-team work:
Team members helping each other out
Teams helping each other
High commitment to get the release out of the door
The Results are Quantifiable Just regression testing is not enough… ... combining regression & quality time-boxes provides the “leap”
Improve width and depth of automated testing Operational Improvement #4
When a new product is developed, test automation keeps pace. However, developers are usually added to the team before testers. Now, automation can no longer maintain coverage at the same pace that new functionality is delivered. A gap appears and continues to grow. Consequences are obvious! Mind the Gap
Close the Gap Use the MoSCoW prioritization mechanism introduced by the Agile methodology to prioritize the Regression testing time box. Remember DSDM Atern Principal # 4? “Never compromise on quality”.
Actual Progress of Gap Closure
Final Release Quality is Measureable One FTSE-100 company:
Approx. 75% reduction in UAT critical issues.
Quality being sustained.
Client is not just happy, but “ecstatic” about the quality.
The client could now cover more tests!
Merge Support and Quality Control teams Operational Improvement #5
Lots of Pain for Support & QC
Merge them: Wow!
Bringing it all Together Summary
Teamwork & Quality are...
New User-Interaction Model (RIA) with Adobe Flex.
A Cube data access mechanism for easier reporting
Plus, because due diligence reports have been excellent, we are also building new functionality required by new clients. … the Key to Innovation…
… which Creates a Fun Environment!
Any Questions? Ah yes before I forget, René does now get to see his wife and two daughters. Plus his two dogs now get regular morning walks!
Leads Infonic’s Operational Control function, where he is responsible for software release management, business process management, and management information systems. Mr. Caine brings 18 years of experience in the financial services IT sector, offering project management experience, business analysis and software development and delivery expertise. Prior to joining Infonic, Mr. Caine served as a People Manager, Head of Operating and Monitoring at Avaloq, a Swiss core-banking solutions provider based in Zürich, where he specialized in product management and operations, and led multiple teams of analysts and developers. He also served as Vice President, Business Analysis in Swiss Re’s global asset management division, where his role involved business analysis, testing and support. His prior position was as Senior Consultant in the Finance practice at Logica Consulting, an IT and business services company, based in London, Zürich, Berlin and Geneva, where he focused on software development. Mr. Caine holds a Bachelors of Science degree, with Honors, in Computer Science from the University of Staffordshire in England. Aboutthe Speaker - Matthew Caine