Agile Software Development in Life Sciences Ryan O’Sullivan, Donal O’Brien (QUMAS) Dublin - 17th October 2013 1 Introductions • Donal O'Brien, Vice President of Development & Support, QUMAS – Responsible for leading and managing all aspects of the QUMAS product development and product support activities. – Over twenty years experience in the development and implementation of software systems, in a number of industry sectors including Life Sciences and Financial Services. – Certified Scrum master and Certified Product Owner – Holds a BSc in Computer Science and a Masters in Business Administration. Dublin - 17th October 2013 2 Introductions • Ryan O’Sullivan, Senior Development Manager, Scrum Master – Ryan O’Sullivan has over fifteen years experience in Product development across a number of technology sectors. – Certified Scrum master and Certified Product Owner – Worked across all technologies within QUMAS over the last thirteen years. – Responsible for Implementing a Scrum development model within QUMAS. – Holds a BSc in Biological Sciences and a Higher Diploma in Computer Science Dublin - 17th October 2013 3 Round-table • Interactive Session on the use of Agile software development in Life Sciences • Feedback from the group on its experience of Agile – Advantages of Agile – Challenges – Lessons learned etc. 4 Why is Agile a topic for Discussion? • Widespread adoption of agile methods… – 56% penetration (Forrester/Dr Dobbs 2009) – >80% by 2012 (Gartner 2010, VersionOne 2011) Agile methods work! 5 Why is Agile a topic for Discussion? • Agile methods initially seen as best suited to… small projects co-located teams non-critical environments ? 6 Structure of Round-Table • Brief overview of Agile • Scrum as implemented in QUMAS – (R-Scrum) • Feedback 7 • Adapted from a paper presented to the 35th International Conference on Software Engineering San Francisco, May 2013. • Brian Fitzgerald, BA, MBS (NUI), PhD (Lond), FICS, FBCS, CITP, Ceng, • Dr Klaas-Jan Stol • (Lero : The Irish software engineering research centre - See more at: http://www.lero.ie) • Case Study http://staff.lero.ie/stol/files/2013/04/ICSE2013_Fitzgerald_etal.pdf Dublin - 17th October 2013 8 Reason for Change • 2008 - QUMAS started a number of Integration projects with third parties where the traditional SDLC needed to be optimised . • 2009 - Evaluated the Atlassian Product Suite. • 2010 - Modified the SDLC to reflect the new Scrum Development lifecycle and implemented on a new Flagship product. • 2012 - Made the Scrum SDLC the new standard across Development Dublin - 17th October 2013 9 Agile Manifesto Individuals and interactions OVER Processes and tools Working software OVER Comprehensive documentation Customer collaboration OVER Contract negotiation Responding to change OVER Following a plan Key in regulated environments Dublin - 17th October 2013 10 What is Scrum? • A framework for managing agile software development. • Scrum Roles – A Product Owner owns the product backlog. – Scrum Master keeps the team focused on its goal and ensures no one is impeded in their work . – The Team implements the planned work • Scrum Ceremonies – Sprint Planning Meeting – Sprint Review – Sprint Retrospective – Daily Scrum Dublin - 17th October 2013 11 Generic Scrum What is Scrum Scrum Master 1 day Product Owner Scrum Team Product Backlog Sprint Planning Meeting 3 Weeks Sprint Backlog Daily standup meeting Sprint review Shippable product Sprint retrospective Dublin - 17th October 2013 12 R-Scrum • R-Scrum • New checkpoints: Dev check, QA Review • New roles: User doc, QA • New artefacts: Non-Conformance Report Dublin - 17th October 2013 13 R-Scrum • Quality – QA bought in to agile process (despite fundamental change in work configuration) • Formal conformance audit of every Sprint completed within three days of end of Sprint (~every three weeks) • Non-conformance report fed back to Backlog – ‘Continuous Compliance’ • “No unexpected surprises at final release. We are just confirming the final release” VP Quality & CRM Dublin - 17th October 2013 14 Living Traceability • Transparent end-to-end traceability enabled by tool support User stories Production code System test Tasks Design Docn. Living Traceability Source code Build Code review Unit Tests Dublin - 17th October 2013 15 Traceability Traceability Traceability Effectiveness – Real time Management of Sprint progress – Team ownership & Responsibility – Responsive to customer requests within two Sprints ~ five weeks – Customers ordering product before final release (having experimented with working product prototypes) – Facilitates regulatory audits – can be driven by auditor Dublin - 17th October 2013 19 Continuous Deployment – Facilitated through ‘living traceability’ – Regression test suite of thousand+ tests in typical build – Code base monitored every two hours: code check-in triggers continuous integration build – Builds guaranteed to have new functionality for customer demos Dublin - 17th October 2013 20 Quality • Quality enhanced in a myriad of ways – Embedding of QA – continuous compliance – Constant validation of product and sprint backlogs based on feedback from QA/sales & marketing/customers – Quick response to customer feedback – Continuous integration -> latest functionality available for demo – Testing and User Documentation in Parallel • Integrated tool support critical – living traceability Dublin - 17th October 2013 21 Quality The essence of Agility is to deliver stakeholder value as fully-tested working software in small increments frequently. • Demonstrate compliance in small increments • Rehearse the whole process in stages (over and again) • Conduct one final assessment • You’re ready for Release! Dublin - 17th October 2013 22 Topics for Discussion • Traceability • Documentation • Auditor Perception • Requirements Management Dublin - 17th October 2013 23