AGILE SOLUTIONS. Agile Basics

Similar documents
Agile Software Development in a Regulated Environment. Natalie Custer

Agile. How would you implement agile methodologies and tools for web projects? What do you see as the benefits and challenges to doing this?

Agile 101. Brent Hurley Chief Problem Solver Gira Solutions. Values, Principles

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

ONE! TEAM! 2010, Nick Athanassiadis. All rights reserved.!

Software Development Life Cycle

Agile Program Development. Agile Manifesto 9/3/2013. What is Agile Development? 12 Principles of Agile Development 1 of 4

Agile Mindset (1/17/2019 for the Ocean State PMI)

User-centered System Design. Agile

SOFTWARE ENGINEERING SOFTWARE-LIFE CYCLE AND PROCESS MODELS. Saulius Ragaišis.

Introduction to Agile and Scrum

Agile Thinking. Petri Heiramo. Agile Coach, CST

Lean IT Opex in the Clouds August 16, 2017 Sudhagar Raghavan

EVERYTHING YOU VE HEARD ABOUT AGILE DEVELOPMENT IS WRONG

Scrum er ikke en religion

Agile & Lean / Kanban

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

Software Development Methodologies

Are we Agile Yet? Agile is NOT a Destination

Agile Development Processes. CSCE Lecture 3-08/31/2017

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

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

Being Agile at a Small Agency How to Apply Agile Principles in a Not-So-Iterative Environment

Agile Projects 7. Agile Project Management 21

Software Engineering. M Umair.

Agile/Lean & Safety: Perfect Match or Impossible Combination?

AHGILE A N D B O O K

HELP!!! THE SCRUM MASTER IS THE IMPEDIMENT!

Scaling Agile. Theory and Practice. Bob

Introduction. Agile overview. 12 Agile Principles

Mike Vincent. mvasoftware.net

CS 5704: Software Engineering

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

8 th of April 2015 Bucharest, Romania Vlad Gabriel Sorin Agile PM/Scrum Master

Russell Pannone February 10, 2009

Agile QA s Revolutionary Impact on Project Management

Certified Scrum Product Owner Course. Pre-Course Reading and Exercises

A philosophy first and methodology second

Five Changes that Project Managers Must Make in an Agile World

Foundations of Software Engineering. Process: Agile Practices Michael Hilton

Criteria. Kanban. Scrum. Acceptance. Acceptance Criteria. Kanban. Scrum. Refinement. Agile Manifesto. Acceptance Test. Product Backlog.

Data Driven

Presented by Only Agile. What is Agile?

INTRO TO AGILE PRESENTED BY. Copyright Davisbase LLC

Achieving Resiliency with Agile Methods

Certified Scrum Developer Program Introduction presented by. Copyright Davisbase LLC

FIT2101 Software Engineering Process and Management

AGILE methodology- Scrum

Introduction. Failure. Why Projects Fail. Agile in an Hour

Agile for Hardware Development

Agile Essentials Track: Business Services

Why agile? Principles and Values to Change our Perspective of the World SOFIA WOLOSCHIN ICA-ACC, CSM, PMI-ACP, PMP

MIS Systems & Infrastructure Lifecycle Management 1. Week 10 March 24, 2016

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

Project Management in Practice Agile Agile 101 Introduction to Agile

Agile for Hardware Development

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

Agile and Scrum 101 from the Trenches - Lessons Learned

The Stability States of Scrum: 2 Keys to Building High Performing Teams

Managing Requirements in an Agile World: Avoiding the Round Peg/Square Hole Dilemma

TANGIBLE STRATEGIES FOR ALIGNING YOUR PROCESSES WITH AGILE

Introduction to Disciplined Agile Delivery

welcome to Agile Learning Labs Understanding Scrum 8th Agile Thess

Introduction. Failure. Why Projects Fail. Agile in an Hour

Agile Manifesto Principles

Processes and Life- Cycles. Kristian Sandahl

Knowledge Understanding. Knowledge Understanding: An Agile Journey 11/30/2017

Callers are in a Listen Only Mode

Thrivent s Agile Transformation Journey

2. True or false: In Scrum all the requirements for the project are known prior to the start of development.

AGILE BASICS. All slides copyright Philip Japikse

Applying Agile Principles to Project Management. Tyler Monson PMP, CSM Hiren D. Vashi PMP, PMI-ACP, CSM, CSP

Introduction to Agile/Extreme Programming

Lecture 8 Agile Software Development

AGILE MYTH BUSTERS- THAT S NOT AGILITY!

Processes and Life- Cycles. Kristian Sandahl

Fondamentaux de l agilité

How to Prepare for and Implement a Project Using Scrum

Continuous integration for BI

