Ambler Keynote

Total Page:16

File Type:pdf, Size:1020Kb

Ambler Keynote Disciplined Agile Delivery: A Principled Approach Scott W. Ambler Senior Consulting Partner scott [at] scottambler.com @scottwambler We’re going to cover a lot of ground © Disciplined Agile Consortium The Story I’m About to Tell © Disciplined Agile Consortium Agile software teams are building awesome race car engines… © Disciplined Agile Consortium …but they are surrounded by organizational tractors © Disciplined Agile Consortium To win the race we need to build a high performing race car… © Disciplined Agile Consortium …supported by an effective team to race it © Disciplined Agile Consortium It’s time to rethink our strategy © Disciplined Agile Consortium © Disciplined Agile Consortium Principle #1: Empiricism is far more important than theory © Disciplined Agile Consortium Disciplined Agile (DA) is a process decision framework The DA framework is empirical: – Originally based on observations from dozens of organizations world wide, and has evolved since then based on continuing observations – Encapsulates inputs from hundreds of practitioners – Hybrid framework that adopts proven ideas from many sources, including agile, lean, and traditional methods and frameworks – Implements insights from industry research © Disciplined Agile Consortium Principle #2: Context counts © Disciplined Agile Consortium Teams are composed of unique individuals… © Disciplined Agile Consortium …and every team faces a unique situation… Team Size Two Hundreds Geographic Distribution Co-located Global Organizational Distribution Single division Outsourcing Compliance None Life critical Domain Complexity Straightforward Very complex Technical Complexity Straightforward Very complex Source: disciplinedagiledelivery.com/agility-at-scale/ © Disciplined Agile Consortium …and every organization is unique © Disciplined Agile Consortium Principle #3: Repeatable results are far more important than repeatable processes © Disciplined Agile Consortium When Given the Choice, People Generally Prefer… Spending their money wisely over coming in “on budget” Getting solutions that meet their needs over building something to specification Getting solutions in a timely manner over coming in “on schedule” © Disciplined Agile Consortium Principle #4: Choice is good. Making informed choices is better © Disciplined Agile Consortium The Disciplined Agile framework supports four delivery lifecycles © Disciplined Agile Consortium Delivery teams need similar capabilities, but perform them in different ways Grow Team Members Explore the Initial Scope Identify the Initial Technical Strategy Produce a Potentially Consumable Solution Address Changing Stakeholder Needs and many more…. © Disciplined Agile Consortium Exploring the Initial Scope There are several issues, or process factors, to consider: – What level of detail, if any, will you capture? – What types of views will you address? What artifacts will you create? – How will you go about modeling the requirements? – How are you going to manage changing requirements throughout Construction? – How are you going to address non- functional requirements? © Disciplined Agile Consortium For example, we can capture initial requirements to different levels of detail Each strategy has advantages and disadvantages, there is no such thing as a best practice © Disciplined Agile Consortium Options are captured visually in the form of goal diagrams © Disciplined Agile Consortium A few statistics… There are 22 process goals for agile/lean delivery teams On average, each goal has 5 process factors On average, each process factor has 5 options This is a good start, but only a good start. © Disciplined Agile Consortium Principle #5: IT departments are multi-modal © Disciplined Agile Consortium Delivery teams will adopt, and then adapt, the lifecycle that is most appropriate Out of scope for Disciplined Agile © Disciplined Agile Consortium Multi-Model IT: Your Mix Evolves Over Time Today Agile Traditional C Agile Lean Exp Traditional 1 Year D 2 Year Agile Lean Exp CD Traditional 5 Year Agile Lean Exp Continuous Delivery Trad © Disciplined Agile Consortium Principle #6: Organizations are complex adaptive systems © Disciplined Agile Consortium Every team interacts with, and affects, other teams Enterprise Data Architecture Management Delivery Delivery Team A Team B Operations © Disciplined Agile Consortium Principle #7: Optimize the whole © Disciplined Agile Consortium Disciplined agile teams are enterprise aware • Disciplined agile teams strive to leverage and enhance the existing organizational eco system wherever possible • Implications: – Work closely with enterprise groups – Follow existing roadmap(s) where appropriate – Leverage existing assets – Enhance existing assets © Disciplined Agile Consortium © Disciplined Agile Consortium IT is only one part of your organization © Disciplined Agile Consortium Principle #8: Every team owns its process © Disciplined Agile Consortium Every delivery team will make their own process choices © Disciplined Agile Consortium © Disciplined Agile Consortium Principle #9: Improve continuously © Disciplined Agile Consortium Teams learn from their experiences Structured surveys Retrospectives Project post mortem Measured improvement © Disciplined Agile Consortium 38 Teams should also share their learnings with other teams © Disciplined Agile Consortium 39 Principle #10: Optimize flow, not artifact creation © Disciplined Agile Consortium Challenge: Our “bodies of knowledge” aren’t compatible IT Activity Bodies of Knowledge Development The Agile Canon Project Management PMI PMBoK, Prince2 IT Governance COBiT Enterprise Architecture TOGAF, Zachman, IASA, DODAF… Data Management DAMA Quality Various ISO specifications Business Analysis IIBA BABoK Operations ITIL © Disciplined Agile Consortium DevOps has made the importance of flow clear… © 2015 Scott Ambler + Associates 42 …but we really need to look at all of IT © Disciplined Agile Consortium Principle #11: Embrace change © Disciplined Agile Consortium Several principles motivate us to embrace change Repeatable results are more important than repeatable processes Choice is good – Informed choice is better Every team owns its process Organizations are complex adaptive organizations Teams improve continuously © Disciplined Agile Consortium © 2015 Disciplined Agile Consortium 46 Scaling Agile Tactically Disciplined agile delivery with one or more scaling factors: § Large teams Tactical § Geographically distributed teams Agility § Compliance at Scale § Domain complexity § Technical complexity § Organizational distribution • Delivery focus Disciplined • Risk-value driven lifecycle Agile • Self-organization with appropriate governance Delivery • Goal driven • Enterprise aware • Construction focus • Value driven lifecycle Agile • Self-organizing teams • Prescriptive • Project team aware © Disciplined Agile Consortium Agile IT: Strategic Agility at Scale © Disciplined Agile Consortium Still Room Left! Introduction to Disciplined Agile Delivery (DAD) – Two-day workshop on Thursday and Friday – Please sign up with the conference organizers © Disciplined Agile Consortium Got Discipline? DisciplinedAgileConsortium.org DisciplinedAgileDelivery.com ScottAmbler.com © Disciplined Agile Consortium Additional Slides © Disciplined Agile Consortium Tactical vs. Strategic Scaling Tactical Agility at Scale The application of agile and lean strategies on IT delivery teams. This includes the ability to apply agile on teams of all sizes, on teams that are geographically distributed, on teams facing regulatory compliance, on teams addressing a complex domain (problem space), on teams applying a complex technologies, on teams where outsourcing may be involved, and combinations thereof. Strategic Agility at Scale The application of agile and lean strategies across your entire organization. From an IT point of view this includes the majority, if not all, of your IT delivery teams as well as a the IT-level teams support activities such as enterprise architecture, operations, support, portfolio management, IT governance, and other topics. From an enterprise point of view this includes all divisions and teams within your organization, not just your IT department. © Disciplined Agile Consortium What Scaling Factors Do Software Development Teams Face? 45% Compliance 43% 64% Organizationally Distributed 68% Complex Technology 88% 92% 42% Complex Domain 61% 37% Team Size > 10 48% Geographically Distributed 78% 61% 0% 20% 40% 60% 80% 100% Non-Agile Teams Agile Teams Source: DDJ State of the IT Union 2014 Q2 Survey © Disciplined Agile Consortium Basic/Agile Lifecycle A full Scrum-based agile delivery lifecycle. © Disciplined Agile Consortium Exploratory “Lean Startup” Lifecycle Sometimes it takes time to identify what your stakeholders actually need © Disciplined Agile Consortium Lean Lifecycle A full lean delivery lifecycle © Disciplined Agile Consortium Lean Continuous Delivery Lifecycle Your evolutionary end goal? © Disciplined Agile Consortium Shuhari and Disciplined Agile Certification At the shu stage you are beginning to learn the techniques and philosophies of disciplined agile development. Your goal is to build a strong foundation from which to build upon. At the ha stage you reflect upon and question why disciplined agile strategies work, seeking to understand the range of strategies available to you and when they are best applied. At the ri stage you seek to extend and improve upon disciplined agile techniques, sharing your learnings with others. © Disciplined Agile Consortium DAD is a
Recommended publications
  • Comparative Study on Agile Software Development Methodologies
    Global Journal of Computer Science and Technology Software & Data Engineering Volume 13 Issue 7 Version 1.0 Year 2013 Type: Double Blind Peer Reviewed International Research Journal Publisher: Global Journals Inc. (USA) Online ISSN: 0975-4172 & Print ISSN: 0975-4350 Comparative Study on Agile Software Development Method- ologies By A B M Moniruzzaman & Dr. Syed Akhter Hossain Daffodil International University, Bangladesh Abstract - Today‘s business environment is very much dynamic, and organizations are constantly changing their software requirements to adjust with new environment. They also demand for fast delivery of software products as well as for accepting changing requirements. In this aspect, traditional plan-driven developments fail to meet up these requirements. Though traditional software development methodologies, such as life cycle-based structured and object oriented approaches, continue to dominate the systems development few decades and much research has done in traditional methodologies, Agile software development brings its own set of novel challenges that must be addressed to satisfy the customer through early and continuous delivery of the valuable software. It‘s a set of software development methods based on iterative and incremental development process, where requirements and development evolve through collaboration between self-organizing, cross-functional teams that allows rapid delivery of high quality software to meet customer needs and also accommodate changes in the requirements. In this paper, we significantly indentify and describe the major factors, that Agile development approach improves software development process to meet the rapid changing business environments. We also provide a brief comparison of agile development methodologies with traditional systems development methodologies, and discuss current state of adopting agile methodologies.
    [Show full text]
  • Disciplined Agile
    Disciplined Agile Jas Madhur and Scott Ambler Presentation for PMI Luxembourg November 22nd, 2016 - Chambre des Metiers, Kirchberg #pmiluxagile Agenda • Part 1 – Jas Madhur (Luxembourg) • Part 2 – Plan A - Scott Ambler (Toronto) • Part 2 – Plan B – Slides. No refunds. Free event. Even food! Sponsors. • agilepartner • Since 2004 architecting agile information systems • Don’t worry be AP! • Lux – Advisory • Since 2009 consulting company specialising in organisation and strategy Questions and comments use #pmiluxagile Part 1 - Jas Madhur – Who am I? • PMI Luxembourg – Director of Finance … 2017 + Sponsorship • Agile Practitioner / Methodologist • 1993 Iterative/Object Oriented Development (Canadian Air Traffic System) • 1997 Rational Unified Process (RUP) Development Team (IBM Rational Software) • 2004 Agile Vancouver – Dr.Philippe Kruchten • 2008 Agile Toronto – Scott Ambler • 2011 Luxembourg • AZUR ERP for Health Insurance Companies • SMEs • Agile RUP (Matisse) • PM / PMO • Write proposals and submit tenders EU institutions at infeurope • jasmadhur.blogspot.com - @jmadhur Who are you? Why are we here? • Audience • IT Project Managers • HR • Curious about what is all this ‘AGILE’ noise is about? • Know • Agile. Like teenage romance. Rampant and variable. Great experts. Let’s hope it’s safe. • Patterns and anti-patterns of agile and agility. • Do • How could the agile approach be useful throughout your organization? • Think • Being agile stimulates evolution and innovation. • Feel • Being agile and adaptive is engrained in our DNA. • It’s natural. The Context • Software/Systems Engineering • 1 Dimensional .. Waterfall .. DoD Mil-Spec 2167a • 2 Dimensional .. Iterative .. IBM Rational Unified Process (RUP) (1996) • Market Pressures of the “Internet Economy” • Small Teams • The Agile Movement • Rapid Delivery and Innovation • A Balanced Reliable Approach • Disciplined Agile DoD Mil-Spec 2167a (1989) Hardware (HW) Computer Software (CS) Unit (U) Component (C) Configuration Item (CI) Baselines WATERFALL 1.
    [Show full text]
  • Disciplined Agile Delivery Enterprise Transformation Coach Helping to Create Agile and Lean Enterprises Around the World
    Governance, Phases, and Milestones are not Agile Dirty Words! Mark Lines, Scott Ambler + Associates Co-creator of Disciplined Agile Delivery Enterprise Transformation Coach Helping to create Agile and Lean enterprises around the world @Mark_Lines © Scott Ambler + Associates 1 DAD Has Caught On! - Organizations using Disciplined Agile Delivery (DAD) © Scott Ambler + Associates 2 Disciplined Agile Delivery (DAD) is a process decision framework The key characteristics of DAD: – People-first – Goal-driven – Hybrid agile – Learning-oriented – Full delivery lifecycle – Solution focused – Risk-value lifecycle – Enterprise aware © Scott Ambler + Associates 3 DAD is a Hybrid Framework SAFe DevOps …and more Outside In Dev. “Traditional” Agile Data Extreme Unified Process Agile Modeling Programming Scrum Kanban Lean DAD leverages proven strategies from several sources, providing a decision framework to guide your adoption and tailoring of them in a context-driven manner. © Scott Ambler + Associates 4 DAD is Goal-Driven, Not Prescriptive © Scott Ambler + Associates 5 © Scott Ambler + Associates 6 Functional Requirements: Potential Model Types Usage Domain Epic/User Story Domain/Conceptual Model Persona Logical Data Model (LDM) Usage Scenario UML Class Diagram Story Mapping UML Component Diagram UML Use Case Diagram User Interface (UI) Process Value Stream Map UI Flow Diagram Business Process Model UI Prototype (Low Fidelity) Data Flow Diagram (DFD) UI Prototype (High Fidelity) Flow Chart UI Specification UML Activity Diagram UML State Chart General
    [Show full text]
  • Quality in an Agile World Software
    TALKING POINTS Quality is an inherent aspect of true agile software development. The majority of agilists take a test-driven approach to development where they write a unit test Quality in an before they write the domain code to fulfill that unit test, with the end result being that they have a regression unit test suite at all Agile World times. They also consider acceptance tests as first-class requirements artifact, not only promoting regular stakeholder validation of BY SCOTT AMBLER their work but also their active inclusion in Ambysoft, Inc. the modeling effort itself. Agilists refactor their source code and database schema to keep their work at the highest possible qual- ity at all times. The challenge for quality professionals is that agilists work in a highly INTRODUCTION collaborative and evolutionary (iterative and Modern software processes are evolutionary, iterative, and incremental) manner, often requiring tradi- incremental in nature. This includes processes such as Rational tional quality professionals to change their Unified Process (RUP) (Kruchten 2004), Extreme Programming approach. (XP) (Beck 2000), Enterprise Unified Process (EUP) (Ambler, Key words: agile model driven development, Nalbone, and Vizdos 2005), and rapid application development agile software development, collaborative (RAD), to name a few. Furthermore, many modern processes development, evolutionary, incremental are agile, which for the sake of simplicity I will characterize as development, iterative development, refac- toring, software processes, test-driven both evolutionary and highly collaborative in nature. The fun- development damental nature of software development is changing, and qual- ity professionals must change with it. In this article I introduce SQP References readers to common agile software development techniques and The Role of Testers in the Agile Methods argue that they lead to software that proves in practice to be of much higher quality than what traditional software teams usu- vol.
    [Show full text]
  • Requirements Engineering and Agile Methodology
    Requirements – Architecture - Agility R. Kuehl/J. Scott Hawker p. 1 R I T Software Engineering Requirements Engineering and Agile Processes (You may be thinking) Requirements engineering model as presented is not very agile Writing a SRS, etc. sounds like a classic heavy weight process It is! But, two points to consider as good software engineers: 1. Fit the software methodology and process to the problem 2. Agile processes do equivalent requirement engineering activities – still need requirements validated by stakeholders for success R. Kuehl/J. Scott Hawker p. 2 R I T Software Engineering Requirements and Agile Traditional approach – the requirements document Agile argument against tradition Communication gaps between authors and readers Change cycle is too long Challenging to capture the complete problem and system context Brain’s capacity to retain information Agile answer: Continuous collaboration with stakeholders . Workshops, conversation Stories (index cards) record conversations Are they the requirements? R. Kuehl/J. Scott Hawker p. 3 R I T Software Engineering Requirements Engineering in Agile Processes Where is the Knowledge? Requirements Eng. Agile Methodology 1. Elicitation 1. Stories 2. Iteration design, 2. Analysis customer collaboration 3. Specification 3. Stories, code, acceptance tests, unit 4. Validation tests 5. Management 4. Customer collaboration, acceptance tests 5. Planning cycle, frequent iterations R. Kuehl/J. Scott Hawker p. 4 R I T Software Engineering A Picture Worth a 1000 Words Requirements Waterfall Incremental Evolutionary “Classic” or agile style Design Always maps Construction (coding & testing) Deployment The Requirements Engineering Model The General Software Engineering Framework R. Kuehl/J. Scott Hawker p. 5 R I T Software Engineering R.
    [Show full text]
  • Disciplined Agile Delivery: Workshop Overview © Scott Ambler +
    Disciplined Agile Delivery: Workshop Overview Advanced Disciplined Agile Delivery Workshop Overview Mark Lines Scott W. Ambler [email protected] [email protected] Mark_Lines scottwambler © Scott Ambler + Associates 1 Objectives of this Workshop • To learn what the Disciplined Agile Delivery (DAD) process framework is and how it compares to other agile methods • To learn how common development activities are addressed throughout a disciplined agile project • To discover how a goal-driven approach provides a non-prescriptive, scalable foundation for agile solution delivery • To learn what it means to scale agile approaches • To learn how to adopt disciplined agile strategies © Scott Ambler + Associates 2 © Scott Ambler + Associates 1 Disciplined Agile Delivery: Workshop Overview How we will learn… • This is a workshop, not a lecture • Ask questions – Lots of discussion time is built into the schedule • Many labs are built into the workshop, to learn by doing • You are going to have fun, we promise! © Scott Ambler + Associates 3 Introductions • Your name and current role • Your current and/or recent project • Your experience with agile • One thing that you believe to be true about agile development • One question about agile that still puzzles you © Scott Ambler + Associates 4 © Scott Ambler + Associates 2 Disciplined Agile Delivery: Workshop Overview Audience Anyone willing to learn with an open mind Agile knowledge is necessary Agile development experience is not necessary, although very useful © Scott Ambler + Associates 5 Agenda
    [Show full text]
  • Contextualizing Agile Software Development
    Contextualizing Agile Software Development Philippe Kruchten, Ph.D., P.Eng. Kruchten Engineering Services Ltd Vancouver, BC, Canada Abstract This paper presents a contextual model for software-intensive systems development to guide the adoption and adaptation of agile software development practices. This model was found especially useful when the project context departs significantly from the “agile sweet spot”, i.e., the ideal conditions in which agile software development practices originated from, and where they are most likely to succeed, “out of the box”. This is the case for large systems, distributed development environment, safety-critical systems, system requiring a novel architecture, or systems with an unorthodox business model or governance model. Keywords Agile software development, software development process, process adaptation 1 Introduction 1.1 Agility defined Drawing from earlier definitions from Jim Highsmith [1] or from Steve Adolph and the OODA loop [2], we define agility as “the ability of an organization to react to changes in its environment faster than the rate of these changes.” This definition uses the ultimate purpose or function of being agile for a busi- ness, rather than defining agility by a labeled set of practices (e.g., you’re agile when you do XP [3], Lean [4-6], or Scrum [7-9]) or by a set of properties defined in opposition to another set -- the agile manifesto approach [10]. This definition is not too far from that Kieran Conboy arrived at in his survey of agile process development literature [11]. An analogy could be the definition of a road. Would you define a road as something made of crushed rocks and tar, or define it as a surface that is black rather than white, flat rather than undulated, and with painted lines rather than monochrome? Or would you rather define a road as a component of a transportation system, allowing people and goods to be moved on the ground surface from point A to point B? And then let the properties or components of the road be derived from this, allowing some novel approaches in road design.
    [Show full text]
  • Disciplined Agile Delivery (DAD): the Foundation for Scaling Agile
    Disciplined Agile Delivery (DAD): The Foundation for Scaling Agile Scott W. Ambler Chief Methodologist for Agile and Lean, IBM Rational www.ibm.com/developerworks/blogs/page/ambler twitter.com/scottwambler © 2012 IBM Corporation We hope that you find these slides useful. If you would like to discuss this topic further, please contact IBM. 1 2 Agenda 1 Agile Fundamentals 2 Disciplined Agile Delivery (DAD) 3 Agility at Scale 4 Parting Thoughts 2 © 2012 IBM Corporation 2 What is agile? Agile is a highly collaborative, evolutionary, quality focused approach to software development. How agile is different: –Focus on collaboration –Focus on quality –Focus on working solutions –Agilists are generalizing specialists –Agile is based on practice, not theory 3 © 2012 IBM Corporation Focus on collaboration: Less paperwork and more conversation Stakeholders actively involved Focus on quality: Have a full regression test suite for your systems Develop loosely-coupled, highly cohesive architectures Refactor to keep them this way Focus on working solutions: Greater feedback makes agile projects easier to manage Less documentation is required Less bureaucracy Agilists are generalizing specialists: Fewer hand offs between people Fewer people required Specialists find it difficult at first to fit into the team Agile is based on practice, not theory: This is a significant change from traditional You need to see how agile works in practice to truly understand it 3 Why agile? Higher success rates Iterative Agile Lean Ad-Hoc Traditional 0% 20% 40% 60% 80% 100% Successful Challenged Failed Source: DDJ 2011 IT Project Success Survey 4 © 2012 IBM Corporation Detailed results online at www.ambysoft.com/surveys/ Success as defined by the respondent (this is the same for all slides in this deck).
    [Show full text]
  • Disciplined Agile Delivery: an Introduction 2 Disciplined Agile Delivery: an Introduction
    IBM Software Thought Leadership White Paper Design and development Disciplined Agile Delivery: An introduction 2 Disciplined Agile Delivery: An introduction Make no mistake, agile is not a fad. When mainstream agile Unfortunately, we need to take adoption rate survey results with methods such as Scrum and Extreme Programming (XP) were a grain of salt: A subsequent Ambysoft survey found that only introduced, the ideas contained in them were not new, nor were 53 percent of people claiming to be on “agile teams” actually they even revolutionary at the time. In fact, many of them have were. It is clear that agile methods have been overly hyped by been described in-depth in other methods such as Rapid various media over the years, leading to abuse and misuse; in Application Development (RAD), Evo, and various instantiations fact, the received message regarding agile appears to have justi- of the Unified Process, not to mention classic books such as fied using little or no process at all. For too many project teams Frederick Brooks’ The Mythical Man Month. It should not be sur- this resulted in anarchy and chaos, leading to project failures and prising that working together closely in co-located teams and a backlash from the IT community that prefers more traditional collaborating in a unified manner towards a goal of producing approaches. working software produces results superior to those based on working in specialized silos concerned with individual rather Properly executed, agile is not an excuse to be undisciplined. It is than team performance. It should also come as no surprise that clear that the execution of mainstream agile methods such as XP reducing documentation and administrative bureaucracy saves have always demanded a disciplined approach, certainly more money and speeds up delivery.
    [Show full text]
  • The Unified Modeling Language V1.1 and Beyond: the Techniques of Object-Oriented Modeling Scott W. Ambler
    The Unified Modeling Language v1.1 and Beyond: The Techniques of Object-Oriented Modeling An AmbySoft Inc. White Paper Scott W. Ambler Object-Oriented Consultant AmbySoft Inc. Material for this White Paper has been modified from the books Building Object Applications That Work and Process Patterns by Scott W. Ambler http://www.ambysoft.com/umlAndBeyond.pdf Finalized: February 11, 2000 Copyright 1998-2000 Scott W. Ambler Table Of Contents 1. THE UNIFIED MODELING LANGUAGE AND BEYOND ............................................................................... 1 2. UNDERSTANDING YOUR MODELING OPTIONS ........................................................................................ 1 2.1 CRC MODELING...............................................................................................................................................1 2.2 DEFINING USE CASES, USE-CASE SCENARIOS, AND USE-CASE DIAGRAMS............................................2 2.3 INTERFACE-FLOW DIAGRAMS.......................................................................................................................3 2.4 CLASS DIAGRAMS.............................................................................................................................................5 2.5 ACTIVITY DIAGRAMS.....................................................................................................................................6 2.6 DATA DIAGRAMS.............................................................................................................................................8
    [Show full text]
  • Agile Modeling: Effective Practices for Extreme Programming and the Unified Process
    Agile Modeling: Effective Practices for eXtreme Programming and the Unified Process Scott Ambler Wiley Computer Publishing John Wiley & Sons, Inc. 72244_FMI 2/27/02 11:34 AM Page iv 72244_FMI 2/27/02 11:34 AM Page i Agile Modeling: Effective Practices for eXtreme Programming and the Unified Process Scott Ambler Wiley Computer Publishing John Wiley & Sons, Inc. 72244_FMI 2/27/02 11:34 AM Page ii Publisher: Robert Ipsen Editor: Theresa Hudson Development Editor: Kathryn A. Malm Managing Editor: Angela Smith New Media Editor: Brian Snapp Text Design & Composition: D&G Limited, LLC Designations used by companies to distinguish their products are often claimed as trademarks. In all instances where John Wiley & Sons, Inc., is aware of a claim, the product names appear in initial capital or ALL CAPITAL LETTERS. Readers, however, should contact the appropriate companies for more complete information regarding trademarks and registration. This book is printed on acid-free paper. Copyright © 2002 by Scott Ambler. All rights reserved. Published by John Wiley & Sons, Inc., New York Published simultaneously in Canada. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copy- right Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 750-4744. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 605 Third Avenue, New York, NY 10158-0012, (212) 850-6011, fax (212) 850- 6008, E-Mail: PERMREQ @ WILEY.COM.
    [Show full text]
  • CRC Modeling: Bridging the Communication Gap Between Developers and Users an Ambysoft Inc
    CRC Modeling: Bridging the Communication Gap Between Developers and Users An AmbySoft Inc. White Paper Scott W. Ambler Software Process Mentor AmbySoft Inc. Material for this paper has be excerpted from: The Object Primer: The Application Developer’s Guide to Object-Orientation - and - Process Patterns: Building Large-Scale Systems Using Object Technology This Version: November 29, 1998 Copyright 1998 Scott W. Ambler Table of Contents CLASS RESPONSIBILITY COLLABORATOR CARDS....................................................................1 CRC MODELS........................................................................................................................................2 CRC MODELING IN A NUTSHELL....................................................................................................3 PUTTING TOGETHER THE CRC MODELING TEAM.....................................................................................3 ORGANIZE THE ROOM.............................................................................................................................4 BRAINSTORM .........................................................................................................................................4 EXPLAIN THE CRC MODELING TECHNIQUE .............................................................................................5 PERFORM THE ITERATIVE STEPS OF CRC MODELING ...............................................................................5 Finding Classes.................................................................................................................................5
    [Show full text]