The scrum process document outlines the key aspects of running a scrum project. It includes preparation steps like establishing a business case and assembling a team. It then describes the sprint planning meeting where the product backlog is reviewed and the sprint backlog is created. Each sprint involves daily stand up meetings and culminates in a sprint review and retrospective. The goal is to deliver working software increments in short iterations through an adaptive, flexible process.
PMBOK and Scrum can live together happily if used appropriately for the situation. While PMBOK focuses on detailed upfront planning and heavy processes, Scrum emphasizes iterative development, minimal documentation, and rapid adaptation to change. Both aim to deliver value to customers, but Scrum may be better for situations requiring flexibility and rapid time to market. The best approach is to use the right tools for each project's specific needs.
Scrum process powerpoint presentation templatesSlideTeam.net
The document describes the Scrum process which involves:
1. Preparation including establishing a business case, vision, initial product backlog and release plan, and assembling the team.
2. A Sprint Planning Meeting to update the product backlog.
3. Daily Cycles and a Sprint Review at the end to review the completed Product Increment.
This document provides an overview of Scrum, an agile project management framework. Some key points:
- Scrum uses iterative "Sprints" typically lasting 2-4 weeks to develop software in short cycles. A product backlog is prioritized and tasks are broken down for each Sprint.
- Self-organizing Scrum teams of 5-9 people work to complete the Sprint goals. Daily stand-up meetings provide status updates and help remove impediments.
- At the end of each Sprint, working software is demonstrated and the product owner evaluates progress before prioritizing tasks for the next Sprint.
- Scrum aims to improve productivity, adaptability and creativity compared to
This document provides an overview of managing scope, time, cost, and team in Agile frameworks like Scrum. It discusses key Scrum concepts like artifacts, roles, ceremonies and how they relate to traditional project management. Scope, time and team are fixed within sprints in Scrum, unlike the waterfall model where scope is fixed upfront. Cost is estimated and budgets are determined, with value-driven development. Self-organizing cross-functional teams work in short sprints to deliver working software frequently using practices that enhance responding to change over rigid plans.
Scrum is an agile framework for managing work with an emphasis on iterative development and collaboration. It uses sprints, daily stand-ups, backlogs and emphasizes adaptive planning and evolutionary development. Key roles include the product owner, scrum master and development team. Sprints involve planning, daily stand-ups and a review at the end where the completed increment is demonstrated. The process aims to deliver working software frequently to gain feedback and continuously improve the product.
The document discusses Agile methodology, an iterative approach to software development that emphasizes continuous improvement and adaptation to change over rigidly following a plan. It outlines the core principles and processes of Agile development, including short sprints, daily stand-up meetings, prioritizing tasks based on product owner feedback, and evaluating progress at the end of each sprint through demonstrations and retrospectives. The document argues that Agile is better suited than traditional waterfall models for software projects where requirements are uncertain and likely to change during development.
ScrumGuides training: Agile Software Development With ScrumAlexey Krivitsky
The document describes an agenda for a training on Agile software development and Scrum. The training will include an introduction to Agile and Scrum, a Scrum simulation exercise, and additional Scrum topics. It will involve breaks every 60-90 minutes. The instructor will provide an overview of their experience and credentials. Participants will discuss successful and unsuccessful projects and learn about the predictive and adaptive approaches to project management used in Scrum.
The scrum process document outlines the key aspects of running a scrum project. It includes preparation steps like establishing a business case and assembling a team. It then describes the sprint planning meeting where the product backlog is reviewed and the sprint backlog is created. Each sprint involves daily stand up meetings and culminates in a sprint review and retrospective. The goal is to deliver working software increments in short iterations through an adaptive, flexible process.
PMBOK and Scrum can live together happily if used appropriately for the situation. While PMBOK focuses on detailed upfront planning and heavy processes, Scrum emphasizes iterative development, minimal documentation, and rapid adaptation to change. Both aim to deliver value to customers, but Scrum may be better for situations requiring flexibility and rapid time to market. The best approach is to use the right tools for each project's specific needs.
Scrum process powerpoint presentation templatesSlideTeam.net
The document describes the Scrum process which involves:
1. Preparation including establishing a business case, vision, initial product backlog and release plan, and assembling the team.
2. A Sprint Planning Meeting to update the product backlog.
3. Daily Cycles and a Sprint Review at the end to review the completed Product Increment.
This document provides an overview of Scrum, an agile project management framework. Some key points:
- Scrum uses iterative "Sprints" typically lasting 2-4 weeks to develop software in short cycles. A product backlog is prioritized and tasks are broken down for each Sprint.
- Self-organizing Scrum teams of 5-9 people work to complete the Sprint goals. Daily stand-up meetings provide status updates and help remove impediments.
- At the end of each Sprint, working software is demonstrated and the product owner evaluates progress before prioritizing tasks for the next Sprint.
- Scrum aims to improve productivity, adaptability and creativity compared to
This document provides an overview of managing scope, time, cost, and team in Agile frameworks like Scrum. It discusses key Scrum concepts like artifacts, roles, ceremonies and how they relate to traditional project management. Scope, time and team are fixed within sprints in Scrum, unlike the waterfall model where scope is fixed upfront. Cost is estimated and budgets are determined, with value-driven development. Self-organizing cross-functional teams work in short sprints to deliver working software frequently using practices that enhance responding to change over rigid plans.
Scrum is an agile framework for managing work with an emphasis on iterative development and collaboration. It uses sprints, daily stand-ups, backlogs and emphasizes adaptive planning and evolutionary development. Key roles include the product owner, scrum master and development team. Sprints involve planning, daily stand-ups and a review at the end where the completed increment is demonstrated. The process aims to deliver working software frequently to gain feedback and continuously improve the product.
The document discusses Agile methodology, an iterative approach to software development that emphasizes continuous improvement and adaptation to change over rigidly following a plan. It outlines the core principles and processes of Agile development, including short sprints, daily stand-up meetings, prioritizing tasks based on product owner feedback, and evaluating progress at the end of each sprint through demonstrations and retrospectives. The document argues that Agile is better suited than traditional waterfall models for software projects where requirements are uncertain and likely to change during development.
ScrumGuides training: Agile Software Development With ScrumAlexey Krivitsky
The document describes an agenda for a training on Agile software development and Scrum. The training will include an introduction to Agile and Scrum, a Scrum simulation exercise, and additional Scrum topics. It will involve breaks every 60-90 minutes. The instructor will provide an overview of their experience and credentials. Participants will discuss successful and unsuccessful projects and learn about the predictive and adaptive approaches to project management used in Scrum.
This document provides an overview of managing iterative software development using Scrum. It discusses how Scrum and iterative development can help reduce software project failure rates, bugs, and improve usability through closer customer interaction. Key aspects of Scrum covered include roles, artifacts like product and sprint backlogs and burn down charts, and how daily stand-up meetings work. The document also discusses how the author has adopted aspects of Scrum to manage projects while maintaining traditional project management artifacts to satisfy management.
This document provides an overview of the SCRUM agile methodology. SCRUM involves breaking work into short sprints of 2-4 weeks. It emphasizes accountability, transparency, and delivering working software frequently. Key aspects include roles like the product owner and scrum master, daily stand-up meetings, and tracking progress through burndown charts and velocity measurements. SCRUM allows requirements to evolve through frequent releases rather than assuming a fixed set at the start.
This document discusses how traditional project management approaches can fall short for complex work, and introduces Agile product development using Scrum as a framework. It explains that Scrum focuses on maximizing business value through collaborative customer engagement and empirical process improvement over comprehensive planning. Scrum is presented as a practical method for complex work where needs may change, using short development cycles called sprints to iteratively deliver working software or products.
Kin2020- flow based product development- an experience reportRavi Tadwalkar
The document discusses transitioning a product development team from a mandated Scrum process to a leaner Scrumban process. It emphasizes focusing on flow-based product development and increasing collaboration through practices like mob programming and behavior driven development. The team used tools like a process evaluation framework and simulation to help decide what process changes would work best for increasing flow efficiency and productivity.
Hello, my name is Illya Pavlichenko and I’m an Agile Coach and Professional Scrum Trainer (PST) at Unusual-Concepts. My job is all about dealing with Agile and Scrum dysfunctions and I love it. I work with multiple companies/teams and I see the same anti-patterns (symptoms) of using Scrum AGAIN and AGAIN. Well, I decided to create a list of them. It turned out to be exhaustively long. Then I removed less important items and finally got the list of 27 symptoms you can see below. Each of the symptoms potentially can lead to a separate article and/or discussion. That is why I attached quotes from best Scrum books (from my point of view) to make those symptoms as self-explanatory as possible.
So, are you ready for 27 Scrum dysfunctions? Here it is - Rotten Scrum.
Scrum is an agile software development framework that focuses on self-organizing cross-functional teams, sprints of work lasting 2-4 weeks, daily stand-up meetings, and artifacts like a product backlog, sprint backlog, and burndown chart. The process involves sprints where teams work through a prioritized backlog, daily scrums for status updates, and sprint reviews and retrospectives at the end of each iteration to inspect work and improve processes.
Scrum is an agile framework that focuses on rapid delivery of working software in short cycles called sprints. It consists of self-organizing cross-functional teams, regular sprints with daily stand-ups, and artifacts like a product backlog, sprint backlog, and burn-down charts. The process involves sprint planning, daily scrums, sprint reviews, and retrospectives. Scrum roles include the product owner who prioritizes the backlog, the scrum master who facilitates the process, and the development team.
Introduction to Scrum presentation which outlines common issues in software development, what is Scrum, and an introduction to the Scrum framework. This presentation has been used for training and presentations to both technology and business audiences.
The document discusses several agile software development frameworks including the Agile Manifesto, eXtreme Programming (XP), Scrum, and hybrid methods. The Agile Manifesto values individuals, working software, customer collaboration, and responding to change. XP focuses on communication, simplicity, feedback, and courage. Key practices include planning game, small releases, refactoring, and collective code ownership. Scrum emphasizes empirical process control, self-organizing cross-functional teams, and delivering working software frequently in short iterations. Hybrid methods combine different agile approaches to suit various project needs.
PMI and Scrum - bridging the gap
Presentation for PMI members and Agilists in Montevideo, Uruguay, introducing commonalities between Project Management and Agile approaches.
Agile project management is more about empowerment. Agile projects are not lead by individual like project manager. Agile project management is a combination of art and science both where you should be well versed with the principals of the project management. At the same time you should be practical while taking decision and understanding circumstances.
LKIN2018: leveraging Lean and Kanban to implement continuous improvementRavi Tadwalkar
Here are the key steps in the improvement plan:
1. Understand the direction and challenges facing Operations through initiatives like the Tech Refresh program. The focus is on hardware onboarding/offboarding bottlenecks.
2. Assess the current condition through value stream mapping to identify operational inefficiencies and document the "as is" state.
3. Define the next feasible target condition by documenting the desired "to-be" state value stream map.
The plan involves understanding the challenges, assessing the current process inefficiencies, and defining an improved future state to guide continuous improvements in Operations.
This document discusses implementing Scrum in Indonesian banks and addresses some common misconceptions. It explains how Scrum can comply with Bank Indonesia regulations regarding software development processes. It presents ways to map Scrum events like sprints to required processes and how Scrum supports risk management practices. It also discusses how Scrum allows for planning at various levels and that documentation is still required beyond just the product backlog.
The document provides an overview of the Scrum model for agile software development. Scrum divides projects into short sprints of 2-4 weeks to focus development. It utilizes daily stand-up meetings, sprint planning and reviews, and retrospectives. Key roles include the product owner who prioritizes the backlog, the scrum master who facilitates the process, and the cross-functional development team. Scrum aims to provide structure while allowing for flexibility, feedback and adapting to changes.
The document provides an overview of Scrum, an Agile framework. It discusses the Scrum values, roles, practices, and artifacts. The Product Owner prioritizes goals and maintains the product backlog. The Scrum Master facilitates the process and removes impediments. The cross-functional team is self-organizing. Key practices include sprint planning, daily stand-ups, sprint reviews, and retrospectives. Customers benefit from early feedback and faster delivery. Leaders gain better engagement and accountability. Team members enjoy a sustainable pace and satisfaction from delivering quality products. Learning Scrum is best done by applying practices and experiencing the process firsthand.
Agile , SCRUM
Introduction
What is Agile Methodology?
What is Scrum?
History of Scrum
Functionality of Scrum
Components of Scrum
Scrum Roles
The Process
Scrum Artifacts
Scaling Scrum
Q & A Session
This document provides an overview of Agile and Scrum concepts. It discusses the Shu-Ha-Ri learning model, which involves first following rules, then bending rules, and finally intuitively knowing what is right. It also covers topics like sprint backlogs, delegation levels, user stories, and the Agile manifesto principles. The goal is to help trainees understand and apply Agile frameworks.
Operating a delivery model of 90:10 (90% - offshore and 10% onsite) or 80:10 implementing the agile practices could be very challenging. The aim of this presentation would be to bring out challenges faced by offshore agile teams. The presentation will be complemented with couple of case studies.
The document outlines an agenda for a Lean-Agile leadership workshop for executives. It will begin with comparing waterfall vs Lean-Agile methodology, focusing on adopting a value-driven mindset by looking at culture first. It will then cover Agile product management, discussing topics like limiting work in progress, prioritization using journey maps and story maps, and the product owner role. Executives will also have a Q&A about Agile transformation journeys and be provided with self-learning aids.
The document discusses principles of clean code for WordPress plugin development. It defines clean code as code that is readable, maintainable and flexible. It emphasizes meaningful naming, single responsibility principle, dependency inversion principle and other SOLID principles. It also discusses design patterns like facade and independent architecture. The document provides an example of applying these principles in the Shashin photo plugin through object-oriented design, isolation of concerns and unit testing.
This document provides an overview of managing iterative software development using Scrum. It discusses how Scrum and iterative development can help reduce software project failure rates, bugs, and improve usability through closer customer interaction. Key aspects of Scrum covered include roles, artifacts like product and sprint backlogs and burn down charts, and how daily stand-up meetings work. The document also discusses how the author has adopted aspects of Scrum to manage projects while maintaining traditional project management artifacts to satisfy management.
This document provides an overview of the SCRUM agile methodology. SCRUM involves breaking work into short sprints of 2-4 weeks. It emphasizes accountability, transparency, and delivering working software frequently. Key aspects include roles like the product owner and scrum master, daily stand-up meetings, and tracking progress through burndown charts and velocity measurements. SCRUM allows requirements to evolve through frequent releases rather than assuming a fixed set at the start.
This document discusses how traditional project management approaches can fall short for complex work, and introduces Agile product development using Scrum as a framework. It explains that Scrum focuses on maximizing business value through collaborative customer engagement and empirical process improvement over comprehensive planning. Scrum is presented as a practical method for complex work where needs may change, using short development cycles called sprints to iteratively deliver working software or products.
Kin2020- flow based product development- an experience reportRavi Tadwalkar
The document discusses transitioning a product development team from a mandated Scrum process to a leaner Scrumban process. It emphasizes focusing on flow-based product development and increasing collaboration through practices like mob programming and behavior driven development. The team used tools like a process evaluation framework and simulation to help decide what process changes would work best for increasing flow efficiency and productivity.
Hello, my name is Illya Pavlichenko and I’m an Agile Coach and Professional Scrum Trainer (PST) at Unusual-Concepts. My job is all about dealing with Agile and Scrum dysfunctions and I love it. I work with multiple companies/teams and I see the same anti-patterns (symptoms) of using Scrum AGAIN and AGAIN. Well, I decided to create a list of them. It turned out to be exhaustively long. Then I removed less important items and finally got the list of 27 symptoms you can see below. Each of the symptoms potentially can lead to a separate article and/or discussion. That is why I attached quotes from best Scrum books (from my point of view) to make those symptoms as self-explanatory as possible.
So, are you ready for 27 Scrum dysfunctions? Here it is - Rotten Scrum.
Scrum is an agile software development framework that focuses on self-organizing cross-functional teams, sprints of work lasting 2-4 weeks, daily stand-up meetings, and artifacts like a product backlog, sprint backlog, and burndown chart. The process involves sprints where teams work through a prioritized backlog, daily scrums for status updates, and sprint reviews and retrospectives at the end of each iteration to inspect work and improve processes.
Scrum is an agile framework that focuses on rapid delivery of working software in short cycles called sprints. It consists of self-organizing cross-functional teams, regular sprints with daily stand-ups, and artifacts like a product backlog, sprint backlog, and burn-down charts. The process involves sprint planning, daily scrums, sprint reviews, and retrospectives. Scrum roles include the product owner who prioritizes the backlog, the scrum master who facilitates the process, and the development team.
Introduction to Scrum presentation which outlines common issues in software development, what is Scrum, and an introduction to the Scrum framework. This presentation has been used for training and presentations to both technology and business audiences.
The document discusses several agile software development frameworks including the Agile Manifesto, eXtreme Programming (XP), Scrum, and hybrid methods. The Agile Manifesto values individuals, working software, customer collaboration, and responding to change. XP focuses on communication, simplicity, feedback, and courage. Key practices include planning game, small releases, refactoring, and collective code ownership. Scrum emphasizes empirical process control, self-organizing cross-functional teams, and delivering working software frequently in short iterations. Hybrid methods combine different agile approaches to suit various project needs.
PMI and Scrum - bridging the gap
Presentation for PMI members and Agilists in Montevideo, Uruguay, introducing commonalities between Project Management and Agile approaches.
Agile project management is more about empowerment. Agile projects are not lead by individual like project manager. Agile project management is a combination of art and science both where you should be well versed with the principals of the project management. At the same time you should be practical while taking decision and understanding circumstances.
LKIN2018: leveraging Lean and Kanban to implement continuous improvementRavi Tadwalkar
Here are the key steps in the improvement plan:
1. Understand the direction and challenges facing Operations through initiatives like the Tech Refresh program. The focus is on hardware onboarding/offboarding bottlenecks.
2. Assess the current condition through value stream mapping to identify operational inefficiencies and document the "as is" state.
3. Define the next feasible target condition by documenting the desired "to-be" state value stream map.
The plan involves understanding the challenges, assessing the current process inefficiencies, and defining an improved future state to guide continuous improvements in Operations.
This document discusses implementing Scrum in Indonesian banks and addresses some common misconceptions. It explains how Scrum can comply with Bank Indonesia regulations regarding software development processes. It presents ways to map Scrum events like sprints to required processes and how Scrum supports risk management practices. It also discusses how Scrum allows for planning at various levels and that documentation is still required beyond just the product backlog.
The document provides an overview of the Scrum model for agile software development. Scrum divides projects into short sprints of 2-4 weeks to focus development. It utilizes daily stand-up meetings, sprint planning and reviews, and retrospectives. Key roles include the product owner who prioritizes the backlog, the scrum master who facilitates the process, and the cross-functional development team. Scrum aims to provide structure while allowing for flexibility, feedback and adapting to changes.
The document provides an overview of Scrum, an Agile framework. It discusses the Scrum values, roles, practices, and artifacts. The Product Owner prioritizes goals and maintains the product backlog. The Scrum Master facilitates the process and removes impediments. The cross-functional team is self-organizing. Key practices include sprint planning, daily stand-ups, sprint reviews, and retrospectives. Customers benefit from early feedback and faster delivery. Leaders gain better engagement and accountability. Team members enjoy a sustainable pace and satisfaction from delivering quality products. Learning Scrum is best done by applying practices and experiencing the process firsthand.
Agile , SCRUM
Introduction
What is Agile Methodology?
What is Scrum?
History of Scrum
Functionality of Scrum
Components of Scrum
Scrum Roles
The Process
Scrum Artifacts
Scaling Scrum
Q & A Session
This document provides an overview of Agile and Scrum concepts. It discusses the Shu-Ha-Ri learning model, which involves first following rules, then bending rules, and finally intuitively knowing what is right. It also covers topics like sprint backlogs, delegation levels, user stories, and the Agile manifesto principles. The goal is to help trainees understand and apply Agile frameworks.
Operating a delivery model of 90:10 (90% - offshore and 10% onsite) or 80:10 implementing the agile practices could be very challenging. The aim of this presentation would be to bring out challenges faced by offshore agile teams. The presentation will be complemented with couple of case studies.
The document outlines an agenda for a Lean-Agile leadership workshop for executives. It will begin with comparing waterfall vs Lean-Agile methodology, focusing on adopting a value-driven mindset by looking at culture first. It will then cover Agile product management, discussing topics like limiting work in progress, prioritization using journey maps and story maps, and the product owner role. Executives will also have a Q&A about Agile transformation journeys and be provided with self-learning aids.
The document discusses principles of clean code for WordPress plugin development. It defines clean code as code that is readable, maintainable and flexible. It emphasizes meaningful naming, single responsibility principle, dependency inversion principle and other SOLID principles. It also discusses design patterns like facade and independent architecture. The document provides an example of applying these principles in the Shashin photo plugin through object-oriented design, isolation of concerns and unit testing.
The PMI India Project Management National Conference 2013 put the spotlight on the way organizations are staying focused on their strategic objectives and seeing success through project management.
People Management, Team Management, Performance Review, Talent Management, Employee Performance, Employee Management, Managing non-performers,Team Building
Reckon Conf2015 (AU / NZ) Reckon One deep dive getting started with coreReckon
The CORE module provides an overview of key Reckon One concepts including navigation, certification, setting up new books, removing user access, reorganizing the chart of accounts, assigning user roles and security, exporting account codes, sub-accounts, and selecting comparative periods for reports. The module is delivered through a program that covers 7 bullet points on these essential Reckon One topics.
This document provides an overview of Scrum and its key concepts. It defines the waterfall and agile models of software development. Scrum is described as an agile method that uses cross-functional teams, product backlogs, sprints, daily stand-ups, and sprint reviews. Key Scrum roles like the Product Owner and Scrum Master are explained. The document also discusses estimating techniques, burndown charts, and how Scrum compares to other agile frameworks.
Azure DevOps provides tools to help organizations implement an Agile-Scrum development process. It includes Azure Boards for backlog management and tracking work items. Teams use Azure Pipelines for continuous integration and deployment. The process involves sprints, daily stand-ups, sprint planning and reviews, and retrospectives. Source code is stored in Azure Repos with branching strategies. Tests are managed in Azure Test Plans. Reusable components are packaged in Azure Artifacts. This helps automate builds, releases, and testing to streamline the development and release cycle.
The document provides an overview of software development methodologies and best practices used in corporate America. It discusses waterfall and agile methodologies, emphasizing agile's benefits like constant delivery of small features, transparency, and adaptability. It also covers topics like source control using Git, code quality practices like testing and code reviews, and considerations for applying agile principles in a research lab setting.
The document discusses key concepts in Agile and Scrum project management frameworks. It outlines some common misconceptions about Agile, describes Scrum roles and ceremonies like sprint planning and review meetings, and emphasizes that adopting Scrum requires changes to team dynamics, skills, and work habits.
The document discusses agile methodologies for SAP projects as an alternative to traditional waterfall models. It describes the challenges of waterfall approaches, including difficulties estimating budgets, requirements changes late in the project, and inability to adapt to changes. The document then summarizes the Scrum and Kanban agile methodologies. Scrum uses short iterative sprints to incrementally develop functionality. Kanban uses a pull-based system with visual boards and limits on work-in-progress to manage flow and identify bottlenecks. Both aim to deliver value earlier, adapt to changes, and improve throughput and lead times over traditional waterfall approaches.
Overview of SCRUM development process. I put this together to present to my company/group.
Most slides are "borrowed" from Alan Shalloway's presentation.
The document provides an overview of agile development using Scrum. It discusses the foundations and principles of Scrum, including self-organizing cross-functional teams and delivering working software every sprint. The key roles of Product Owner, Scrum Master, and Scrum Team are defined. Sprints are short iterations usually 2-4 weeks where working software is delivered. Meetings like sprint planning, daily standups, reviews and retrospectives support the process.
Scrum is an agile software development framework that focuses on self-organizing cross-functional teams, sprints of work lasting 2-4 weeks, daily stand-up meetings, and empirical process control. The key roles are the Product Owner who prioritizes features, the Scrum Master who facilitates the process, and the self-organizing Development Team. Scrum uses sprints, daily scrums, sprint planning meetings, sprint reviews, and retrospectives to deliver working software frequently in an iterative and incremental fashion.
Scrum is an agile framework that focuses on rapid delivery of working software in short cycles called sprints. It consists of self-organizing cross-functional teams, regular sprints with daily stand-ups, and artifacts like a product backlog, sprint backlog, and burn-down charts. The product owner prioritizes the backlog, the scrum master facilitates the process, and teams work to complete items in sprints usually 2-4 weeks long. Scrum enables rapid, flexible response to change through inspection and adaptation at the end of each sprint.
Scrum is an agile framework for managing projects that uses short cycles of work called sprints to incrementally deliver working software. There are three main roles in Scrum - the Product Owner prioritizes features in the Product Backlog, the Scrum Master facilitates the process, and the self-organizing Team works to complete the highest priority items each sprint. Key Scrum artifacts include the Product Backlog, Sprint Backlog, and Burn Down Chart. The main Scrum ceremonies are Sprint Planning, Daily Scrum, Sprint Review, and Sprint Retrospective meetings.
This document summarizes and compares several agile development processes: Team Software Process (TSP), Scrum, Extreme Programming (XP), OpenUP/Basic, and Feature-Driven Development (FDD). It discusses the characteristics, roles, ceremonies, and considerations for choosing each process. The document is presented by Mike Cohn of Mountain Goat Software and provides his contact information at the end.
Choosing the right agile approach for your organizationInCycle Software
This document provides an overview of different Agile methodologies including Scrum, Kanban, and Scrumban. It discusses the benefits and processes of each approach and provides guidance on how to choose the right methodology based on factors like organizational culture, project types, and team skills. Tools like Team Foundation Server are presented as a way to support Agile planning and tracking across teams.
The document provides an overview of the Scrum methodology for agile software development. It describes the key roles in Scrum projects including the Product Owner, Scrum Master, and Development Team. It also outlines the core Scrum events such as sprint planning meetings, daily stand-ups, sprint reviews, and retrospectives. Finally, it summarizes the different phases in a Scrum project including vision, planning, development, release, and closure.
This simple and crisp quick reference card is for Agile and Scrum basics. It is a simple way to glance through all the concepts and use it as a tool for revision, even before an interview.
The document provides an overview of Agile and Scrum frameworks. It describes the key challenges with traditional software development approaches and how Agile and Scrum address these challenges through incremental delivery, frequent feedback, and transparency. It outlines the core components of Scrum including roles, ceremonies, and artifacts like product backlog, sprint backlog and burn down charts. Scrum uses short iterative cycles called sprints to incrementally develop working software and gather feedback to continuously improve.
This document provides an overview of Agile methodology and SCRUM. It discusses the principles of Agile, including its emphasis on collaboration, adaptability, and delivering working software frequently. It then describes SCRUM in more detail, covering the roles of Product Owner, Scrum Master, and Team. The key SCRUM artifacts like Product Backlog, Sprint Backlog, and Burn Down Chart are explained. It also outlines the core SCRUM ceremonies of Sprint Planning, Daily Scrum, Sprint Review, and Retrospective. The document concludes by discussing challenges of adopting SCRUM and provides tips for SCRUM Team members.
This document summarizes the experience of Tribune Technology in adopting Agile methodologies like Scrum. It describes how the organization consolidated different IT teams across properties into centralized teams in 2008. An initial attempt to adopt Scrum for all projects led to issues with too many projects, lack of dedicated resources, and treating all project types the same. Over time, the organization learned that Scrum is best for software development and not all project types. Standards and tools were introduced to provide more structure. The organization realized Scrum is not a silver bullet and they need to prioritize the business needs, not just backlogs. Dedicated team members and travel for distributed teams are also important factors for success.
The document discusses using an agile approach called Hybrid ASAP methodology for SAP implementations to overcome the limitations of the traditional waterfall approach. Hybrid ASAP combines aspects of ASAP methodology and agile methods like Scrum. It involves dividing the project team into smaller groups to work in parallel sprints. An initial product backlog is created using SAP accelerators and baseline builds. Then a lean business blueprint is made along with a release plan. Multiple sprints are conducted with dynamic updates to the product backlog at each sprint completion to deliver incremental working software. This allows for faster deployment, reduced risks and improved customer satisfaction over the traditional waterfall approach.
Agile and UX, July 8 - Scrum Club, Los Angeles, CAPatrick Neeman
This document discusses how to integrate user experience design into the Scrum agile development process. Some key points:
- Scrum is an agile process that focuses on iterative development through short sprints, daily stand-ups, and retrospectives to improve. UX design fits well by focusing on user research, wireframes, and testing each sprint.
- Roles include the Product Owner who defines features and priorities, the Scrum Master who removes barriers for the team, and a cross-functional team that includes UX designers, developers, and QA.
- Each sprint the team commits to completing user stories or features in a "Definition of Done" state, with demos for the Product Owner.
RubyConf 2022 - From beginner to expert, and back againmtoppa
"In the beginner's mind there are many possibilities, in the expert's mind there are few."
- Shunryu Suzuki, from "Zen Mind, Beginner's Mind"
The Japanese Zen term shoshin translates as “beginner’s mind” and refers to a paradox: the more you know about a subject, the more likely you are to close your mind to further learning. In contrast, the beginner’s state of mind is judgment free. It’s open, curious, available, and present. We’ll draw on examples of these mindsets from fields as varied as aviation and geology, and discover lessons we can apply to the world of software development.
RailsConf 2022 - Upgrading Rails: The Dual Boot Waymtoppa
Upgrading Rails is easy, right? Sure, as long as you are upgrading your patch version. A Rails upgrade for a big application is not a trivial project: It took GitHub a year and a half to upgrade from Rails 3.2 to 5.2.
While upgrades have become easier with every new Rails version, your application has only become more complicated with every new dependency you added.
In this workshop you will learn a proven Rails upgrade process for major and minor version changes of Rails. You will leave this workshop with a roadmap to upgrade your Rails application.
Applying Omotenashi (Japanese customer service) to your workmtoppa
This document is a transcript of a presentation given by Mike Toppa at RailsConf 2019 about applying the Japanese concept of Omotenashi (hospitality and customer service) to software development work. Toppa discusses his personal experiences in Japan through visiting with his family and shares some cultural aspects of Japan like cleanliness, orderliness, and politeness that relate to Omotenashi. He hopes to explore how concepts from Omotenashi could provide value for software teams to evolve beneficial practices.
I gave this as a lightning talk at Boston.rb on 7/14//2015. It's a discussion of the challenges of applying the Law of Demeter to Rails programming.
I gave an older, simpler version of this talk at Philly.rb on 1/15/2013. I've replaced those older slides.
A11Y? I18N? L10N? UTF8? WTF? Understanding the connections between: accessib...mtoppa
This document discusses accessibility, internationalization, localization, and character sets. It begins by defining each term and explaining their connections. It emphasizes that accessibility is important for many users, not just those with disabilities. It provides guidelines for making content accessible and discusses tools for internationalization and localization in WordPress like loading text domains and generating POT files to enable translations.
The promise and peril of Agile and Lean practicesmtoppa
Why you may to consider adopting Agile or Lean practices, how they differ from each other, what benefits you can expect, and what obstacles you may face.
Why do planes crash? Lessons for junior and senior developersmtoppa
The document discusses lessons for junior and senior developers based on analysis of plane crashes. It notes that plane crashes are often due to poor communication between pilots, with junior pilots using "mitigated speech" to avoid directly confronting seniors. This leads to key safety issues being missed or misunderstood. Similarly, junior developers may hint at problems rather than speaking directly to avoid appearing confrontational. The document advocates for junior developers to clearly communicate any concerns they have and for senior developers to actively mentor junior staff and listen to their perspectives without prejudice.
Boston Ruby Meetup: The promise and peril of Agile and Lean practicesmtoppa
Why you may to consider adopting Agile or Lean practices, how they differ from each other, what benefits you can expect, and what obstacles you may face
WordCamp Nashville 2016: The promise and peril of Agile and Lean practicesmtoppa
Michael Toppa gave a presentation on the promise and perils of Agile and Lean practices. He discussed how adopting these practices can help address common project problems like unrealistic expectations that compromise quality, multitasking that reduces productivity, and lack of feedback that leads to building the wrong products. However, going all-in with Agile through methods like Scrum requires major changes all at once, while adopting Lean through Kanban allows for more incremental evolution. Successful implementations inspect and adapt processes, rather than relying on superficial or misapplied changes.
We want code that is easy to understand, re-usable, and flexible. But we are always up against deadlines, so we rush, and end up with code that is messy, buggy, hard to maintain, and makes us go slower even though we’re trying to go faster.
What is clean code? In this talk I’ll provide some answers to this question, and introduce you to 10 good habits that will help keep your code clean, such as the use of meaningful names for your variables and functions, and following the “Boy Scout Rule” (leave the code cleaner than you found it). I will even try to persuade you that using a lot of code comments is a sign that there are problems with your code.
Mike Toppa gave a presentation on dependency injection in PHP. He discussed classes and objects in PHP, the SOLID principles including the single responsibility principle and dependency inversion principle. He explained class autoloading in PHP and different techniques for dependency injection including constructor injection, setter injection, and using a dependency injection container.
WordCamp Boston 2015: Agile Contracts for WordPress Consultantsmtoppa
Before going out on my own to start Poka Yoke Design this June, I worked at PromptWorks, where we signed over 30 Time & Materials (T&M) contracts with clients over the past 2 years, from local businesses to nationally known media companies. This is in contrast to traditional Fixed Scope, Fixed Cost (FS-FC) contracts.
Prospective clients typically have an initial preference for FS-FC contracts: they’re familiar, and at first glance, seem to guarantee the client will get what they want (by spelling out business requirements in detail), and place the business risk on the contractor. However, traditional contracts fail to recognize that web application development is more like an R&D project than a construction project. In the fast paced world of the web, business requirements can grow and change rapidly, technical challenges and opportunities can arise, and both parties benefit from being able to respond to these changes in a teamwork fashion, instead of spending time on lengthy contract re-negotiations.
In this talk we’ll explore what goes into a T&M contract, how to persuade a prospective client to sign one, and how to live up to the expectations you create in the persuasion process, to deliver a successful project.
WordCamp Nashville 2015: Agile Contracts for WordPress Consultantsmtoppa
When you develop a WordPress based project for a client in an Agile way, you deliver working features on a frequent basis, such as weekly, as you build out the project. This allows for review, feedback, and adapting to change. Evolving business requirements are welcome in an Agile process, instead of a source of frustration.
The problem is, even if clients think an Agile approach sounds good, they almost always have a preference for traditional Fixed Price, Fixed Scope contracts. These contracts, with detailed specifications, costs, and delivery dates, contradict the Agile approach, but they provide clients them with a sense of security and confidence that they will get what they want.
How do you convince them a traditional contract is actually riskier than they think, and persuade them to instead sign a contract that facilities Agile development? This is the most significant challenge facing consultants who want to follow Agile practices. At PromptWorks we use Time & Materials contracts with our clients, and we have signed over 30 of them in the past 2 years. In this talk we’ll discuss:
* What different types of contracts imply about the nature of the relationship with your client, and what it means for it to be a professional relationship of equals. Risk and reward should be shared, and the relationship should feel like a partnership.
* The persuasion and negotiation process for getting your prospective clients to sign a Time & Materials contract. We’ll discuss real-life situations from our experience at PromptWorks.
* PromptWorks’ typical project proposal, Master Service Agreement, and Scope of Work documents. We’ll highlight key aspects of our approach, and things to look out for if you have to use contract documents provided by your client.
WordCamp Nashville: Clean Code for WordPressmtoppa
Slides from my talk at WordCamp Nashville, including notes. Covers why clean code is important, and provides 10 tips to make your code cleaner, for WordPress and beyond
An overview of Agile and Scrum practices, and a comparison of 2 different, real-life Agile adoption experiences in a University setting. Presented at the Wharton Web Conference, July 2011
Object Oriented Programming for WordPress Plugin Developmentmtoppa
An introduction to object oriented programming in PHP. This is applicable to WordPress and other CMS/frameworks as well. Note the last half of the slideshow contains the notes for the slides shown in the first half.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
1. Scrum at SOMIS
Michael Toppa
University of Pennsylvania
School of Medicine
Information Services
November 2, 2010
2. Overview
The SOMIS Web Applications Group
our staff – our teams – our challenge
3 different approaches to software development
waterfall - no formal process - agile
Scrum
3 roles - 3 artifacts - 3 meetings
Requirements
user stories – epics - conditions of satisfaction
Planning and Estimating
release planning – estimating - velocity - sprint planning
Technical practices
OOD - TDD – refactoring – pair programming
3. Web Group: Old Setup
PM Design PM
Admissions BGS Registrar Designer Designer ITMAT Designer
FAPD FAPD PM ITMAT OHR Genetics DSS Other
4. Problems with the old setup
Each programmer worked in a “silo”
Inadequate sharing of skills and knowledge
Not enough common solutions to common problems
Support problems if someone is out or leaves
Difficult to swarm on a big project
Difficult to find support for clients we work with only
occasionally
Unclear responsibilities for project managers
Often difficult to plan
5. Web Group: New Setup
Admissions, BGS, Registrar, Others FAPD, Genetics, DSS, Others
SM PO SM PO
ITMAT, OHR, Vice Dean of Research, Others Design Team: ITMAT, Others
SM PO SM PO
6. Our Current Challenges
Getting better at doing Scrum
Getting more staff – we especially need another Product
Owner
Getting our backlog under control
Currently supporting and developing 109 applications for 22
different clients
That does not include the design team, which supports roughly
200 static web sites
Our recent planning effort indicates we would need to triple our
staff to do the work our clients desire over the next six months
We're working on establishing an Advisory Board to help us
prioritize our work
7. 3 Approaches to Software
Development
Waterfall – focus on “anticipation”
Highly detailed, big plans
No formal process – focus on “adaption”
Every day is an adventure
Agile – balance anticipation and adaption
Has a formal process, but is geared towards
adapting to change
8. Waterfall
Traditionalsoftware development models are based
upon a defined methodology which attempts to:
Define all requirements up front
Logically break down the work
Estimate the effort / durations
Plan out all the work
And only then begin the development…while trying to
limit/control any change that will threaten the plan.
“Waterfall” Development Methodology
Document System Concept
l
tia
System Requirements
Architectural Design
u en
eq
Detailed Design
Code, Debug, Unit Test
System Test
S
Deploy & Operate
9. Waterfall: Results
Accordingto industry surveys, the waterfall
model results in overproduction of features:
Almost half of all features are never used
One-fifth of features are rarely used
Business value is not delivered reliably:
One-fifth of all projects are considered failures by
their clients
Half of all projects are considered ”challenged”
10. The Agile Alternative
Waterfall Agile
The Plan creates The Vision creates
cost/schedule estimates feature estimates
Constraints Features Cost Schedule
Value / Vision
Driven
Plan
Driven
Estimates Cost Schedule Features
Source: Michelle Sliger in “Relating PMBOK Practices to Agile Practices”
12. Scrum Is...
3 Roles
3 Artifacts
3 Meetings
That's it!
But there are also several best practices
commonly used with Scrum, for requirements
gathering and for writing code
13. Roles: The Product Owner
Manages the relationship with the clients
Gathers and writes up business requirements
Sets the priorities for the team
Responsible for what the team will work on, but not
how the work is done:
Does not have authority over technical design decisions
Cannot tell an individual team member what to do
A good Product Owner is: available, business-
savvy, communicative, decisive, empowered
14. Roles: The Scrum Master
A “servant-leader” for the team
Analogous to a physical trainer: can set goals and provide
encouragement, but cannot specifically tell you what to do
But does have authority over the Scrum process
For example, if daily scrums are getting long and unproductive, the
Scrum Master can limit the scope of conversation and control the length
of the meeting
Removes obstacles for the team, such as:
Helping a product owner to improve poorly defined requirements
Helping to solve technical problems
A good Scrum Master is: responsible, humble, collaborative,
committed, influential, and knowledgeable
15. Roles: The Team
The team takes collective responsibility for
doing the work, and doing it in priority order
This means more interaction with co-workers
than some programmers are used to
It can also mean more interaction with clients
Team members can still have a technical
specialty (e.g. database design), or a project
specialty, but will often need to do work
outside their specialties
16. Artifacts: Product Backlogs
Every project has a set of desired features
The “backlog” for the project is where the features are listed in
priority order
The priorities are determined by the clients' business needs
But negotiation is allowed for reasons of technical efficiency
The Product Owner is responsible for the Product Backlog
Each of our clients has a number of projects
Each of our teams support a number of clients
18. DEEP
Product Backlogs should be:
Detailed appropriately
Estimated
Emergent
Prioritized
19. Artifacts: The Sprint Backlog
A sprint is a repeating time interval – we start a new sprint every
2 weeks
At the start of each sprint, the team estimates the top priority
items in their product backlog, to determine how many they think
they can finish in the sprint
The product backlog items the team feels they can commit to
finishing are put in the sprint backlog
Any unfinished items from one sprint roll over to the next sprint
Because we work in priority order, any unfinished work is the least
important work
20. Artifacts: Burndown Charts
A burndown chart provides a high-level
snapshot of the team's progress during a
sprint
The Y axis indicates the work remaining to do
Work is estimated at the start of the sprint
The X axis shows the days remaining in the
sprint
21. Start Date: 5/24
Research Billing - Sprint 2
Percent Effort
Still To Go Burndown Chart
End Date: 6/4
User Stories: 20
Estimated Hours: 81
100
90
5/25
80
5/28
70
60
50
6/2
40
30
20
6/4
10
0
0 1 2 3 4 5 6 7 8 9
Days
Percent Ideal Line
22. Scrum Meetings
Release Planning
Team estimates new product backlog items
Held as needed
Run by the Product Owner
Sprint Planning
First day of sprint
Decide on work for the sprint
Run by the Scrum Master
Daily Scrum
Daily check-in meeting: 15 minutes maximum
Run by the Scrum Master
What did you do yesterday?
What are you doing today?
Do you need help with anything?
23. Scrum Meetings
Sprint Review
Product Owner reviews finished work
Held at the end of the sprint
Run by the Scrum Master
Sprint Retrospective
Held at the end of the sprint
Team review - highlight what went well, what didn't, discuss goals for next
sprint
Run by the Scrum Master
Product Owner typically not included
Scrum of Scrums
Retrospective for all teams together
Held as desired
24. SOMIS Sprint Compromises
Scrum calls for focus on a single project
Our sprints typically entail work on a few projects, as we
simply have too many
Scrumcalls for not making any changes to the work
planned in a sprint
We stick to our planned work, but we reserve time in
each sprint for unplanned work and urgent bugs
For many of our clients we are involved in day-to-day
operational support needs
We will work towards reducing unplanned work – it is a
big culture change for us and our clients
27. Requirements Gathering
In Scrum, we don't define a complete, highly detailed
plan at the start of a project. Why?
Time is scarce
Don't treat all requirements as equal
Do priority features first
Learn the details about a requirement as it gets closer to the
time you'll work on it
Things will change
New requirements will emerge as the project progresses
Others may fall away
28. User Stories
Requirements are gathered in the form of
User Stories
As a [role] I want to [do something] so that
[goal]
Provides a quick understanding of who, what,
and why
“As a theater patron, I want to reserve a ticket
online, so I am sure I can go to the play.”
29. Gathering User Stories
Often a good way to start is with a low fidelity
visual prototype of the application flow
Using a white board is good for this
A Product Owner's responsibility, but the team
can help
Provides a basis for deriving user stories
Makes it easier to understand how the user
stories will fit together to shape the overall user
experience
32. Good stories: INVEST
Independent
Negotiable
Valuable to users or customers
Estimatable
Small
Testable
33. Conditions of Satisfaction
By the time the story is ready to be coded, all the
details need to be added, in the form of high level
acceptance tests (conditions of satisfaction)
The tests let the developers know how to measure
when they are done, and they facilitate estimating
They can be added as they are discovered (over the
course of planning meetings with product owners,
even while developers are estimating)
34. Example Conditions of
Satisfaction
As a theater patron, I want to reserve a ticket
online, so I am sure I can go to the play.
Conditions of Satisfaction
Customer can choose from seats not already
reserved
Customer can pay with a valid Visa, MasterCard, or
American Express
Customer will receive an email notification
summarizing the reservation
35. Epics
Epics are very large stories for work that will
be done further in the future
They will need to be broken down into
multiple user stories before they can be
worked on
“As a job seeker, I want to post my resume
online, so potential employers can find me”
Useful for initial scoping of the features areas
in a large project
37. Release Planning
In release planning meetings, the team
reviews new stories
After the team has a general understanding
of a story, they estimate the size of the work
involved
Estimating is done in story points
40. Velocity
The story points completed in a sprint is the team's
velocity for that sprint
The goal is to measure how quickly a team moves
through the product backlog, so we can plan
A team's historical record can be used to
determine the likely range of future velocities
Important not to use one team's velocity to predict
the velocity of other teams, especially early on
Perspectives on story point numbers may vary
Different teams may have different tempos
42. Going from Stories to Tasks
When it’s time for the team to estimate stories for a
sprint, break the story down into tasks
Estimate the work in hours at this point, not story points
We can do away with time estimates once we establish a
velocity for the team
The next slide is a task breakdown for the story:
“A user can search for a hotel on various fields…”
45. When you need something
more…
It’sperfectly fine to supplement conditions of
satisfaction with other documents:
The Research Billing project has a spreadsheet
indicating the availability of various functions by
user role. This is easier to understand and
reference than multiple lists of conditions
Specification by example is also a useful
technique for understanding and documenting
complex rules
47. Clean Code
Projects do not start with a big design plan in Scrum
This means code must be designed with future
refactoring in mind:
Object oriented design
Small classes and methods – the single responsibility
principle (SRP)
Meaningful names – self-documenting code
Automated tests – gives you confidence to make changes
without fear of breaking downstream dependencies
48. New Practices for SOMIS
We are just starting to explore the technical practices
recommended for use with scrum
Object oriented design
Several of our projects use OOD extensively, but we don't have a
common set of practices yet
Test driven development
One team so far has experimented with TDD
I have found it to be a powerful technique
Pair programming
One team has also experimented with this
Studies indicate the quality improvements far outweigh the time
spent by two people working on the same task
Editor's Notes
Old projects are like geological layers. They build up over time, and always require some degree of ongoing maintenance and feature enhancements. New projects are continuously piled on top, but our staffing does not increase. Eventually we will reach a point of unsustainability, unless we find a way to increase our productivity.
Typically for our projects, resources are fixed, scope often changes, and deadlines are sometimes flexible. With Scrum, deadlines and resources are fixed, and scope is what shifts. Priority features are worked on first in a sprint, and developed to be fully functional. If the work was underestimated, then lower priority features are skipped, and roll over to the next sprint. The point is that we are always delivering fully functional features on a regular schedule, and priority features are done first.