AGILE DATA ARCHITECTURE CHEAPER, FASTER, BETTER AGILE DATA ARCHITECTURE SPRINTS: AGILE -VS- JAD 11/10/14. Agile! Full time co-location

Scrum Intro What s in it for me?


Build Agile Knowledge - Participate in a sprint!

Welcome! Scrum - simple to understand, hard to master. Kent Scrum UG

From Theory to Data Product

Back to Basics Restoring Order to Software Development

Agile transformation is hard in large organizations JAOO Kati Vilkki

This is my blog btw. I post in both Swedish and English.

Step 1. Empty your cup...

Management by Consensus

PMBOK versus Agile (Is Agile the New PMBOK?)

Challenges of Applying Conventional Software System Safety to Agile Software Development Programs

BETTER BUYING POWER THROUGH THE USE OF AGILE ACQUISITION STRATEGIES

Improving Agile Execution in the Federal Government

SCEA 2010 EST06. Estimating Issues Associated with Agile Development. Bob Hunt Vice President, Services Galorath Incorporated

Energy Changing Culture and Mindsets. TriAgile Raleigh NC April 5, Case Study

Software Engineering Lecture 5 Agile Software Development

Let s Talk About Being Agile

Public Procurement Beyond Defined Scope: A Primer on the Opportunities and Challenges of Modular/Agile Procurement

Lecture 1. Topics covered. Rapid p development and delivery is now often the most important requirement for software systems.

Transcription:

AGILE SOLUTIONS Agile Basics info@one80services.com one80services.com

AGILE SOLUTIONS Agile Basics Table of Contents 2 Who We Are 3 What Is Agile? 4 Agile Values 5 Agile Principles 6 Agile Development 7 Iterative Development 8 Agile vs Waterfall 12 Documentation 13 Process 15 Methodologies 16 Extreme Programming (XP) 17 Scrum 20 Lean 21 Kanban 23 Summary

Who We Are We are Agile trainers and coaches who are so passionate about Agile that we d probably do it for free if we could. Our clients often comment that easy to get us to dig into solutions even before we ve been hired - we kind-of geek out with this stuff. One80 is owned by three people. Combined, we have more than 20 years of Agile training & coaching experience. We have navigated situations from both sides of the IT/business fence. Andre Simones I am passionate about helping organizations and their teams transform themselves to high performance using Agile and Lean principles. When I started, I thought that Scrum was the ultimate solution to every company s problems. Over the years, I experienced how wrong I was. I have learned how important it is to take into account each company s unique culture, team dynamics, technology, customer expectations and compliance needs. Then, given all of those variables, the journey towards excellence can begin. Nick Kramer Stacy Simones I am passionate about building high-performing teams that are structured with the proper dynamics to create and drive innovation. Building teams is more than just putting skills and resources into an Agile process and doing sprint planning. It is about finding the balance of personality, desire, motivation, and knowledge to structure groups of individuals who can work towards a common goal and who are focused on the organization s value stream. nick@one80services.com Teaching teams how to reach their goals while actually enjoying what they do for a living is my passion. Watching the transformation on the human level not just what changes happen on a product or business level that s where I find my motivation. stacy@one80services.com info@one80services.com Copyright 2016 One80 Services, LLC Who We Are andre@one80services.com 2

What is Agile? Agile is an adjective, not a verb. Therefore, you will never do Agile. You can, however, be Agile. If I hold a door open for you, I may be nice. If I m glaring at you while holding it open for you - I m not being nice. Nice is something you are - it manifests in pleasant ways, but nice itself is not an action. Like the angry person holding a door, a company can implement an Agile methodology such as Scrum without actually being Agile. Agile is not an action. A company can also be Agile without implementing any existing process framework at all. info@one80services.com Copyright 2016 One80 Services, LLC What is Agile? Consider the word nice - you can be nice, but you don t really do nice. 3

The Agile Manifesto We value Customer collaboration over contract negotiation. Individuals and interactions over processes and tools. over is not the same as instead of Responding to change over following a plan. Working software over full documentation. source: agilemanifesto.org info@one80services.com Copyright 2016 One80 Services, LLC Agile Values 4

12 Agile Principles 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 4. Business people and developers must work together daily throughout the project. 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 7. Working software is the primary measure of progress. 8. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. 9. Continuous attention to technical excellence and good design enhances agility. 10.Simplicity - the art of maximizing the amount of work not done - is essential. 11.The best architectures, requirements, and designs emerge from self-organizing teams. 12.At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. Agile Principles source: agilemanifesto.org info@one80services.com Copyright 2016 One80 Services, LLC 5

