Johanna Rothman. Chapter 1 Why Agile and Lean Approaches Work. Copyright 2017

Similar documents
AGILE SOLUTIONS. Agile Basics

Introduction to Agile and Scrum

Scrum - Introduction. Petri Heiramo. Agile Coach, CST

AHGILE A N D B O O K

An Introduction to Scrum

AGILE BASICS. All slides copyright Philip Japikse

PMI Agile Certified Practitioner (PMI-ACP) Duration: 48 Hours

A SANTEON COMPANY. KEY CONCEPTS OF AGILE Ahmed Sidky, Ph.D. (aka Dr. Agile)

Agile & Lean / Kanban

Scrum Team Roles and Functions

Presented by Only Agile. What is Agile?

Certified Scrum Master

THE ADVANTAGES OF AGILE METHODOLOGIES APPLIED IN THE ICT DEVELOPMENT PROJECTS

Agile Software Development. Agile Software Development Basics. Principles of the Agile Alliance. Agile Manifesto. Agenda. Agile software development

Agile Beyond Software

AGILE methodology- Scrum

Introducing Enterprise Scrum for Business Agility: Scale Scrum from Single Teams to Whole Organizations

Agile and Scrum 101 from the Trenches - Lessons Learned

Scrum Master / Agile Project Manager An Approach for Personal Competency Development

The Software Development Process (SDLC)

Standard Work and the Lean Enterprise Net Objectives Inc. All Rights Reserved.

Scrum. a description. V Scrum Alliance,Inc 1

Scrum Testing: A Beginner s Guide

Agile Software Development

Scrum and Agile Processes. Dr.-Ing. Oliver Ciupke Haufe-Lexware GmbH & Co. KG 2011

Agile at Scale -Beyond SAFe. John B Hudson, B.Sc., PMP, ACP, CSM, SPC

PMBOK versus Agile (Is Agile the New PMBOK?)

Agile Project Management: Best Practices and Methodologies

SCRUM - compact The agile software development methodology

Introduction to Agile/Extreme Programming

Introduction to Agile Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016

Create Your Successful Agile Project

Owning An Agile Project: PO Training Day 2

Certified Team Coach (SA-CTC) Application - SAMPLE

Agile Beyond Software

International Scrum Master Foundation. Study Guide Take the Certification online

Agile Surveillance Points

Application of Agile Delivery Methodologies. Bryan Copeland Energy Corridor Brown Bag Event August 31, 2016

Agile IT Project Management. DI Philipp Rosenberger

Session 11E Adopting Agile Ground Software Development. Supannika Mobasser The Aerospace Corporation

Questioning Extreme Programming

SCRUM - LESSONS FROM THE TRENCHES

Agile Software Development

How to Prepare for and Implement a Project Using Scrum

Agile Delivery Framework (ADF)

Continuous integration for BI

Lean Agile People Operations (Agile HR) Your Secret to Enterprise Agility

Embrace Risk! An agile approach to risk management

Debunking Agile Myths

What Every Manager Needs to Know About Project Management in 2018

SAFe Kanban Anywhere. Using LeanKit with the Scaled Agile Framework. Because Better Software Makes the World a Better Place

SCRUM GUIDE SCRUM GUIDE 02. * Agile Software Development with Scrum, Ken Schwaber, Microsoft Press, 2004

An Introduction to Scrum

In-House Agile Training Offerings

Agile for Hardware Development

Software Engineering Lecture 5 Agile Software Development

Road2Lean. Agile Software Product Development at SAP in the Context of Lean. Christian Schmidkonz Chief Development Architect, SAP AG CSM, CSPO, CSP

Scrum Alliance Certified Team Coach SM (CTC) Application SAMPLE

How to Reboot Your Agile Team MAURIZIO MANCINI EXEMPIO.COM

Metodologías Agiles en E///

TANGIBLE STRATEGIES FOR ALIGNING YOUR PROCESSES WITH AGILE

Beyond the ScrumMaster Role: Becoming an Agile Coach

approach to successful project

The Agile Service Management Guide

De-Mystifying Kanban:

Agile and CMMI : Disciplined Agile with Process Optimization

HELP!!! THE SCRUM MASTER IS THE IMPEDIMENT!

Agile Governance. Governance, Risk and Compliance in the Digital Age

Agile in a Regulatory & Compliance Environment. Julie Bridges

Software Life Cycle. Main Topics. Introduction

