Agile Software Development in a Regulated Environment Natalie Custer
Disclaimer This presentation represents the understanding of the presenter on the topic addressed. It does not in anyway, form or like manner represent the position of Medpace and likewise does not bind Medpace to commit to the presenters view. 2
Topic to cover Waterfall Development Methodology Agile Development Methodology Agile Scrum Methodology Traditional Validation Documentation included in a Waterfall Validation documentation provided with Agile Waterfall validation deliverables vs. Agile validation deliverables Electronic documentation 3
4
What is Agile? Agile is defined as the ability to move quickly and easily. 5
Agile Software Development Agile Software Development is one of many different methodologies (or practices) that are used to develop software. The principles used in this type of development are based on the Agile Manifesto. 6
Agile Manifesto The Agile Software Development Manifesto was created in 2001 by a group of software development professionals. Agile is not anti methodology It s about balance It s about planning It s about delivering software more efficiently and effectively It focuses on twelve Principles Agilemanifesto.org 7
Agile Manifesto Twelve Principles Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer s competitive advantage. Deliver working software frequently. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. The most efficient and effective method of conveying information to and within a development team is face to face conversation. Agilemanifesto.org 8
Agile Manifesto Twelve Principles continued Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity the art of maximizing the amount of work not done is essential. The best architectures, requirements, and designs emerge from selforganizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. Agilemanifesto.org 9
Types of Agile Development Lean Software Development Kanban Software Development Extreme Programming (XP) Crystal Dynamic Systems Development Method Feature Driven Development (FDD) Agile Scrum Methodology 10
Agile Scrum Terminology Product Owner: Someone from the business side that has a vision of what they would like the software to do. The Product Owner provides the vision to the development team, focusing on the business requirements, then works with the team to prioritize the work that needs to be done. Scrum Master: Owns the process. Communicates with the Product Owner, scheduling meetings, and ensuring that the product backlog is ready for the next sprint. Scrum Team: a team of typically five to seven members that work on the development of the project. 11
Agile Scrum Terminology Product Backlog (Epics Features) Product backlog: this is a list of all desired features for the product. Items are pulled from the product backlog to complete during each sprint. 12
Agile Scrum Terminology Epic: Larger descriptions of the work to be performed. Feature (or User Story): these are smaller items that would make up an epic Epic Feature PBI Epic 1 Feature 1 PBI 1 PBI 2 Feature 2 PBI 3 13
Sprint planning: the team reviews the backlog with the product owner and commits to the work they can perform for that sprint. Product Backlog (Epics Features) Sprint Backlog Agile Scrum Terminology Sprint Sprint: the period of time that each development iteration will take 14
Agile Scrum Terminology Product Backlog (Epics Features) Daily Scrum meeting Sprint Backlog Sprint Daily scrum meetings: usually a 15-30 minute meeting where each team member talks about their goals and any issues that come up 15
Agile Scrum Terminology Product Backlog (Epics Features) Daily Scrum meeting Sprint Backlog Sprint Sprint review meeting: at the end of the sprint, the team presents the work completed. This will involve a live demo. Application release Sprint retrospective meeting: This is a review of work completed, problems that occurred and changes that need to happen prior to the next sprint. 16
Agile Daily Scrum meeting Product Backlog (Epics Features) Sprint Backlog Sprint Application release Each step of the development process is separate but occurs within the 2-4 weeks of the sprint and is only focused on the tasks in the sprint. 17
Validation Documentation
Waterfall Documentation Deliverables WATERFALL User Requirements Specification Functional Requirements Specification Design Specification Code Review Unit Testing Functional Testing User Acceptance Testing User Acceptance Sign off 19
Agile Deliverables AGILE User Requirements Daily Scrum meeting Functional Specification Product Backlog (Epics Features) Sprint Backlog Sprint Application release Design Specification Code Review Unit Testing Functional Testing User Acceptance Testing User Acceptance Sign off 20
Waterfall vs. Agile deliverables WATERFALL User Requirements Specification Functional Specification Design Specification Code Review Unit Testing Functional Testing User Acceptance Testing User Acceptance Sign off AGILE User Requirements Functional Specification Design Specification Code Review Unit Testing Functional Testing User Acceptance Testing User Acceptance Sign off 21
Validation documentation review Follow the data. Keep an open mind. Accept electronic documentation. Remember validation isn t about producing a beautiful set of documentation for an auditor to review, it s about producing a beautiful application for their business to use. 22
Validation documentation review Ask to see a validation plan and/or report. If they don t have those documents ask what is produced at the beginning of a sprint and at the end. Ask to see a list of requirements. Confirm that requirements are approved by the business Pick a requirement and follow it from requirements to design to testing to approval and release. 23
Validation documentation review Review a few test cases. If tests are automated ask to see a run report. Ask how failures are handled. Ask to review release documentation. Look for approval and sign off prior to release. 24
Electronic Solutions Electronic solutions are available for every type of development approach. Key in selecting a specific solution Understand what the software offers you. Customize the solution you select to meet you specific needs. Confirm that the solution you select has reporting capabilities. 25
The End Thank you for your time. 26