Terry Fischer Is Agile Scrum the Right Methodology for Your BI Project? Session 3504
LEARNING POINTS What is the Agile Scrum and for what types of projects is it best utilized? How to apply general Agile Scrum methodology to a BI development and implementation project? What are some useful tools and techniques to consider using in your Agile Scrum project?
RETURN ON INVESTMENT Iterative delivery of analytics in time-boxed intervals that allow for the rapid definition and prioritization of product features by one product owner. Collaborative delivery of production-ready reports or visualizations by a small cross-functional development team who are (ideally) in the same location. Since the main focus is on development not exhaustive planning, requirements gathering or documentation business stakeholders are able to more quickly review and utilize these analytics.
AGILE SCRUM DEFINED Agile is a flexible and iterative software development methodology for managing product development. The development team works as a unit to reach a common goal. Scrum emphasizes the delivering of a working product at the end of a fixed length development cycle that meets a pre-determined definition of done. In the case of BI, this means that all necessary database and semantic layer objects as well as the reports and/or dashboards that use them are fully tested (with basic end-user documentation) and are potentially promotable to production BI systems.
AGILE SCRUM DEFINED 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 Scrum Values: Commitment and Focus Openness Respect Courage
WHY USE AGILE SCRUM? Stakeholders can often change their minds about what they want or need. Scrum utilizes an empirical approach that accepts that problems cannot be fully understood or defined. Scrum focuses instead on maximizing a dedicated development team to quickly deliver and respond to emerging requirements.
CHARACTERISTICS High level of collaboration of between business owners, contributors and developers. Deliver working products earlier and output more often. Accept that change in deliverables and focus will occur often. Reduced emphasis on processes and tools (no Waterfall Process of analyze, design, build and test). Reduced amount and detail of documentation. No master plan--project focus can (and does) change drastically per fixed length iteration or sprint. Resources and time are fixed, but the delivery of output is estimated. Emphasizes teamwork and continuous improvement. Content or functionality delivered at the end of each sprint (or release).
ROLES Product Owner: Represents the stakeholders and is the "voice of the customer". It is an outward facing role. Is accountable for ensuring that the entire scrum team delivers value to the business. Directly deals with the business sponsor(s), other internal stakeholders and external stakeholders. Writes (or has the team write) customer-centric user stories, ranks and prioritizes them and adds them to the product backlog. Scrum Master: Facilitates the scrum process, enforces scrum rules and makes certain that they are used as intended. Is an inward facing role. Is the development team s servant-leader. Is accountable for removing impediments to the ability of the team to deliver the product deliverables. Acts as a buffer between the team and any distracting influences. Chairs key meetings and challenges the team to improve.
ROLES Development Team: Is responsible for delivering production-ready BI content at the end of each sprint/release. Is highly collaborative. Is made up of 3 9 individuals with cross-functional skills who do the actual work (analyze, design, develop, test, technical communications, documentation, etc.). Is self-organizing and is usually co-located together (or utilizes close online collaboration) of all team members. Example of a BI Development Team in Agile Scrum: Data Modeler / Development DBA BI Systems Administrator Semantic Layer Developer (if required) 2 Dashboard / Visualization Developers / Testers 2 Operational / Interactive Reports Developers / Testers
MEETINGS Release - A grouping of multiple sprints. Forms a complete, functional and productionready product or functionality. Employed when working products cannot be released at the end of each Sprint. Release Planning Meeting Meetings that occur regularly (usually monthly or quarterly) to revisit and adjust the release plan. The Product Backlog, team velocity, sprint duration upcoming events (PTO, holidays, etc.), etc. are reviewed. The entire scrum team along with other stakeholders from whom input or agreement is required. The Product Owner leads this meeting. The duration of this meeting can vary based upon the length of the release cycle. Sprint - An iterative team effort that is "time-boxed" into a specific one week to one month duration. Two week duration sprints are most typical. Sprint Planning Meeting Starts the sprint. Defines a sprint backlog where the tasks for the sprint are identified and an estimated commitment for the sprint goal is made. Limited to 8 hours for a 1 month duration sprint--4 hours with the entire team (product owner, scrum master and development team) and 4 hours with just the development team.
MEETINGS Daily Scrum (Stand Up) Meeting All development team members provide updates on: What did I do yesterday, What will I do today and Are there any impediments that are preventing me from meeting the sprint's goals. No detailed discussions are allowed. Maximum meeting time is 15 minutes. Sprint Review Meeting Sprint progress is reviewed by the entire team and demonstrated to stakeholders. Limited to 4 hours in duration. Sprint Retrospective Meeting Lessons learned for improving the next sprints are identified by the entire team. What went well and what could be improved during the sprint are reviewed. Limited to 4 hours in duration. Facilitated by the scrum master. Scrum of Scrums Meeting A technique to scale agile scrum up for multiple teams working on the same product. This meeting allowing teams to discuss their work, focusing on how to coordinate delivering software, especially on areas of overlap and integration. Depending on the cadence (timing) of the Scrum of Scrums, the relevant daily scrum for each scrum team ends by designating one member as an ambassador to participate in the wider meeting with ambassadors from other teams.
DEFINING A USER STORY Capture the basics of what is needed. Avoid creating epic user stories. Decompose these complex user stories down. Most user stories should be able to be completed in one day. Lower level tasks and dependencies should also be captured in the sprint backlog. Example of a User Story: "As a <who>, I would like <what>, so that, <why>. Acceptance Criteria: I will know this Story is done <when>"
MEETINGS AND ARTIFACTS
ROLES AND PROCESS
ESTIMATION Fixed Firm Flexible Scope X Cost X Time X Fibonacci sequence (modified 1,2,3,5,8, etc.) Planning poker Powers of two (1, 2, 4, 8, 16, etc.) T-shirt sizing (S, M, L and way too big)
SCALING OPTIONS 1 product owner manages 1 product backlog from which 1 sprint backlog is created and utilized by 1 development team that is served by 1 scrum master. 1 product owner manages 1 product backlog from which multiple sprint backlogs are created and utilized by multiple development teams that are each served by 1 scrum master (each sprint backlog is unique to a single development team which is served by a single scrum master). 1 chief product owner manages multiple product owners who in turn each manage a single and unique product backlog. When using distributed teams, keep the development teams co-located with their own scrum master. The product owner can be remote, but must be present in person for key meetings.
SUPPORTING TECHNOLOGIES Agile scrum software tools provide the following features: Manage sprint and release backlogs Creates and displays a storyboard Tracks team velocity and capacity Measures burn-down Organizes workflows Prepares scrum team for sprint reviews/retrospectives
SUPPORTING TECHNOLOGIES Freeware / Shareware Scrum Board (a whiteboard with sticky notes) OpenProject Many others!!! Requires Purchase / Maintenance Microsoft Excel HP Agile Manager JIRA Agile Rally Demonstration
BEST PRACTICES Agile scrum in BI does not replace project management methodologies. It is typically used to organize the production process of new analytics in a project. A single scrum team consists of the development team and the scrum master. It has only one product owner. While the product owner may also be a member of the development team, this role should not be combined with that of the scrum master due to the highly interactive (and sometimes conflicting) nature of these two roles.
KEY LEARNINGS Agile scrum in BI allows for iterative development of analytics in shorter duration sprints (1 4 weeks each) with less initial requirements gathering and documentation. One product owner defines (and orders) user stories in the sprint backlog. Must be highly available to the scrum team for feedback, clarification and guidance. Scrum master enforces agile practices, clears impediments and reduces distractions. Development Team provides work estimates and self-organizes to complete required tasks (user stories) during each sprint. Is highly interactive and located together. Planning, daily scrum, sprint review and sprint retrospective meetings are all vital but must be tightly time-boxed to provide ample time for development and testing work.
STAY INFORMED Follow the ASUGNews team: Tom Wailgum: @twailgum Chris Kanaracus: @chriskanaracus Craig Powers: @Powers_ASUG
SESSION CODE 3504