Feedback Loops. Effects (12) (13) Improve. (10) Visualize (4) (7) (12) (11) Lean. Improving Sustainably. See & Understand (WIP, Blocks, Queues)

DASA DEVOPS PRACTITIONER

Scrum. Juan Gabardini. Administración y Control de Proyectos Informáticos II. Universidad de Buenos Aires. 1 er cuatrimestre 2007

An Introduction to Scrum. Mountain Goat Software, LLC

Agile Development Methodologies:

PRINCE Update. Changes to the manual. AXELOS.com. April 2017 PUBLIC

Handling Product Management Across The Enterprise. copyright Net Objectives, Inc.

Agile Introduction for Leaders

Avoiding ScrumButt - Nokia Test Origins Nokia Siemens Networks

An Introduction to Leanban. A Net Objectives White Paper

LSP METHODOLOGY GUIDE. LSP Group

Getting Comfortable with being Uncomfortable! Using Agile IA to transform your internal audit function

Webinar on Introduction to Scrum and Agile. and. Training for Scrum Fundamentals Certified (SFC ) Certification

SCRUM & XP Methodologies & Prac7ces. Robert Feldt, Agile Dev Processes, Chalmers

IBM Cloud Garage Method Field Guide

Requirements. Mountain Goat Software, LLC. Scrum in 100 words. Mountain Goat Software, LLC

Wstęp do estymacji w Scrum.

INF5181: Process Improvement and Agile Methods in Systems Development

The Self-Empowered Leader: You Don t Need To Be In Charge To Get Results

Managing Risk in Agile Development: It Isn t Magic

HOW TO MAKE AGILE WORK IN OUTSOURCED PROJECTS?

Portfolio Management In An Agile World

Agile Development Methods: Philosophy and Practice. CSCE 315 Programming Studio, Fall 2017 Tanzir Ahmed

Achieving Balance: The New Pivotal Points of Software Development

Two Branches of Software Engineering

Use Cases and User Stories for Agile Requirements

A brief introduction to Agile Product Development with Lean and Scrum

BA25-Managing the Agile Product Development Life Cycle

Case Study: How to Eliminate Flaws of Waterfall and Agile Development Processes Using a Hybrid Model

Introducing Resilient Agile A Better Agile Methodology 5 Easy Steps to Make Agile Development Work Better for You

Transcription:

Johanna Rothman Chapter 1 Why Agile and Lean Approaches Work Copyright 2017

Agile and Lean Approaches Why such approaches exist! Software, we have a problem It was thought you could hand a software team a big requirements document and the project would magically deliver exactly what their requirements stated architects thought they could work on the architecture and had it off to a team to implement as designed, as if by magic. Developers thought they could hand off code to testers and it would all just work Nothing could be farther from the truth

Realities of Software Projects There are no one person projects At the very least there is a developer and a user Usually software requires a developer, a tester and a user and the developer and the tester need to collaborate We can not predict everything about a project Software Development is not a defined process it is (and must be) a empirical process meaning assessment and learning is needed as development proceeds

Any time people developing software learn as they develop, a serial approach to delivering value does not work that well. That s because a serial approach only encourages one delivery, at the end. When teams deliver more often, they have an opportunity to learn more often.

Defined Approach - not Waterfall It is typical to adopt the defined approach only when the underlying mechanisms by which a process operates are reasonably well understood. When the process is too complicated for the defined approach, the empirical approach is the appropriate choice. Jeff Sutherland Jun 16, 2002

The result of a Defined Process that should not have been!

Empirical Process Control In Scrum, decisions are made based on observation and experimentation rather than on detailed upfront planning Empirical Process Control relies on the three main ideas 1. Transparency 2. Inspection 3. Adaptation

1. Transparency Transparency allows all facets of any process to be observed by anyone. This promotes an easy and transparent flow of information throughout the organization and creates an open work culture. Transparency, in Scrum, is depicted through: Artifacts Project Vision Statement Prioritized Product Backlog Release Planning Schedule Meetings Sprint Review Meetings Daily Standup Meetings Information Radiators Burndown Chart Scrum Board

2. Inspection Inspection in Scrum is depicted through: Use of a common Scrumboard and other information radiators Collection of feedback from the customer and other stakeholders Creating a Prioritized Product Backlog, and a Conduct Release Planning processes. Inspection and approval of the Deliverables by the Product Owner and the customer in the Demonstrate and Validate Sprint process.

