Disciplined Agile

Total Page:16

File Type:pdf, Size:1020Kb

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. System Rqmts 2. Rqmts Analysis 3. Design – Preliminary 4. Design – Detailed 5. Coding 13+ 6. Testing (CSU) 7. Integration 8. Testing (CSC) 9. Integration 10. Testing (CSCI) 11. Integration 12. Testing (System) 13. FAT 14. SAT The Rational Unified Process (RUP) (1997) • Software Development Lifecycle (SDLC) • Approximate to the solution • Iterative • Time Bound • Risk Focused • Attack! • Useable deliverables • Out of the “Chaos” • Scalable and Adaptable • Invocation Patterns based on complexity • Options and Tradeoffs • Cohesive View - Breakdown silos. Adapting to Complexity and ‘Ceremony’ • Management Complexity • High (Bigger Teams) • Lower (More Informal) • Technical Complexity • High (Many unknowns) .. Unk-Unks • Lower (Predictable cost & schedule) Ambysoft – Enterprise Unified Process (EUP) • Broader • Production • Retirement • Operations & Support • Wider and Cohesive • Enterprise Business Modeling • Portfolio Management • Enterprise Architecture • Strategic Reuse • People Management • Administration • Process Improvement “Information Highway” New Economy Climate • Get me a developer! • Paired Programming • XP • Test First Development • No tomorrow • Get it working today • Get it funded • Schwaber & Beedle • Agile Software Development with Scrum (2002) 2001 .. Agile Manifesto 14 Signatories • Alistair Cockburn • Andrew Hunt • Arie van Bennekum • Brian Marick • Dave Thomas • Jeff Sutherland • Jim Highsmith • Jon Kern • Ken Schwaber • Martin Fowler • Mike Beedle • Robert C. Martin • Ron Jeffries • Ward Cunningham Scrum – Key Terminology Priorities Matisse = Agile_RUP jasmadhur.blogspot.com Agile Patterns and Anti-Patterns Pattern Anti-Pattern • Focused ‘self organized’ team • Not my job! • Transparency / Communication / F2F • Co-Located cross functions • Not holistic • Collaboration tools • Walls/white boards radiate info! • Assigned to multiple projects • Visible progress • Cumbersome bureaucracy and • Fail Fast .. Welcome change. processes • Deliver working software early and often • Maintain constant pace • Small steps, important things first • Customer satisfaction Meanwhile, a few words about LEAN • Define ‘Value’ .. Functionality (Features)/Cost/Schedule • Focus: Flow: Create a value stream delivery process (JIT – Just in Time, Kanban) • Purpose: See the whole, Empower the team, Eliminate Waste, Deliver Fast • Approach: Many small improvements (Kaizen .. Continuous Improvement) • Performance Measure: Reduced flow time, Don’t pass on defects (Demming) • Results: Less waste, increased efficiency (Faster time to Market) Part 2: Scott Ambler • facebook • Shoelaces • Olivia – 1 week • Scott – 40 years • CSMs, HR people Scott Ambler • Canadian. From Toronto. • Senior Consulting Partner: Scott Ambler + Associates (SA+A) • Founder of • Agile Modeling, Agile Data, Disciplined Agile Delivery, Enterprise Unified Process • Author/Co-Author • Disciplined Agile Delivery (12), Refactoring Databases (06), Enterprise Unified Process (05), Enterprise Architecture (03), Agile Database Techniques (03), Agile Modeling (02), The Object Primer (04,95), • Senior Contributing Editor • Dr. Dobb’s Journal Publications - Scott Ambler and Mark Lines • 2012 - Disciplined Agile Delivery • A Practioner’s Guide to Agile Software Delivery in the Enterprise • 2013 – Going Beyond Scrum • Ambler • 2014 – Scaling Agile Software Development • Ambler and Lines • 2016 – The Disciplined Agile Process Decision Framework • Ambler and Lines Disciplined Agile (DA) - Introduction • Why Disciplined Agile? • DA Strategies • Process Blades • Principles for Effective Processes Why Disciplined Agile (DA)? 1. Enable Agile Delivery Teams to Succeed development + enterprise architects + operations + governance people + data management 2. Provide a Coherent Strategy for Agile IT work together as adaptive whole 3. Support the Lean Enterprise anticipate and respond swiftly 4. Context Counts best fit processes Disciplined Agile 2.X DA Strategies 1. DA teams are enterprise aware learn – share knowledge – reuse – involve – governance (e.g. service oriented architecture) local vs global optimization 2. DA supports a full delivery lifecycle (Lust to Dust) concept – inception – construction* – transition - production 3. DA is goal-driven, not prescriptive Goals: inception – construction – transition – on-going ** 4. DA supports 4 delivery lifecycles Agile/Basic (Extended Scrum Construction), Advanced Lean (Kanban), Continuous (Construction*), Exploratory (Lean Start-Up) 5. DA enables tactical scaling Factors: team size – geographic distribution – organization distribution – compliance – domain complexity – technical complexity 6. DA hybrid framework use the best from existing software process frameworks (Scrum, XP, Kanban, Agile Modeling) DA Phase Goals – Do it your way! • Inception (How do we start?) • Transition (How do we deploy?) • Form Initial Team • Ensure the solution is consumable • Develop Common Vision • Align with Enterprise Direction • Deploy the solution • Explore Initial Scope • Identify Initial Technical Strategy • On-Going (What do we do throughout?) • Develop Initial Release Plan • Grow team members • Secure Funding • Form Work Environment • Fulfill the team mission • Leverage and enhance existing infrastructure • Construction (How do we produce a solution?) • Address Risk • Produce a potentially consumable solution • Improve team process and environment • Address changing stakeholder needs • Coordinate activities • Move closer to deployable release • Improve quality • Prove architecture early DA Process Blades • IT Governance • Continuous Improvement • Enterprise Architecture • Data Management • Reuse • Release • Operations • Agile/Basic • Support • Continuous Delivery • Management • People • Exploratory/Lean Startup • Portfolio • Lean/Advanced • Product • Program Principles for Effective Processes 1. Choice is good, and making informed choices is better. 2. Optimize the whole. 3. Every team owns its process. 4. Improve continuously. 5. Embrace process change 6. Repeatable results are far more important than repeatable processes. 7. Empiricism is far more important than theory 2012 - Disciplined Agile Delivery • This is effectively DAD 1.0 • Detailed reference guide to building consumable solutions from beginning to end • Empirical, context-sensitive approach to enterprise development 2013 - Going Beyond Scrum • Scrum is a good start on leading software teams, but isn’t sufficient • Focus on consumable solutions, not just potenially shippable software • Extend Scrum’s construction lifecycle to address the full delivery lifecycle • Move beyond method branding • Adopt explicit governance strategies • Take a goal-based approach to enable tailoring and scaling • DisciplinedAgileConsortium.org/Resources/Documents/BeyondScrum.pdf 2014/2016 - Scaling Agile Software Development • Describes how to scale solution delivery tactically • Works through how to tailor initial requirements scoping, initial technical strategy, moving closer to a deployable release, and coordinating activities • DisciplinedAgileConsortium.org/resources/Whit epapers/Tactical%20Agility%20at%20Scale.pdf 2015 – Introduction to Disciplined Agile Delivery • Overview of DAD • Case study working through initial agile adoption by a team • Works through how to start with a Scrum-based approach and eventually evolve it into a continuous delivery strategy • Concise “airplane read” 2016 – The Disciplined Agile Process Decision Framework • Workflow of an agile IT department • Need to optimize the whole of IT
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 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]
  • 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
    [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]