Agile software development in practice Michal Krajíček The big picture Agile methodologies • Scrum • Kanban • Extreme Programming ... Scrum • Process framework for organizing and managing work • Lightweight • Simple to understand • Difficult to master • Not a cookbook • Defined by roles, events, artifacts and rules Roles Product owner Product owner • Represents business and stakeholders • Responsible for the product and ROI • Defines visions and goals • Manages Product Backlog • Explains items in Product Backlog The team The team • Cross functional • Self organizing • Collective responsibility • As a whole defines HOW MUCH and HOW • Collocation, replaceability, softskills Scrum Master Scrum Master • Responsible for the process • Facilitator • Remove impediments • Coach • Helps both PO and the team to achieve their goals Processes & events Backlog grooming • Clarify user stories • Break down epics into user stories • Estimate user stories • Add acceptance criteria • The team knows his backlog • Feedback for PO Example As a content manager, I can publish a news story to the corporate website… …I can publish a news story directly to the corporate website... [5SP] …I can publish a news story with editor review... [8SP] …I can publish a news story with legal review... [8SP] …I can view a news story on a staging site… [5SP] …I can publish a news story from the staging site to production… [2SP] Bicycle Estimations • Planning poker 1, 2, 3, 5, 8, 13, 20, 40, 100, ? [SP] (XS), S, M, L ,XL, (XXL) Estimations Estimations Sprint planning What How Tasks • Concrete tasks for the team to complete • Implement domain logic • Add database table • Create new UI form • Update build script • Update documentation • Write unit tests • ... Daily Scrum Sprint review Sprint retrospective Artefacts • Product backlog • Sprint backlog • Potentially shippable product increment • (Scrum wall) • (Burndown chart) Scrum rules • No one can provide advice, instructions, commentary, or direction to the Team during the Sprint. • The Team commits to Product Backlog during the Sprint planning meeting. The Product Backlog is frozen until the end of the Sprint. • The Product Owner must prepare the Product Backlog prior to the planning meeting. • During the Daily Scrum, only one person talks at a time. … Scrum summary Kanban Scrum Kanban After a while… Engineering practices • Pair programming • Test driven development • … Resources http://scrumtrainingseries.com https://www.scrum.org/Scrum-Guides Essential Scrum (Kenneth S. Rubin) Agile Project Management with Scrum (Ken Schwaber) http://www.jamesshore.com/Agile-Book Otázky, diskuze