3. Adaptation Adaptation happens as the Scrum Core Team and Stakeholders learn through transparency and inspection and then adapt by making improvements in the work they are doing. Adaptation in Scrum is depicted through: Standup Meetings Constant Risk Identification Change Requests Scrum Guidance Body Retrospect Sprint Meeting Retrospect Project Meeting

Agile as a Cultural Change Not just a different life cycle methodology Agile uses an iterative and incremental approach. An Agile approach creates a culture of working with transparency, driven by value, and collaboration across the organization enabling a team to deliver often!

Lean thinking & Principles for product development LEADING TEAMS The New New Product Development Game Hirotaka Takeuchi, Ikujiro Nonaka From the January 1986 Issue

Agile is a cultural change! A culture of working with transparency, driven by value, collaborating across the organization. Rothman s General Agile Picture 2013 Johanna Rothman

What makes it work The team collaborates to deliver The team limits its work in progress (WIP) either via iterations or with specified WIP limits The team delivers releasable product often reviewing its work product and process on a regular basis at the end of each iteration

However there are necessary conditions The team is cross-functional with all the needed capabilities and skills to release working product There is a Product Owner who provides a ranked Backlog The team finishes valuable ( go live ) chunks of work often (at the end of each sprint) The team can release working software often The team reflects on its work process at the end of each sprint

12 Principles of Agile Software Development 1. Attain customer satisfaction through continuous delivery of software 2. Don t be afraid to make changes 3. Deliver working software, with a preference to the shorter timescale 4. Developers and management must work together 5. Build projects around motivated individuals 6. Face-to-face interactions are the most efficient & effective modes of communication 7. Working software is the primary measure of progress 8. Agile processes promote sustainable development 9. Continuous attention to technical excellence and good design enhances agility 10. Simplicity is essential 11. The best architectures, requirements, and designs emerge from self-organizing teams 12. Inspect & Adapt

Agile development requires a sustainable pace & continuous attention to technical excellence When you build small increments and ask for feedback often, you can deal necessary change The change might be either in the product or in the team s process Agile teams fine-tune their work and the product when they reflect and adjust at regular intervals.

Toyota president Gary Convis The Toyota Way has two pillars that support it: Continuous Improvement and Respect for People Continuous improvement, often called kaizen, defines Toyota s basic approach to doing business. Challenge everything More important than the actual improvements that individuals contribute, the true value of continuous improvement is in creating an atmosphere of continuous learning and an environment that not only accepts, but actually embraces change. Such an environment can only be created where there is respect for people hence the second pillar of the Toyota Way.

Toyota CEO Katsuaki Watanabe The Toyota Way has two main pillars Continuous Improvement and Respect for People Respect is necessary to work with people. By people we mean employees, supply partners, and customers. We don t mean just the end customer on the assembly line the person at the next workstation is also your customer. That leads to teamwork. If you adopt that principle, you ll also keep analyzing what you do in order to see if you re doing things perfectly, so you re not troubling your customer. That nurtures your ability to identify problems, and if you closely observe things, it will lead to kaizen (that is, Continuous Improvement) The root of the Toyota Way is to be dissatisfied with the status quo; you have to ask constantly, Why are we doing this?

The process Start and Iterate

The Two Pillars of Lean respect for people commitment to continuous improvement Lean thinking using he lean principles helps agile teams use agile approaches to create better products and deliver more value. The Lean Principles applied to Software Development: 1. Eliminate waste 2. Amplify learning 3. Decide as late as possible 4. Deliver as fast as possible 5. Empower the team 6. Build integrity in 7. See the whole

Iteration-Based Agile the Product Owner and the team manage the work in progress by estimating the number of stories (and other work) the team can commit to in a timebox team estimates provide feedback to the Product Owner on the scope of the required work the Product Owner has choices, either to add more stories or not. Iteration-Based Agile Requirements Requirements Requirements Requirements Requirements Requirements Analysis Analysis Analysis Analysis Analysis Analysis Design Design Design Design Repeat as Design Design Build Build Build Build needed Build Build Test Test Test Test Test Test Release Release Release Release Release Release Deploy Deploy Deploy Deploy Deploy Deploy Each timebox is the same size. Each timebox results in running tested features.

