“Never Have Your Dog Stuffed is really advice to myself, a reminder to myself not to avoid change or uncertainty, but to.
Download ReportTranscript “Never Have Your Dog Stuffed is really advice to myself, a reminder to myself not to avoid change or uncertainty, but to.
“Never Have Your Dog Stuffed is really advice to myself, a reminder to myself not to avoid change or uncertainty, but to go with it, to surf into change.” Alan Alda AGILE 1 Making it Work for You PRESENTERS Agile – Making it Work for You Gary Wunrow – Program Manager, Sentry Insurance Q&A Session Jim Stitzlein – Sr. VP & CIO, Sentry Insurance Jeff Sanner – IT Director of Digital Interactive, Sentry Insurance Gary Wunrow 2 AGENDA What is Agile? Why Agile? Popular Methods When should Agile be used and Who should use it? Origin and Evolution How is Agile done? Definition Core Principles Implementation Options Considerations Q&A with Gary, Jim and Jeff 3 “It is in the admission of ignorance and the admission of uncertainty that there is a hope for the continuous motion of human beings in some direction that doesn't get confined, permanently blocked, as it has so many times before in various periods in the history of man.” Richard P. Feynman WHAT IS AGILE? 4 WHAT IS AGILE? Merriam-Webster Definition 1: marked by ready ability to move with quick easy grace <an agile dancer> 2: having a quick,resourceful and adaptable character <an agile mind> 5 WHAT IS AGILE? Definition of Agile Software Development Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between selforganizing, cross functional teams. 6 WHAT IS AGILE? Agile Values (Manifesto for Agile Software Development) We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over process and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left even more Source: www.agilemanifesto.org 7 WHAT IS AGILE? Our highest priority is to satisfy the customer through early and continuous delivery of valuable software Source: www.agilemanifesto.org 8 WHAT IS AGILE? Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Source: www.agilemanifesto.org 9 WHAT IS AGILE? Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Source: www.agilemanifesto.org 10 WHAT IS AGILE? Business people and developers must work together daily throughout the project. Source: www.agilemanifesto.org 11 WHAT IS AGILE? Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. Source: www.agilemanifesto.org 12 WHAT IS AGILE? The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Source: www.agilemanifesto.org 13 WHAT IS AGILE? Working software is the primary measure of progress. Source: www.agilemanifesto.org 14 WHAT IS AGILE? Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Source: www.agilemanifesto.org 15 WHAT IS AGILE? Continuous attention to technical excellence and good design enhances agility. Source: www.agilemanifesto.org 16 WHAT IS AGILE? Simplicity--the art of maximizing the amount of work not done--is essential. Source: www.agilemanifesto.org 17 WHAT IS AGILE? The best architectures, requirements, and designs emerge from self-organizing teams. Source: www.agilemanifesto.org 18 WHAT IS AGILE? At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. Source: www.agilemanifesto.org 19 WHAT AGILE IS NOT. A silver bullet for success A direct remedy for team/organizational issues Easy A free for all 20 “The quest for certainty blocks the search for meaning. Uncertainty is the very condition to impel man to unfold his powers.” Erich Fromm WHY AGILE? 21 WHY AGILE? Understanding Engineering Methods Predictive Methods Adaptive (Empirical) Methods 22 WHY AGILE? Potential benefits of using an adaptive method Reduced Cost Reduced time between concept and deployment Allows for system evolution Encourages engagement and builds trust with the customer Fosters a healthy environment for developers to work in Levels accountability 23 WHY AGILE? Practitioners Software Engineering Method Use Over Time 1940 Adaptive Predictive Predecitve 1950 1960 1970 1980 Time 1990 2000 2010 2020 24 WHY AGILE? Summing it Up Adaptive Methods (Agile Software Engineering) are not new IT Capabilities during early business adoption drove the use of predictive methods (waterfall) IT capabilities grew rapidly with the advent and proliferation of: Object-oriented design and programming The internet and communications bandwidth Personal computing The emerging complexity of systems and software is driving business and the IT community back to adaptive methods 25 “Uncertainty is a sign of humility, and humility is just the ability or the willingness to learn.” Charlie Sheen HOW IS AGILE DONE? 26 HOW IS AGILE DONE? Agile Methods Extreme Programming (XP) Scrum Lean Software Development Kanban Scaled Agile Framework Agile Modeling Adaptive Software Development Crystal Dynamic Systems Development Method (DSDM) Feature Driven Development (FDD) Unified Process (Rational or Agile) Microsoft Solutions Framework for Agile Software Development 27 HOW IS AGILE DONE? Extreme Programming Software Engineering Methodology & OOP practices Values Communication Simplicity Feedback Courage Respect 28 HOW IS AGILE DONE? Extreme Programming Practices Pair Programming Test Driven Development Refactoring Continuous Integration Small Releases Coding Standards Collective Code Ownership Simple Design 29 HOW IS AGILE DONE? 30 http://www.extremeprogramming.org HOW IS AGILE DONE? 31 http://www.extremeprogramming.org HOW IS AGILE DONE? 32 http://www.extremeprogramming.org HOW IS AGILE DONE? 33 http://www.extremeprogramming.org HOW IS AGILE DONE? Scrum Management Methodology for Software Development Values Collaboration Transparency Prioritization Focus Simplicity 34 HOW IS AGILE DONE? Scrum Roles Product Owner Scrum Master Team(s) Practices Backlog Management Release Management Sprint Planning Daily Scrum Sprint Closeout 35 HOW IS AGILE DONE? 36 http://www.scrumalliance.org HOW IS AGILE DONE? Kanban Management Method for Software Development Based on Just-In-Time lean manufacturing practices Values Increase Flow Maximize resources Reduce work in progress (WIP) Process Improvement Practices Backlog Management Kanban Board Step Limits Expedite Critical Features/Bugs Evaluation Cycles 37 HOW IS AGILE DONE? 38 http://www.kanbanblog.com HOW IS AGILE DONE? Scaled Agile Framework (SAFe) Organizational Framework for Agile Software Development Moving beyond agile for teams Governance Strategy SAFe is published by Leffingwell, LLC. Leffingwell LLC owns trademarks and copywrite for the content. It is freely available at www.scaledagileframework.com 39 HOW IS AGILE DONE? 40 HOW IS AGILE DONE? 41 HOW IS AGILE DONE? Tying it all together (literally) Extreme Programming provides a loose management wrapper with detailed development practices Scrum is currently the most popular Agile management method Kanban as gaining popularity due to its impact on productivity and focus on improvement SAFe is a structured wrapper for Agile development that assists with scaling the concepts for larger organizations The possibilities SAFe wrapped ScrumBanXP 42 “Knowledge is an unending adventure at the edge of uncertainty.” Jacob Bronowski WHEN SHOULD AGILE BE USED AND WHO SHOULD USE IT? 43 WHEN SHOULD AGILE BE USED AND WHO SHOULD USE IT? Reasons to Consider Agile Need to streamline development process Need to shorten development lifecycle General process improvement Establish / Re-establish trust with business / customer 44 WHEN SHOULD AGILE BE USED AND WHO SHOULD USE IT? Change Management Considerations Transparency may be a shock to developers Team members need to be prepared to have accountability and responsibility Customer / Business needs to accept and participate in implementation Customer / Business needs to be prepared to have accountability and responsibility Environment needs to be tolerant of failure Bad habits, practices and relationships will be exposed 45 WHEN SHOULD AGILE BE USED AND WHO SHOULD USE IT? Implementation Steps Get / Create an expert Understand the current state Build a business case Includes choosing / defining the method Find a champion, or better yet, champions Define a Pilot Implementation (project, department) No less that 4 months, no more than 9 months The expert should be directly involved in planning and executing the pilot Training – IT Management, Team, Customer Learn and Mature through the pilot Create implementation plan for rest of organization 46 WHEN SHOULD AGILE BE USED AND WHO SHOULD USE IT? Can Agile be implemented without business support? Yes, but… The expected improvements will not be as significant Iterative work cycles and related reporting can occur without daily business involvement XP development and testing techniques can be implemented in any iterative cycle Need to identify a Business / Customer surrogate Gains will still be found in productivity, quality and design Herald your successes and continually try to engage the business / customer in the process 47 WHEN SHOULD AGILE BE USED AND WHO SHOULD USE IT? How does one choose an agile method to implement? Scrum is the most simple and straight forward method to implement Talk to your customer to determine what is important to them and make sure your implementation addresses those points specifically The name of the method is least important Strive to incorporate all 12 agile disciplines At least incorporate 8 agile disciplines 48 WHEN SHOULD AGILE BE USED AND WHO SHOULD USE IT? Governance Not formally addressed in most agile methods Need to address Can be addressed in backlog or as part of the process Key Control Deliverables Project Tracking Configuration Management Change Control Risk & Issue Management Budget 49 WHEN SHOULD AGILE BE USED AND WHO SHOULD USE IT? Things to look out for: Overzealous method evangelists Minimizing for the sake of minimizing Multi-tasking – waterfall wrapped in an iteration 50 THANK YOU “Life is a series of natural and spontaneous changes. Don't resist them; that only creates sorrow. Let reality be reality. Let things flow naturally forward in whatever way they like.” Lao Tzu 51