This is a presentation that was given to the Project Management Institute of Metrolina. The goal is exposure to the fundamental ideas of Lean/Agile/Scrum software development.
Effective Product Development Using Agile MethodsNaresh Jain
油
Effective Product Development Using Agile Methods presentation by Baps for Agile Chennai 2007 conference http://agileindia.org/agilechennai07/index.htm
The 3 Revolutions (Agile, Lean, Lean Startup)Claudio Perrone
油
This is the (long overdue) translation of my opening keynote at the Italian Agile Day. I just presented it for IASA Ireland (International Association Software Architects).
The a3thinker.com iphone/ipad app I mentioned (on Lean problem solving, 5 Whys, etc) went on sale on the Apple store on Mar 18. The A3 Thinker's Action Deck (physical cards) is going to be on sale shortly...and it is just awesome ;-)
The document discusses Agile software development methods and provides evidence that Agile approaches are effective. It defines Agile development as iterative and incremental with close collaboration. Case studies show organizations achieving better results with Agile, including increased productivity, quality, and customer satisfaction. Adopting Agile practices like Scrum and test-driven development enables organizations to adapt to changing priorities and deliver working software more frequently.
Five Key Numbers to Gauge your Agile Engineering EffortsJeff Nielsen
油
The document discusses five key metrics to measure the effectiveness of agile engineering practices: 1) How long until you see feedback from a test after changing code, 2) How many one-line code changes can be committed and tested in an hour, 3) How many team members can explain parts of the code, 4) What percentage of team members paired in the last two days, and 5) How many steps it takes to get code into production. These metrics help gauge how well practices like test-driven development and continuous integration are flattening the cost of change curve.
The Values and Principles of Agile Software DevelopmentBrad Appleton
油
The document discusses the values and principles of agile software development. It begins by introducing the presenter and their experience and background. It then outlines the core values of agile development as defined in the Agile Manifesto: individuals and interactions, working software, customer collaboration, and responding to change. The document continues by explaining that principles guide behavior towards upholding these values. It proceeds to define several key agile principles in more detail, including continuous delivery of customer value, welcoming change, and collaborating daily across functions.
The document introduces agile software development methods. It discusses the goals of being able to speak confidently about agile and provide solutions to problems teams face. The agenda covers introductions to agile principles, roles, planning, reporting, retrospectives, and estimating. Popular agile methods like Scrum and XP are explained. The roles of product managers and product owners are compared.
Agile lean software development principlesEyna Hamdzah
油
Agile software development is a process that supports the agile philosophy of being able to move quickly and easily. It is suitable for small or medium sized projects or for custom system development within an organization. Lean software development applies lean manufacturing principles to software development with the goal of reducing waste and providing high value for the customer. The key principles of lean software development are to eliminate waste, amplify learning, defer commitment, deliver fast, respect people, build in integrity, and optimize the whole system rather than sub-optimizing parts. Success stories found lean software development resulted in on time delivery, reduced scrap and rework, lower costs, and improved productivity.
The document provides an overview of the agile software development process. It begins with defining agile as an iterative and adaptive approach to software development performed collaboratively by self-organizing teams. It then discusses agile principles like valuing customer collaboration, responding to change, and delivering working software frequently. The document also covers specific agile frameworks like Scrum and Extreme Programming, the role of user stories, estimation techniques like planning poker, and ceremonies like daily stand-ups, sprint planning and retrospectives. It concludes by comparing agile to the traditional waterfall model and defining some common agile metrics.
Introduction to Agility from Saint Louis Day of Dot Net session:
History, Definition, Comparison to Waterfall, Agile methodologies, Myths & Misconceptions, Common failure, & Advanced discussion points.
Agile Scrum Master is an advanced level Agile Project Management course that is ideal for individuals and enterprises that are looking to gain a comprehensive understanding of Agile methodologies and Scrum practices and covers Scrum Master role with regards to facilitating the Scrum team that adheres to Scrum theory, practices, and rules.
Agile and Scrum Master Certification training course accredited by EXIN is ideal for software developers, project team members, team leads, architects, project managers, scrum team members, scrum managers, scrum masters, teams transitioning to scrum, and any one who is part of IT and project management teams working on projects.
To know more about Agile Scrum Master Certification training worldwide,
please contact us at -
Email: support@invensislearning.com
Phone - US +1-910-726-3695,
Website: https://www.invensislearning.com
From Productivity to Profitability by Saket Bansal - Lean India Summit 2014Lean India Summit
油
This document discusses how organizations can improve productivity and profitability through agile practices. It advocates measuring multiple variables like cycle time, velocity and value delivered to optimize the whole process rather than individual parts. An economic model is presented to evaluate decisions based on value added, risks, delays and total product life cycle profit. Key points are that productivity metrics alone do not capture profitability, the system needs to be viewed holistically, and we should avoid doing things that do not add value.
The Agile methodology - Delivering new ways of working, by Sandra Frechette, ...WiMLDSMontreal
油
"The Agile methodology - Delivering new ways of working"
By Sandra Frechette, Senior Consultant at Deloitte Digital
Abstract: The purpose of this talk is to explain the agile methodology and give real business cases about the implementation in companies transformation while discussing the myth that Agile projects dont only occur in IT implementations but in multiple lines of services.
Sandra helps clients transform organization to insight oriented organization to drive revenue, increase efficiency and reduce risk.
Backlog blunders can undermine an agile team's productivity. Common issues include stories that are unclear or lack acceptance criteria, dependencies between stories that are not defined, and estimates set too high due to unknowns. Formatting stories well with clear acceptance criteria and estimating honestly helps. Regularly refining the backlog through ceremonies ensures it remains valuable and prioritized based on feedback. Defining "done" criteria and keeping the backlog transparent helps teams deliver working functionality each sprint.
The Agile Manifesto (and a brief history lesson)Adrian Howard
油
The Agile Manifesto values individuals and interactions, working software, customer collaboration, and responding to change over processes/tools, documentation, contract negotiation, and strict plans. It lists 12 principles including satisfying customers through early delivery, welcoming changing requirements, frequent delivery, business/developers working daily together, and face-to-face communication. The manifesto helped uncover better software development practices through values emphasizing people over process.
The ultimate presentation about Scrum, the world's leading project management framework for agile software development.
http://www.noop.nl
http://www.jurgenappelo.com
The document discusses business process analysis and design. It introduces various process modeling toolsets and outlines their benefits. Key points include:
1) Process analysis involves understanding current work and measuring what adds value, while process design optimizes tasks to generate value for stakeholders.
2) Process modeling toolsets help visualize and improve processes by identifying unnecessary steps and inefficiencies.
3) Analyzing and optimizing processes can increase efficiency, effectiveness, and customer satisfaction to provide strategic advantages.
3P Production Preparation Process Overviewopexcreative
油
The document describes a 3P (Production Preparation Process) event, which is an intense 3-5 day workshop to design lean manufacturing processes. A cross-functional team collaborates in the 3P to develop waste-free systems focused on material and information flow. Through rapid prototyping and testing alternatives, the team aims to launch new products and processes quicker with reduced costs and built-in quality. The 3P follows phases of information gathering, creative development of alternatives, capturing the new process design, implementation, and ongoing continuous improvement.
This document provides an overview of Scrum methodology. It defines Scrum as an agile framework that can help address complex problems and deliver high value products. The document outlines Scrum roles like Product Owner and Scrum Master. It also describes Scrum artifacts like Product Backlog and Sprint Backlog and events like the Daily Scrum. Finally, it provides a high-level overview of the Scrum process where a product backlog is created, sprints are planned and executed, and work is reviewed and improved upon iteratively until the product is complete.
This document discusses several agile process models for software engineering including Extreme Programming (XP), Adaptive Software Development (ASD), Dynamic Systems Development Method (DSDM), Scrum, Crystal, Feature Driven Development (FDD), and Agile Modeling. It describes the key principles and distinguishing features of each agile process model.
The document discusses the role of a Scrum Master. It begins by summarizing the author's experience with Agile frameworks like Scrum and eXtreme Programming over the past 20 years. It then discusses how the role of a Scrum Master is often misunderstood as administrative or focused on velocity, when in reality the Scrum Master is accountable for the team's effectiveness and acts as a leader, servant, facilitator and coach. The document emphasizes that a Scrum Master spends most of their time on impediment removal and improving the team's flow, transparency and ability to self-manage. It concludes by encouraging Scrum Masters to continuously upgrade their skills in areas like facilitation, coaching and organizational change in order to better educate
Lean software development aims to eliminate waste from the software development process by applying principles from lean manufacturing. The key principles of lean thinking include eliminating waste, increasing feedback, delaying commitment, delivering fast, empowering teams, building integrity in, and seeing the whole system rather than optimizing parts. Applying these principles, such as integrating work daily and weekly to increase feedback, keeping options open as long as possible, and empowering teams, can help software development become more efficient and responsive to customers.
This document discusses truths and misconceptions about agile software development. It begins by establishing that agile is more than a high-level concept, and discusses differences between traditional project management and agile principles. Key differences between agile methodologies like Scrum and XP are outlined. The document then addresses common misconceptions about agile and Scrum, establishing truths around topics like planning, fixed-date projects, risk management, rework, and the role of metrics and documentation in Scrum.
This document provides an overview of agile software development and Scrum methodology. It describes agile as an iterative process with continuous delivery of working software in sprints. Scrum is defined as a framework to address complex problems while delivering high value products. Key Scrum elements include cross-functional self-organizing teams consisting of a Product Owner, Scrum Master, and Development Team. Events include sprint planning, daily scrums, sprint reviews and retrospectives. Artifacts include backlogs, user stories and burndown charts.
Scrum is an efficient framework within which you can develop software with teamwork. It is based on agile principles.
This presentation will help you understand agile development in general and Scrum in specific. You will get familiar with its associated terminology along with appropriate examples.
About Agile & PMI Agile Certified Practitioner (PMI-ACP) OverviewAleem Khan
油
A properly implemented Agile method increases the speed of development, aligns individual and organization objectives, creates a culture driven by performance, supports shareholder value creation, achieves stable and consistent communication of performance at all levels, and enhances individual development and quality of life.
The document discusses problems with traditional software development approaches and proposes an agile approach using Scrum. It outlines key principles of Scrum including short iterative development cycles, daily stand-ups, prioritized backlogs and frequent deliveries of working software. Scrum roles of Product Owner, Scrum Master and cross-functional team are defined along with common Scrum artifacts, meetings and metrics used. Challenges of adopting Scrum at an organizational level are also covered.
This document provides an overview of Agile and Scrum methodologies. It discusses why Agile approaches became popular, describing challenges with traditional waterfall methods. Key aspects of Scrum are outlined, including roles like Product Owner and Scrum Master, ceremonies like sprint planning and daily standups, and artifacts like product and sprint backlogs. Benefits of Scrum like adaptability, visibility and increased productivity are highlighted. The document aims to introduce readers to Scrum processes and terminology at a high level.
The document provides an overview of the agile software development process. It begins with defining agile as an iterative and adaptive approach to software development performed collaboratively by self-organizing teams. It then discusses agile principles like valuing customer collaboration, responding to change, and delivering working software frequently. The document also covers specific agile frameworks like Scrum and Extreme Programming, the role of user stories, estimation techniques like planning poker, and ceremonies like daily stand-ups, sprint planning and retrospectives. It concludes by comparing agile to the traditional waterfall model and defining some common agile metrics.
Introduction to Agility from Saint Louis Day of Dot Net session:
History, Definition, Comparison to Waterfall, Agile methodologies, Myths & Misconceptions, Common failure, & Advanced discussion points.
Agile Scrum Master is an advanced level Agile Project Management course that is ideal for individuals and enterprises that are looking to gain a comprehensive understanding of Agile methodologies and Scrum practices and covers Scrum Master role with regards to facilitating the Scrum team that adheres to Scrum theory, practices, and rules.
Agile and Scrum Master Certification training course accredited by EXIN is ideal for software developers, project team members, team leads, architects, project managers, scrum team members, scrum managers, scrum masters, teams transitioning to scrum, and any one who is part of IT and project management teams working on projects.
To know more about Agile Scrum Master Certification training worldwide,
please contact us at -
Email: support@invensislearning.com
Phone - US +1-910-726-3695,
Website: https://www.invensislearning.com
From Productivity to Profitability by Saket Bansal - Lean India Summit 2014Lean India Summit
油
This document discusses how organizations can improve productivity and profitability through agile practices. It advocates measuring multiple variables like cycle time, velocity and value delivered to optimize the whole process rather than individual parts. An economic model is presented to evaluate decisions based on value added, risks, delays and total product life cycle profit. Key points are that productivity metrics alone do not capture profitability, the system needs to be viewed holistically, and we should avoid doing things that do not add value.
The Agile methodology - Delivering new ways of working, by Sandra Frechette, ...WiMLDSMontreal
油
"The Agile methodology - Delivering new ways of working"
By Sandra Frechette, Senior Consultant at Deloitte Digital
Abstract: The purpose of this talk is to explain the agile methodology and give real business cases about the implementation in companies transformation while discussing the myth that Agile projects dont only occur in IT implementations but in multiple lines of services.
Sandra helps clients transform organization to insight oriented organization to drive revenue, increase efficiency and reduce risk.
Backlog blunders can undermine an agile team's productivity. Common issues include stories that are unclear or lack acceptance criteria, dependencies between stories that are not defined, and estimates set too high due to unknowns. Formatting stories well with clear acceptance criteria and estimating honestly helps. Regularly refining the backlog through ceremonies ensures it remains valuable and prioritized based on feedback. Defining "done" criteria and keeping the backlog transparent helps teams deliver working functionality each sprint.
The Agile Manifesto (and a brief history lesson)Adrian Howard
油
The Agile Manifesto values individuals and interactions, working software, customer collaboration, and responding to change over processes/tools, documentation, contract negotiation, and strict plans. It lists 12 principles including satisfying customers through early delivery, welcoming changing requirements, frequent delivery, business/developers working daily together, and face-to-face communication. The manifesto helped uncover better software development practices through values emphasizing people over process.
The ultimate presentation about Scrum, the world's leading project management framework for agile software development.
http://www.noop.nl
http://www.jurgenappelo.com
The document discusses business process analysis and design. It introduces various process modeling toolsets and outlines their benefits. Key points include:
1) Process analysis involves understanding current work and measuring what adds value, while process design optimizes tasks to generate value for stakeholders.
2) Process modeling toolsets help visualize and improve processes by identifying unnecessary steps and inefficiencies.
3) Analyzing and optimizing processes can increase efficiency, effectiveness, and customer satisfaction to provide strategic advantages.
3P Production Preparation Process Overviewopexcreative
油
The document describes a 3P (Production Preparation Process) event, which is an intense 3-5 day workshop to design lean manufacturing processes. A cross-functional team collaborates in the 3P to develop waste-free systems focused on material and information flow. Through rapid prototyping and testing alternatives, the team aims to launch new products and processes quicker with reduced costs and built-in quality. The 3P follows phases of information gathering, creative development of alternatives, capturing the new process design, implementation, and ongoing continuous improvement.
This document provides an overview of Scrum methodology. It defines Scrum as an agile framework that can help address complex problems and deliver high value products. The document outlines Scrum roles like Product Owner and Scrum Master. It also describes Scrum artifacts like Product Backlog and Sprint Backlog and events like the Daily Scrum. Finally, it provides a high-level overview of the Scrum process where a product backlog is created, sprints are planned and executed, and work is reviewed and improved upon iteratively until the product is complete.
This document discusses several agile process models for software engineering including Extreme Programming (XP), Adaptive Software Development (ASD), Dynamic Systems Development Method (DSDM), Scrum, Crystal, Feature Driven Development (FDD), and Agile Modeling. It describes the key principles and distinguishing features of each agile process model.
The document discusses the role of a Scrum Master. It begins by summarizing the author's experience with Agile frameworks like Scrum and eXtreme Programming over the past 20 years. It then discusses how the role of a Scrum Master is often misunderstood as administrative or focused on velocity, when in reality the Scrum Master is accountable for the team's effectiveness and acts as a leader, servant, facilitator and coach. The document emphasizes that a Scrum Master spends most of their time on impediment removal and improving the team's flow, transparency and ability to self-manage. It concludes by encouraging Scrum Masters to continuously upgrade their skills in areas like facilitation, coaching and organizational change in order to better educate
Lean software development aims to eliminate waste from the software development process by applying principles from lean manufacturing. The key principles of lean thinking include eliminating waste, increasing feedback, delaying commitment, delivering fast, empowering teams, building integrity in, and seeing the whole system rather than optimizing parts. Applying these principles, such as integrating work daily and weekly to increase feedback, keeping options open as long as possible, and empowering teams, can help software development become more efficient and responsive to customers.
This document discusses truths and misconceptions about agile software development. It begins by establishing that agile is more than a high-level concept, and discusses differences between traditional project management and agile principles. Key differences between agile methodologies like Scrum and XP are outlined. The document then addresses common misconceptions about agile and Scrum, establishing truths around topics like planning, fixed-date projects, risk management, rework, and the role of metrics and documentation in Scrum.
This document provides an overview of agile software development and Scrum methodology. It describes agile as an iterative process with continuous delivery of working software in sprints. Scrum is defined as a framework to address complex problems while delivering high value products. Key Scrum elements include cross-functional self-organizing teams consisting of a Product Owner, Scrum Master, and Development Team. Events include sprint planning, daily scrums, sprint reviews and retrospectives. Artifacts include backlogs, user stories and burndown charts.
Scrum is an efficient framework within which you can develop software with teamwork. It is based on agile principles.
This presentation will help you understand agile development in general and Scrum in specific. You will get familiar with its associated terminology along with appropriate examples.
About Agile & PMI Agile Certified Practitioner (PMI-ACP) OverviewAleem Khan
油
A properly implemented Agile method increases the speed of development, aligns individual and organization objectives, creates a culture driven by performance, supports shareholder value creation, achieves stable and consistent communication of performance at all levels, and enhances individual development and quality of life.
The document discusses problems with traditional software development approaches and proposes an agile approach using Scrum. It outlines key principles of Scrum including short iterative development cycles, daily stand-ups, prioritized backlogs and frequent deliveries of working software. Scrum roles of Product Owner, Scrum Master and cross-functional team are defined along with common Scrum artifacts, meetings and metrics used. Challenges of adopting Scrum at an organizational level are also covered.
This document provides an overview of Agile and Scrum methodologies. It discusses why Agile approaches became popular, describing challenges with traditional waterfall methods. Key aspects of Scrum are outlined, including roles like Product Owner and Scrum Master, ceremonies like sprint planning and daily standups, and artifacts like product and sprint backlogs. Benefits of Scrum like adaptability, visibility and increased productivity are highlighted. The document aims to introduce readers to Scrum processes and terminology at a high level.
Agile development methodology focuses on iterative development where requirements and solutions evolve through collaboration between cross-functional teams. Some key aspects of agile include short development cycles, working software over documentation, customer collaboration, and responding to change. Scrum is a popular agile framework used at W3i that utilizes user stories, estimating, planning meetings, daily stand-ups, burndown charts, sprints, reviews and retrospectives to deliver working software frequently.
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.
This document provides an overview of different software development processes including the waterfall model, iterative model, Rational Unified Process (RUP), and Agile Development Process (ADP). It describes the key aspects of each process including phases, roles, artifacts, and ceremonies. Specifically, it provides detailed explanations of Scrum, an agile methodology, including Scrum roles like Product Owner and Scrum Master, ceremonies like the Daily Scrum, and artifacts like the Product Backlog and Sprint Backlog. The document concludes with references for further information.
Overview of SCRUM development process. I put this together to present to my company/group.
Most slides are "borrowed" from Alan Shalloway's presentation.
I got a copy of this from the internet, and it was not written by me. yet I found this PPT quite helpful for you to understand the Scrum, so just enjoy it.
Agile Methodology in Software DevelopmentRaghav Seth
油
The document discusses various agile methodologies and frameworks, with a focus on Scrum. It defines Scrum as an agile process that allows teams to focus on delivering the highest business value in the shortest time through rapid inspection of working software every 2-4 weeks. Key Scrum roles include the Product Owner who prioritizes features, the Scrum Master who facilitates the process, and self-organizing Development Teams. Sprints involve planning, daily stand-ups, demos, and retrospectives to continuously improve.
Why don't small companies do big a agile?activelylazy
油
Why don't small companies do big-A-Agile? Are they agile by default? Is Agile just a way for a large company to behave more like a small one? In this retrospective on agile adoption in companies large and small we'll look at what drives adoption, how effective it is at meeting those goals and whether software craftsmanship could teach us more.
Scrum is an agile framework for managing product development that focuses on iterative delivery of working software. It involves short development cycles called sprints that typically last 2-4 weeks. Teams are self-organizing and work is planned and tracked using artifacts like a product backlog, sprint backlog, and daily stand-up meetings. The goal is to frequently deliver working, tested software to gain early customer feedback and continuously adapt to changing requirements.
This document provides an overview of agile software development and project progress monitoring. It defines agile as an iterative development approach based on self-organizing teams. Key aspects of agile include adaptive planning, evolutionary development, time-boxed iterations, and responding rapidly to changes. Status is displayed prominently and daily stand-up meetings occur. Common agile methods discussed are Scrum, Extreme Programming, and Kanban. Tools to support agile include Jira, VersionOne, and continuous integration tools.
The document provides an overview of agile development, including its definition, principles, types of agile methodologies, lifecycle, tools, and suitability for different types of projects. Agile development is an iterative approach that emphasizes early delivery of working software, collaboration between self-organizing cross-functional teams, and the ability to rapidly respond to changes in requirements. Some common agile methodologies discussed include Scrum, eXtreme Programming, and Lean Development.
Software organizations that want to maximize the yield of Software Testing find that choosing the right testing strategy is hard, and most testing managers are ill-prepared for this. The organization has to learn how to plan testing efforts based on the characteristics of each project and the many ways the software product is to be used. This tutorial is intended for Software professionals who are likely to be responsible for defining the strategy and planning of the testing effort and managing it through its life cycle. These roles are usually Testing Managers or Project Managers.
The document provides an overview of agile development, including its principles, types of agile methods, tools that support agile development, and when projects are well-suited to agile. It defines agile development as an iterative approach performed by self-organizing teams to produce high-quality software through early delivery and response to changing needs. The principles emphasize things like customer satisfaction, frequent delivery, collaboration, trusting motivated individuals, and responding to change.
Agile methodology is a framework for modern software development.
What is the philosophy behind Agile?
How does it differ from traditional project management strategies like waterfall?
What are the stages, meetings, tools, and team roles?
What is Scrum?
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
Scrum is an agile framework for managing product development that focuses on iterative delivery of working software in short cycles called sprints. It involves self-organizing cross-functional teams, prioritized backlogs to track requirements, and daily stand-up meetings. The goal is to rapidly and repeatedly deliver the highest business value in the shortest time through a flexible, holistic and collaborative approach.
The document provides an overview of Agile development methods. It discusses what Agile is, why it is important, and how difficult it can be to implement. Specifically, it defines Agile as an iterative approach that emphasizes adaptation, incremental delivery, and collaboration. It then summarizes the Scrum framework, noting its core roles, meetings, and iterative process for completing work in short cycles.
An overview of IT challenges and how Perficient China uses agile frameworks, methodologies, and practices to address these challenges and consistently deliver valued results to our clients.
1. Lean Agile Scrum Business Value Development and Delivery using Agility Brenden McGlinchey Software Done Right, Inc. [email_address]
2. High yield software engineering team Active Customer Involvement Emergent Design Built-in Quality Iterative Release We use Lean/Agile/Scrum as our ideology and process to maximize ROI and minimize errors and waste. www.softwaredoneright.net
3. Projects can be challenging Fast - cheap - good - you can have any two. A user will tell you anything you ask, but nothing more. The bitterness of poor quality lasts long after the sweetness of making a date is forgotten. Anything that can be changed will be changed until there is no time left to change anything. The nice thing about not planning is that failure comes as a complete surprise rather than being preceded by a period of worry and depression.
4. Promise of Agility The Basic Promise is that Agility allows you to develop software successfully in the face of: Unknown/Moving Requirements Goal: to produce a product that is useful at the time of delivery Delays analysis and design until needed Reduces waste Constrained Resources Goal: to produce the best product you can with what youve got Constant reprioritization Scrum adds the Promise that: The team will adapt its processes to improve their abilities to deliver quality
5. Wasted Effort The Standish Group [1] (famous for their Chaos Report) surveyed 1000 companies Features Actually Used: 7% Always 13% Often 16% Sometimes 19% Rarely 45% Never Conclusion: 64% wasted effort?
6. Waterfall is a Powerful Attractor Waterfall Requirements, Analysis, Design, Code, Test, Deploy For Management It is a defined process thus feels right It gives the illusion of control Of people Of money Allows for hands off management For Developers Theyre just following a recipe Theyre just left alone for long periods
7. Process-focused Development Legacy IT is organized by process area Systems Analysts Enterprise Data Specialists UI Designer Specialists UI Developers Mid-tier Developers Database Developers Systems Testers Encourages process decomposition and sub-optimization (vs. optimizing the whole) Builds silos of experts with misaligned goals Discourages collaboration Creates Hand-offs & Waterfall phase gates (backed up queues) Creates the blame game [2] Quality may improve slightly, but at the cost of speed is there a better way?
8. Waterfall Observations Long delivery cycles encourages piling on of poorly prioritized requirements Requirements are not fully understood even after inspection & sign-off Requirements change often during software development Users know what they want only after they see an initial version of the software New tools and technologies make implementation strategies unpredictable Technology changes occur faster than traditional software development projects can complete (12-18 months), so software is obsolete before projects complete
10. Software Done Right Agile Methods Summarized Agile Manifesto for Values [3] Individuals & interactions > over processes & tools Working software > comprehensive documentation Customer collaboration > contract negotiation Responding to change > following a plan Lean Principles for Vision Add value to customer Empower the team Eliminate waste Build integrity in Amplify learning Optimize the whole Decide as late as possible Deliver Fast Scrum for Process Framework 3 Meetings 3 Artifacts (Documents) 3 Roles XP for Quality and Discipline Paired programming Test driven development
11. Demings 14 points for management [4] Create constancy of purpose toward improvement of product and service, with the aim to become competitive and to stay in business, and to provide jobs. Adopt the new philosophy. We are in a new economic age. Western management must awaken to the challenge, must learn their responsibilities, and take on leadership for change. Cease dependence on inspection to achieve quality. Eliminate the need for inspection on a mass basis by building quality into the product in the first place. End the practice of awarding business on the basis of price tag. Instead, minimize total cost. Move toward a single supplier for any one item, on a long-term relationship of loyalty and trust. Improve constantly and forever the system of production and service, to improve quality and productivity, and thus constantly decrease costs. Institute training on the job. Institute leadership (see Point 12 and Ch. 8). The aim of supervision should be to help people and machines and gadgets to do a better job. Supervision of management is in need of overhaul, as well as supervision of production workers. Drive out fear, so that everyone may work effectively for the company (see Ch. 3). Break down barriers between departments. People in research, design, sales, and production must work as a team, to foresee problems of production and in use that may be encountered with the product or service. Eliminate slogans, exhortations, and targets for the work force asking for zero defects and new levels of productivity. Such exhortations only create adversarial relationships, as the bulk of the causes of low quality and low productivity belong to the system and thus lie beyond the power of the work force. Eliminate work standards (quotas) on the factory floor. Substitute leadership. Eliminate management by objective. Eliminate management by numbers, numerical goals. Substitute leadership. Remove barriers that rob the hourly worker of his right to pride of workmanship. The responsibility of supervisors must be changed from sheer numbers to quality. Remove barriers that rob people in management and in engineering of their right to pride of workmanship. This means, inter alia, abolishment of the annual or merit rating and of management by objective (see Ch. 3). Institute a vigorous program of education and self-improvement. Put everybody in the company to work to accomplish the transformation. The transformation is everybody's job. Origins of Lean Thinking: Deming
12. Taiichi Ohno, the mastermind of Toyota Production System, identified seven types of manufacturing waste [5] Overproduction = Extra Features Code for today Inventory = Requirements Requirement detail unfolded just-in-time Extra Processing Steps = Extra Steps Code directly from stories, get verbal clarification directly from customers Motion = Finding Information Collocation, including customers Defects = Defects Not Caught by Tests Test first; both developer tests and customer tests Waiting = Waiting, Including Customers Deliver in small increments Transportation = Handoffs Highest bandwidth form of communication is 2 people at a whiteboard, not backlogs of documentation (from Poppendieck & Poppendieck [6] ) Software Development Waste
13. Short Cycle-Time 10-day increments (Sprints) of completed software Ensures Focus on highest priority work Dont build what you dont need What do you want to see in 10 days? Builds in change-tolerance What do you want to see in future sprints? Leverages feedback Team reflects every 10 days What are we doing well? What can we do better? Feedback now vs. post-mortem
14. Built-in Quality Test-Driven Development Create automated testing then create code that makes tests pass Make code coverage visible Run suite of tests with every build Frequent (hourly builds) Paired-programming (Real-time code review) Creates an environment that allows architectures and designs to emerge Agile Principle The best designs and architectures emerge from self-organized teams
17. Sprint/ Iteration Business Value Engine Daily Standup Sprint 2 weeks Epics Stories Reports Work in Progress Metrics Impediments Meaningful Increment of Product Release 3-4 Sprints Sprint Planning Sprint Product Demo Team Retrospective
18. Key Meetings Sprint Planning The Product Owner and team agree on the subset of the Product Backlog to work on this sprint. Result is the Sprint Backlog Sprint Review The Team shows their Product to their Product Owner and other Stakeholders. The purpose is to show off and get buyoff and feedback Daily Standup (Daily Scrum) The team understands its status every day in order to do a daily inspect and adapt cycle Sprint Retrospective The team (or Scrum Team) analyzes their own process and modifies it as necessary
19. Key Roles and Responsibilities The Scrum Team consists of: Product Owner ScrumMaster Team
20. Key Roles and Responsibilities Product Owner Product Owner Defines the features of the product, decides on release date and content Is responsible for the profitability of the product (ROI) Constantly Prioritizes the Product Backlog Can change features and priority every sprint Accepts or rejects work results
21. Key Roles and Responsibilities: ScrumMaster ScrumMaster Helps resolve impediments Ensures that the team is fully functional and productive Enables close cooperation across all roles and functions and removes barriers Shields the team from external interferences Ensures that the process is followed. Invites to daily scrum, iteration review and planning meetings
22. Key Roles and Responsibilities: Team Team Cross-functional, 7 賊 2 members Negotiates the iteration goal and specifies tasks Has the right to do everything within the boundaries of the project guidelines to reach the sprint goal Organizes itself and its work Demos work results to the Product Owner
23. Product Backlog Prioritized collection of functionality, technology, issues Can be a list ordered by priority (only one thing in the top slot) Issues are placeholders that are later defined as work Emergent and prioritized More detail on higher priority backlog Product Owner responsible for priority Anyone can contribute Posted Visibly Derived from Requests
25. Epics, Stories, Tasks Epics (High-level Capability Statements) Contain 1 or more stories Business Value/Business Speak Stories: Fundamental increment of Business Value Business Value/Business Speak Validation-centric: MUST define DONE! Tasks: Small chunks of work that must be completed to validate story Team creates and estimates during planning session
26. Roadmap to Business Value (Epics) Epics: High-level capability statements (White Cards) Prioritized by Business Value (which can change!) Tightly Coupled w/ Vision Unfold into 1 or more stories Epic: Jim Advisor can create a new financial scenario for Joe Customer that will allow for clarity in investment decisions
27. Roadmap to Business Value (Roles) Roles: Defined to ensure Line-of-sight with System Users (Green Cards) Helps keep focus on: Real business value flows Real users of the system Help reduce waste! Dont build what you dont need Role: Jim Advisor 20 years experience Uses a wants/needs/expects approach Uses self-defined allocation models
28. Roadmap to Business Value (Stories) Stories: Unit of work = Story, similar to: 1 or more Use Case Steps 1 or more features Stories are written in business language As a <some role>, I want <some feature>, so that <some business value or functionality> Card, Conversation, Confirmation Story: Jim wants to track graphically the rate at which money managers are changing over time so that an advisor can make appropriate decisions. Done: Jim can see a representation of money manager changes over time
29. Analysis: Product Feature Story Analysis is primarily about Decomposition Our Product decomposes into Features Features are implemented by doing stories But not all stories are feature-driven Our Projects work can be seen as a collection of Stories But were only going to focus on the feature-driven ones Incremental Analysis is (basically): Find the Features, then Find the Stories Then we use the stories to drive development Made up of Implemented by Product Features Story
33. Critical to Success Short Cycle-time Collocated, collaborative team w/clear line-of-sight to business value Focus on validation of completed product, not process Built-in Quality
34. References Jim Johnson, Standish Group (http://ciclamino.dibe.unige.it/xp2002/talksinfo/johnson.pdf) See Ron Pereira, Stop the Finger Pointing (http://lssacademy.com/2007/02/07/stop-finger-pointing/ ) See ( http://AgileManifesto.org ) W. Edwards Deming, Out of the Crisis , (1986), MIT Press. Taiichi Ohno, The Toyota Production System: Beyond Large-Scale Production , (1988), Productivity Press. M. Poppendieck & T. Poppendieck, Lean Software Development: An Agile Toolkit , (2003), Addison-Wesley David J. Anderson, Agile Management for Software Engineering , (2004), Prentice Hall