Flow-Based Agile the team maps the flow of value through the team. the team sets the limit to the WIP for each column and monitors how long features take on average. the team and the Product Owner manage work based on these limits. Flow-Based Agile Feature Feature Feature Feature Feature Feature Clarify Req'ts Clarify Req'ts Clarify Req'ts Clarify Req'ts Clarify Req'ts Clarify Req'ts Analysis Analysis Analysis Analysis Repeat as Analysis Analysis Design Design Design Design needed Design Design Build Build Build Build Build Build Test Test Test Test Test Test Release Release Release Release Release Release Deploy Deploy Deploy Deploy Deploy Deploy In flow, the team limits the number of features active at any time with WIP limits for each team activity. There is no timeboxing build into flow

Cadence versus Iteration Iteration has the team planning on the same day at the beginning of each iteration with the team holding a retrospective on the same day as the end of the iteration. Cadence not relying on a fixed length timebox. Teams might deliver several times during the week not always on the same day. planning work may not be on the same day each week. But retrospectives once a week on the same day each week.

Integrating Agile and Lean Principles Use of collaborative cross-functional team structure so that the entire team works on the same feature(s) Emphasis on seeing the work as it proceeds to get feedback on the work and the process The teams do not start more than they can complete in a short period of time (a sprint or iteration) Delivering working product often and as fast as possible To See progress Increase customer collaboration Receive feedback

Agile methods Named Approach Scrum Extreme Programming DSDM (Dynamic Systems Development Method) Crystal Feature-Driven Development How the Approach Works Timebox-based project-management framework for delivering working product often Collection of technical practices guided by these values: communication, simplicity, feedback, courage, and respect Timebox approach to delivering functionality. Facilitated workshops to determine the requirements and gain agreement on them. Focus on the people. Depending on the size of the project team and the product criticality, select the approach that fits the team, the business people, and customers. Deliver functionality incrementally after creating a flow-fidelity) framework for the architecture or object modeling. Focus on building value for the customer. Kanban Visualize the flow of work, work by value, and manage the work in progress (WIP). Deliver incremental value as the team completes the value. Table 1 - Some Agile Approaches

Scrum

Not just any team is a good candidate for Scrum A team working on more than one project A team that is distributed across more than 4 time zones A team that is not cross functional Developers must collaborate with testers A team that does not have skill or capabilities it needs example: no UX or DBA A team where all work is done independently without a culture of collaboration

Keeping iterations relatively short is essential Key point is the need for feedback how much time before the team would know if what the team is doing is wrong? In my experience, it s easy for a duration of more than 10 days to lead to the trap where you end-up with iterations that are Waterfalls be careful of iterations more than 10 business days. Rothman

Keep iterations short! Looping until you meet the release criteria for the project Start Build Something and Iterate Learn from feedback to decide what to do next Measure to gain feedback Build something, release it to someone else to gain feedback use that learning from feedback to decide what to do next.

Create a Agile Mindset meaning the values, beliefs and principles that guide your actions in any situation and the valuing collaboration & feedback and the valuing in small steps & frequent checking of progress Fixed Mindset Growth Mindset We are born with fixed skills or talents. Skills arise from hard work. We can improve. Avoid challenges. In the face of challenge, give up. See challenges as an opportunity. Persist until we get it right. Coast by: don't bother with effort Effort is essential to mastery. Get defensive with feedback. Learn from feedback. Blame others for setbacks. Get discouraged by setbacks. Setbacks are something we use to try harder the next time. Fell threatened by others' successes. Find inspiration in others' success. Table 2 - Fixed vs. Growth Mindset

Advice Avoid frameworks until you understand the full context to the work many frameworks are too prescriptive and do not create the agile mindset for a team all too often management thinks the framework is all the team needs. Rothman

Framework Each programming language has at least one universal, reusable framework. Libraries within each framework offer reusable bundles of that language (code for a drop-down menu) Frameworks are more than just the code frameworks are fully layered workflow environments. They can include: Libraries: shareable, reusable bits of low-level code in each language, e.g., Ruby on Rails gems APIs, which facilitate access to the database back end Scaffolding: a technique some MVC frameworks employ that strengthens how a database can be accessed. This means more powerful sites, with better leverage of the database. AJAX: Some JavaScript frameworks are embedded into larger frameworks, incorporating the rapid technology of AJAX into a site s functionality. Caching, which cuts back on server workload Security, via authentication and authorization frameworks Compilers, or Just-in-Time compilers