Agile methodologies are an alternative to traditional project management. Agile software development helps teams respond to unpredictability through incremental, iterative work cadences, often known as sprints. Agile software development promotes: adaptive planning evolutionary development early delivery continuous improvement rapid and flexible response to change Agile Development info@one80services.com Copyright 2016 One80 Services, LLC 6

Iterative Development Iterative development is a way of breaking down software development of a large application into smaller working sections. In iterative development, feature code is designed, developed and tested in repeated cycles. Iterative Development info@one80services.com Copyright 2016 One80 Services, LLC 7

Agile vs Waterfall Waterfall Waterfall is a sequential process. Once a step has been completed, developers can t go back to a previous step without scrapping the project and starting from the beginning, or invoking a heavy change management process. There s no room for change or error, so a project outcome and an extensive plan must be set in the beginning and then followed carefully. Agile Agile follows an incremental approach. Developers start with a simplistic project design, and then begin to work on small modules. The work on these modules is done in iterations, and at the end of each iteration, project priorities are evaluated and tests are run. Each iteration allows for bugs to be discovered, and customer feedback to be incorporated into the design before the next iteration is started. Agile vs Waterfall info@one80services.com Copyright 2016 One80 Services, LLC 8

Agile vs Waterfall Agile Flexible Many small projects Highly collaborative Best for those who want continuous improvements Involves customers A process in which requirements are expected to evolve and change Waterfall Structured One big project A sequential process Suited for situations where change is uncommon Internal A process that requires clearly defined requirements upfront Agile vs Waterfall info@one80services.com Copyright 2016 One80 Services, LLC 9

When to Use Agile (what you are building) The Stacey Matrix (how you will build it) The Stacey Matrix is commonly used in Agile/Scrum training to explain where Agile is most appropriate. Ken schwaber modified the Stacey Matrix, and that s what you see here. When people agree on the what and the how of a project, it reduces complexity. Traditional project management methods work best on projects low in complexity. When you have more uncertainty and a project increases in complexity, Agile is the better choice. You can just as easily apply Agile to a simple project, but you re not likely to see a huge benefit because that project was likely to succeed anyway. It s the complex projects where the benefits of Agile will be more obvious. Agile vs Waterfall info@one80services.com Copyright 2016 One80 Services, LLC 10

When to Use Waterfall Tasks are repeatable and predictable End state is well-known no ambiguity Requirements are clear and won t change or require business input or feedback Technology is completely understood and there is very little or no risk Agile vs Waterfall info@one80services.com Copyright 2016 One80 Services, LLC 11

Documentation Agile core values ask us to think about how much and which kinds of documents are needed and when they need to be written. Just Enough vs Just in Case What s enough when it comes to documentation? Consider your customer. Does the documentation you re creating benefit that customer directly in some way? If so, then it s just enough. When I walk up to a coffee stand in an office and pour myself a cup, I need a sign saying Decaf on the decaf pot. Sometimes I just need that tell-tale orange lid as an indicator. I do not, however, need a document explaining to me the difference between decaf coffee and regular coffee, or an in-depth story about how those coffees were made. Will there be a person who wants that information? Who knows. Maybe. But that s a just in case situation, and we don t cater to just in case situations with Agile documentation. Documentation info@one80services.com Copyright 2016 One80 Services, LLC 12

Agile Team Process 1 or 2 week Iteration This is an example of an iterative Agile team process. An iteration is a set period of time an Agile team has to complete a piece (or pieces) of functionality. (Iterations are referred to as Sprints in Scrum, because they re short bursts of fast progress. Just like runners on a track.) The team judges what they can complete during one iteration, pulling work from the top of the prioritized backlog. Take a look at the next page in this guide to see a more detailed description of some of the activities (referred to also as events or ceremonies) that happen around the Agile process. When the process ends, the team goes back to the beginning to pull another group of work from the top of the backlog and the process begins again. Process info@one80services.com Copyright 2016 One80 Services, LLC 13

Process Modified Agile Framework info@one80services.com Copyright 2016 One80 Services, LLC 14

Methodologies There are an almost endless list of successful ways to implement Agile. You can come up with your own grass-roots method, you can combine current methods to come up with a custom hybrid, or you can choose one of many existing Agile methodologies. According to every survey we ve seen, the top three Agile methodologies used today are Scrum, Scrum with XP, and XP. Kanban seems to be mixed in to some degree, and everyone seems to agree that Lean practices are important. Because of that, we ll be covering those methodologies and practices here. For the purposes of this basic guide, we won t be going into great detail, but instead try to leave you with a basic understanding. Methodologies 15

