Edit session number in Master View Agile Modeling: No, It’s Not An Oxymoron.

Slides:



Advertisements
Similar presentations
IBM Rational Team Concert
Advertisements

© 2009 IBM Corporation iEA16 Defining and Aligning Requirements using System Architect and DOORs Paul W. Johnson CEO / President Pragmatica Innovations.
Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
RTC Agile Planning Component
Copyright 2012 Ethicsoft Technologies.1 Introduction to Agile Model Driven Development (AMDD)
Copyright Scott W. Ambler1 Introduction to Agile Model Driven Development (AMDD) Scott W. Ambler Senior Consultant, Ambysoft Inc.
® IBM Software Group © 2007 IBM Corporation Modeling Software Engineering Processes using Eclipse Process Framework Composer (EPFC) / Rational Method Composer.
The Use of Zachman Framework Primitives for Enterprise Modeling
Selected techniques from the Creative Design Process Vision statement Requirements workshop, other facilitated workshops Creative Design Brief Navigation.
® IBM Software Group © 2007 IBM Corporation Achieving Harmony IBM's Platform and Methodology for Systems Engineering and Embedded Software Development.
1 Business Models Modeling. 2 Why Model the Business Business modeling is a technique to help answer critical questions, such as: What do the workers.
Design Management: When Model Driven Engineering Embraces the Semantic Web NECSIS 2012, Gatineau, QC 27 June 2012 Maged Elaasar.
® IBM Software Group © 2013 IBM Corporation Innovation for a smarter planet Timeboxes in a New Paradigm of Behavior Modeling Barclay Brown, ESEP IBM
© 2011 IBM Corporation Overview on Modeling RESTful Services August, 2011 Manoj Paul, Software Developer, Rational,
Click to add text © 2012 IBM Corporation 1 Streams Toolkit Landscape InfoSphere Streams Version 3.0 Mike Branson Toolkits.
Principles of Object Technology Module 1: Principles of Modeling.
RUP Requirements RUP Artifacts and Deliverables
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
® IBM Software Group © 2012 IBM Corporation OPTIM Data Studio – Jon Sayles, IBM/Rational November, 2012.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Rational Unified Process Fundamentals Module 4: Disciplines II.
Agile Modeling Theory. 2 Agile Modeling (AM) AM is a chaordic, practices-based process for modeling and documentation AM is a collection of practices.
More on “The Huddersfield Method” A lightweight, pattern-driven method based on SSM, Domain Driven Design and Naked Objects.
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
© 2009 IBM Corporation Select View/Master/Slide Master to add Session Number Here The Enterprise Architecture Workspace: Your Architecture Blueprint Martin.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
IBM Software Group ® Jazz Storage Service Thomas.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
June 5–9 Orlando, Florida IBM Innovate 2011 Session Track Template Rainer Ersch Senior Research Scientist Siemens AG ALM-1180.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
Session AC23 IBM Rational Software Development Conference 2008 © 2007 IBM Corporation ® UML to EGL without writing code and deploy as Java or COBOL Reginaldo.
CS 772: Global Knowledge Networks V. “Juggy” Jagannathan CSEE, West Virginia University.
Rational Unified Process Fundamentals Module 3: Disciplines I.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
IBM Software Group ® Process Sequence to call ProcessAdminService from browser Thomas.
© 2012 IBM Corporation Introducing IBM Cognos Insight.
© 2015 IBM Corporation Big Data Journey. © 2015 IBM Corporation 2.
® IBM Software Group © 2011 IBM Corporation Innovation for a smarter planet IBM SOA Overview for MITRE “Driving SOA Program Success and Efficiency” April.
© 2012 IBM Corporation IBM Security Systems 1 © 2012 IBM Corporation Cloud Security: Who do you trust? Martin Borrett Director of the IBM Institute for.
Brad Adams IBM Software, Rational 05/13/14
UML - Development Process 1 Software Development Process Using UML.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
FAZAL WAHAB Agile Software Development. What is Agile? An iterative and incremental (evolutionary) approach performed in a highly collaborative manner.
DevOps and UrbanCode Deploy Scott Pecnik. Development and Operations Contraction of Development and Operations Industry History “DevOps Days” in 2009.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
© 2013 IBM Corporation IBM UrbanCode Deploy v6.0.1 Support Enablement Training Source Configuration and Database Upgrades Michael Malinowski
IBM Software Group ® Jazz Team Build – Part 1 Overview Jonathan.
© 2013 IBM Corporation IBM Security Systems © 2012 IBM Corporation Offense Magnitude.
IBM Innovate 2012 Title Presenter’s Name Presenter’s Title, Organization Presenter’s Address Session Track Number (if applicable)
Comparison between EPF Composer and Rational Method Composer
© 2013 IBM Corporation IBM UrbanCode Deploy v6.0 Support Enablement Training Jenkins plug-in 1 November 2013.
IBM Software Group ® Jazz Process Component —Process Template Management Thomas.
European Mobility & Endpoint Security User Group.
David Hatten Developer, UrbanCode 17 October 2013
Gavin Arthurs PE Sr. Technical Specialist – IBM Rational
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
Business Models Modeling.
Deploy Plugins Developer 29 October 2013
Integrating Data With Cognos
Copyright Scott W. Ambler1 Introduction to Agile Model Driven ( Senior Consultant, Inc.
Rosa María Torres de Paz
Embedded Software (ESW) Engineering Practices Introduction
UML Design for an Automated Registration System
Presentation transcript:

Edit session number in Master View Agile Modeling: No, It’s Not An Oxymoron

© 2007 IBM Corporation AM022 Who is Terry Quatrani?

© 2007 IBM Corporation AM023 The Importance of Modeling

© 2007 IBM Corporation AM024 What is a Model?  A model is an abstraction of a physical system  Typically, you will create different models for a physical system to visualize different points of view –Users –Developers –Graphic Artists –Database developers –Testers –Documenters –And on and on ……

© 2007 IBM Corporation AM025 Why do we model?  To manage complexity  To detect errors and omissions early in the lifecycle  To communicate with stakeholders  To understand requirements  To drive implementation  To understand the impact of change  To ensure that resources are deployed efficiently

© 2007 IBM Corporation AM026 Why do we model?  To manage complexity  To detect errors and omissions early in the lifecycle  To communicate with stakeholders  To understand requirements  To drive implementation  To understand the impact of change  To ensure that resources are deployed efficiently

© 2007 IBM Corporation AM027 The Unified Modeling Language  The UML is the standard language for visualizing, specifying, constructing, and documenting software and systems

© 2007 IBM Corporation AM028 TQ’s Golden Rule UML Is HUGE  Only use what you need

© 2007 IBM Corporation AM029 Scott Ambler’s Critical Concepts of Agile Modeling  Apply the right artifact(s)  Maximize stakeholder return on investment (ROI)  Active stakeholder participation  Iterate to another artifact  Model in small increments  Create several models in parallel  Collective ownership  Single source information  Prefer executable specifications

© 2007 IBM Corporation AM0210 What Are Agile Models?  Agile models: –Fulfill their purpose –Are understandable –Are sufficiently accurate –Are sufficiently consistent –Are sufficiently detailed –Provide positive value –Are as simple as possible  Agile models are just barely enough!

© 2007 IBM Corporation AM0211 Requirements – System Context  Actors are people or systems that need to communicate with the system being built  Use cases are a way to capture functional requirements of a system  In theory, you should be able to determine system context by looking at a use case diagram –Works well if there are a limited number of use cases –Does not work as well for larger systems

© 2007 IBM Corporation AM0212 Use Case Diagram

© 2007 IBM Corporation AM0213 Not Exactly UML but….

© 2007 IBM Corporation AM0214 Documenting Use Cases (Functional Requirements)  Use cases are shown in diagrams  Use cases are described in text Register for Courses Student But…. The UML does not specify how a use case should be described

© 2007 IBM Corporation AM0215 Simple Sequence Diagram is Worth Hundreds of Words

© 2007 IBM Corporation AM0216 Bulleted Outline is Usually Sufficient  Time ordered outline of the steps in the use case –Typically just simple sentences  Concentrate on the steps in the basic flow  List major alternate flows and exceptions  This is just a first cut at the use case flow of events  Benefits –Allow you to get a handle on the complexity of the use case (more steps typically more complexity) –Allow you to get early buy in from the customer that you are building the right system –Provide basis for prototyping

© 2007 IBM Corporation AM0217 Add a Course Bulleted Outline  Basic Flow –Student logs onto system –Student opts to add a course to a schedule –Student enters a course number –System verifies that student has satisfied pre-requisites for the course –System displays a list of open course offerings –Student selects an offering –Student is registered for the course  Alternate Flows –Pre-requisites not satisfied –No course offerings available

© 2007 IBM Corporation AM0218 User Interface Storyboard

© 2007 IBM Corporation AM0219 User Interface Screens

© 2007 IBM Corporation AM0220 User Interface Navigation Map

© 2007 IBM Corporation AM0221 Analysis Classes  Boundary Class –A class used to model interaction between the system's surroundings and its inner workings  Control Class –A class used to model control behavior specific to one or a few use cases  Entity Class –A class used to model information and associated behavior that must be stored

© 2007 IBM Corporation AM0222 Analysis Level Diagram

© 2007 IBM Corporation AM0223 User Interface Design Diagram

© 2007 IBM Corporation AM0224 Java Class Design Diagram

© 2007 IBM Corporation AM0225 Entity-Relationship Modeling UML Notation Crow’s Feet Notation

© 2007 IBM Corporation AM0226 Course Registration Physical Data Model

© 2007 IBM Corporation AM0227 Roster Database View

© 2007 IBM Corporation AM0228 Deployment Diagram

© 2007 IBM Corporation AM0229 Component Diagram

© 2007 IBM Corporation AM0230 Architecture

© 2007 IBM Corporation AM0231 Complex Architecture

© 2007 IBM Corporation AM0232 Modeling Sessions

© 2007 IBM Corporation AM0233 Synchronizing Models and Code Update ONLY when it hurts

© 2007 IBM Corporation AM0234 What About Tools?  Use the simplest tool for the job at hand –May be a whiteboard –May be flipcharts –May be a drawing tool –May be a modeling/CASE tool Tools should help you get the job done NOT Drive how you do the job

© 2007 IBM Corporation AM0235 Common Misconceptions About CASE Tools  Agile modelers don’t use CASE tools –Agile modelers use the simplest tool, and if the simplest tool for the job is a CASE tool, then that is what will be used  UML requires CASE tools –Not true. UML drawings are often done by hand  You start modeling with CASE tools –Typically modeling is started with a simple tool (e.g. flip charts) and then you migrate to a CASE tool if needed (e.g. to create persistent models)  The CASE tool is the master –Not true. Once code is either generated from the model or written by hand, the code is the master. One tough decision that has to be made is should the model be updated to reflect the code?

© 2007 IBM Corporation AM0236 Survey Says….  DDJ Modeling and Documentation survey –Currently in progress –274 respondents so far  Topics: –Top 5 modeling tools –Why people model –Primary application of tools –What documents we produce

© 2007 IBM Corporation AM0237 Top 5 Tools AgileTraditionalAd-Hoc Word Processors (89%) Drawing Tools (83%) Individual Whiteboards (54%) Wikis (48%) Post-It Notes (48%) Drawing Tools (89%) Word Processors (89%) Shared Whiteboards (54%) Individual Whiteboards (52%) Software-based modeling tools (37%) Post-It Notes (37%) Word Processors (83%) Drawing Tools (74%) Post-It Notes (46%) Shared Whiteboards (44%) Individual Whiteboards (43%)

© 2007 IBM Corporation AM0238 Primary Approach to Modeling (%)

© 2007 IBM Corporation AM0239 Percentage of Teams Creating Deliverable Documentation

© 2007 IBM Corporation AM0240 You are Engaged in Agile Modeling if…  Your customers/users are active participants  Changing requirements are welcomed and acted upon  You work on the highest priority requirements first  You take an iterative and incremental approach to modeling  Your primary focus is the development of software, not documentation or models themselves  You model as a team where everyone’s input is welcome  You actively try to keep things as simple as possible  You discard most of your models as development progresses  Customers/business owners make business decisions; developers make techical decisions  The model’s content is recognized as being significantly more important thatn the format/representation of that content  How you test what you describe with your model(s) is a critical issue continually considered as you model

© 2007 IBM Corporation AM0241 References and Recommended Reading       Ambler, S.W. (2002). Agile Modeling: Effective Practices for XP and the UP. New York: John Wiley & Sons.  Ambler, S.W. (2003). Agile Database Techniques. New York: John Wiley & Sons.  Ambler, S.W. (2004). The Object Primer 3 rd Edition: AMDD with UML 2. New York: Cambridge University Press.  Ambler, S.W. and Sadalage, P.J. (2006). Refactoring Databases: Evolutionary Database Design. Reading, MA: Addison Wesley Longman, Inc.  Larman, C. (2004). Agile and Iterative Development: A Manager’s Guide. Reading, MA: Addison Wesley

© 2007 IBM Corporation AM0242 QUESTIONS

© 2007 IBM Corporation AM0243 © Copyright IBM Corporation All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, the on- demand business logo, Rational, the Rational logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others. Learn more at:  IBM Rational software IBM Rational software  IBM Rational Software Delivery Platform IBM Rational Software Delivery Platform  Process and portfolio management Process and portfolio management  Change and release management Change and release management  Quality management Quality management  Architecture management Architecture management  Rational trial downloads Rational trial downloads  Leading Innovation Web site Leading Innovation Web site  developerWorks Rational developerWorks Rational  IBM Rational TV IBM Rational TV  IBM Rational Business Partners IBM Rational Business Partners THANK YOU