Extreme Programming (XP) Values Communication Simplicity Feedback Courage Respect Practices The Planning Game Small Releases System Metaphor Simple Design Refactoring Testing Pair Programming Collective Ownership Continuous Integration 40-hour week On-site Customer Coding Standards Typically, when a team begins XP, they start with the simpler practices illustrated in the dark blue outer ring in this diagram and work their way into the more complex practices illustrated in the yellow ring: Extreme Programming (XP) info@one80services.com Copyright 2016 One80 Services, LLC 16

Scrum An Agile framework for completing complex projects. Values Commitment Focus Openness Respect Courage Roles Product Owner Scrum Master Development Team Events Sprint Planning Sprint Retrospective Daily Scrum Sprint Review Artifacts Product Backlog Sprint Backlog Working Software Scrum info@one80services.com Copyright 2016 One80 Services, LLC 17

Scrum The Scrum framework: A product owner creates a prioritized wish list called a product backlog. (Refer to the illustration on page 11.) During sprint planning, the team pulls a small chunk from the top of the product backlog, creating a smaller sprint backlog, and decides how to implement those pieces. The team has a certain amount of time a sprint (usually two to four weeks) to complete its work, but it meets each day to assess its progress (daily Scrum). Along the way, the Scrum Master keeps the team focused on its goal and removes impediments to the team s progress. At the end of the sprint, the work should be potentially shippable: ready to hand to a customer, put on a store shelf, or show to a stakeholder. The sprint ends with a sprint review and retrospective. Areas for improvement are identified and implemented in the next sprint. As the next sprint begins, the team chooses another chunk of the product backlog, creates a new sprint backlog, and begins working again. source: scrumalliance.org Scrum info@one80services.com Copyright 2016 One80 Services, LLC 18

Scrum Pillars of Scrum Scrum Values Transparency allows all facets of any Scrum process to be observed by anyone. This promotes an easy and transparent flow of information throughout the organization and creates an open work culture. Inspection in Scrum is done by using a common Scrum board and/or other communication tools, and from gathering feedback from the customer and other stakeholders. Adaptation happens as the Scrum Team and Stakeholders learn through transparency and inspection and then adapt by making improvements in the work they are doing. All of these things are possible with a foundation of Scrum values from the team as well as from leadership. Scrum info@one80services.com source: scrumstudy.com Copyright 2016 One80 Services, LLC 19

Lean Process 7 Lean Software Principles 1. Eliminate waste. Create nothing but value. 2. Build quality in. Automate as much as possible. 3. Create knowledge. Work with business people. 4. Defer Commitment Decide as late as possible. 5. Deliver fast. 6. Respect people. 7. Optimize the whole. Optimize the whole value stream, from the time a customer s need is spoken until software is deployed and the need is addressed. Lean info@one80services.com Copyright 2016 One80 Services, LLC 20

Kanban Why Use Kanban? Kanban means card. Wikipedia s more complex definition: Kanban is a method for managing knowledge work with an emphasis on just-in-time delivery while not overloading the team members. In this approach, the process, from definition of a task to its delivery to the customer, is displayed for participants to see. Team members pull work from a prioritized queue. Software development using Kanban is mean a visual process-management system that informs the team about what to develop, when to develop it, and how much to produce - inspired by the Toyota Production System and by Lean manufacturing. Simple Kanban is basically a list with moving parts. Tasks begin at the left and move slowly to the right as they are completed. A very basic Kanban approach would look something like this: To Do In Progress Done Ta s k Ta s k Ta s k Ta s k Ta s k Ta s k Ta s k visualize workflow limit WIP (work in progress) measure flow On the next page, we show two more examples of Kanban in use. Kanban info@one80services.com Copyright 2016 One80 Services, LLC 21

Examples: Kanban Kick-Start Simple Kanban More Advanced Kanban source: Henrik Kniberg Kanban info@one80services.com Copyright 2016 One80 Services, LLC 22

Summary When you begin this journey, it s easy to get lost in the multitude of existing terms and processes. The important thing to remember: Agile is a mindset. Agile is nothing more than a set of values and principles that encourage you to apply common sense to what you do and build what matters. There are a bunch of processes to help you do that, but the process isn t what matters. What you build is what matters. Agile is meant to simplify - it s not meant to complicate. It s absolutely possible to apply Agile and implement a process without an Agile coach - we ve seen grass roots Agile work many times. But if you d like a bit of a boost from an Agile coach, please give us a call. We d be happy to walk you through the basics to get you started, or stick around to see you all the way to the finish line. Summary info@one80services.com Copyright 2016 One80 Services, LLC 23

One80 Services Mission Statement We started One80 Services because we have seen too many companies build the wrong level of process at the wrong time. They either build crushing amounts of process that drags time-tomarket, or not enough structure to control the chaos. Our mission is to help teams to build a practical approach to managing and prioritizing work that leads to innovation and quality deliverables. info@one80services.com one80services.com 1-844-80-Agile