Agile MDA Stephen J. Mellor

Slides:



Advertisements
Similar presentations
Scrum (software development)
Advertisements

Alistair Cockburn©Humans and Technology, Inc., Slide 1 The World of Agile Software Development (or, “Creating a fair playing field in 30 minutes”)
Team System and Microsoft Solutions Framework Team collaboration tools Process authoring Process Guidance MSF-Agile & MSF-CMMI Software Factories Future.
Agile Software Development Matt Rice November 27, 2006.
An Application for Education Dave Dalsveen CSM.  In terms of software development, from the need to integrate change into the software project development.
Agile Software Development
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Coming up: The Manifesto for Agile Software Development 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development Software Engineering:
Copyright  Larry Dribin, Ph.D. SE470_XP_v1_1.ppt SE470 XP - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level.
Agile Principles Suradet Jitprapaikulsarn 1. What is Agility? Effective (rapid and adaptive) response to change Effective communication among all stakeholders.
The Agile Alliance By Mark Rucker. The Agile Alliance What is the Agile Alliance? History of the Agile Alliance What is the Agile Alliance today? The.
An Agile View of Process
Agile Development Methods: Philosophy and Practice
Elephants in the Agile Room. Reflections on 10 Years of Agility Todd Little Sr. Development Manager Landmark Graphics.
Agile Web Development C. Daniel Chase University of Colorado at Boulder.
Developed by Reneta Barneva, SUNY Fredonia Agile Development.
Chapter 4 Agile Development
An introduction for PMPs
Chapter 5 Agile Development Chapter 5 Agile Development Moonzoo Kim KAIST 1.
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Chapter 4 An Agile View of Process
Scrum Thomas Ferris Nicolaisen Common sense?
Chapter 4 Agile Development 1. The Manifesto for Agile Software Development 2 “We are uncovering better ways of developing software by doing it and helping.
"The thinking it took to get us into this mess is not the same thinking that is going to get us out of it."
Richard HundhausenKen Schwaber Accentient Corporation Scrum.org SESSION CODE: DPR205.
Phil O'Connell Penn State Abington IST 261 (Fall 2015) Application Development Design Studio I Agile Scrum Phil O'Connell
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Creation Communication Agile Principles applied to software projects.
1 The Manifesto for Agile Software Development “We are uncovering better ways of developing software by doing it and helping others do it. Through this.
ISECON 2003 San Diego, California Integrating Agile Methodologies into the Project Capstone Christopher G. Jones, CPA/PhD Utah Valley State College
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
©Alistair Cockburn The 2005 “Declaration of InterDependence” Alistair Cockburn
By: Isuru Abeysekera AGILE DEVELOPMENT. WHAT IS AGILE DEVELOPMENT? Broad term used to describe several methods for a development process Introduced in.
Introduction to Software Engineering
Chapter 5 Agile Development Moonzoo Kim KAIST
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Forget about Agile for a second!
Phlip Pretorius 10-March-2014
Manifesto for Agile Software Development
The low hanging fruit is gone!
CEN 4010 Intro to Software Engineering Professor Alex Roque
AGILE SCRUM METHODOLOGY
PMP vs. Scrum Master Compatible or Incompatible? Presented by:
Software Engineering Process
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Iterative and Agile Development
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
The Current Conversation in Agile Software Development Aug-2002
Teaching Agile Methods CSEE&T 2017, Savannah, Georgia
Agile Development Methods: Philosophy and Practice
Agile Development Methods: Philosophy and Practice
Introduction to Software Engineering
Agile Development Methods: Philosophy and Practice
Introduction to Software Engineering
Agile Software Development Paradigms
How to Successfully Implement an Agile Project
Agile Development Agile Development Damian Gordon Damian Gordon.
eXtreme Programming (XP) and eXtreme Modeling (XM)
CSCE 747 Software Testing and Quality Assurance
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
The Manifesto for Agile Software Development
Chapter 5: New and Emerging Process Methodologies
Agile Development Methods: Philosophy and Practice
Agile Development Methods: Philosophy and Practice
Agile Project Management and Scrum
Presentation transcript:

Agile MDA Stephen J. Mellor The audience for this preso is people with an interest in UML who wish to learn more about it, but are sceptical. People who know UML inside out would be bored. The goal is to convince them that there is a strong relationship between code and UML. That relationship may be direct (a one-to-one mapping) or not. Expressing the mapping is the business of rules. We do not describe the syntax of the rule language.

A Brief History of MDD UML 1.1: Three Amigos 1997 UML 2.0: Cast of thousands 2004 Executable UML: Mellor and Balcer 2002 OO Design: Booch 1988 OMT: Rumbaugh et al 1992 Object Lifecycles: Shlaer and Mellor OOA: Shlaer and Mellor 1988 Structured Design: Yourdon and Constantine 1979 Structured Analysis: De Marco 1981 Structured Devpt/RT: Ward and Mellor 1985

Model-Driven Architecture An OMG initiative to develop standards based on the idea that modeling is a better foundation for developing and maintaining systems A brand for standards and products that adhere to those standards A set of technologies and techniques associated with those standards ® OMG

The Agile Critique Models are bad (they say), because models: Don’t run. Can’t be tested automatically. Models are bad because they are “documentation” which: Has no correspondence to the code Is extra work to build… …and maintain (or throw away)

Agile Manifesto “We are uncovering better ways of developing software by doing it and helping others do it. We value: Individuals and interactions over processes and tools Working software over comprehensive documentation. Customer collaboration over contract negotiation. Responding to change over following a plan.”

What problem is agility meant to solve? Delayed feedback on requirements Right solution to the wrong problem Unsustainable pace Poor customer relations Long time-to-market The Agile movement is a reaction to heavyweight methods that: - build documents that cannot be tested with the user - produce the specified solution six months down the road when the problem has changed - produce poor estimates because cycle times are too long - rely heroic efforts to produce a working product - treat the customer as a contractual adversary

What solution does agility propose? Immediate feedback by executing software Frequent releases with consequent feedback Timeboxed deliveries Customer on Site (aka Whole Team on Site) Incremental delivery of working code Frequent releases can affect the perception of the problem and help to clarify requirements earlier in the cycle Deliver fewer features, but do it more frequently. Given choice between slipping the delivery date for an interim release and removing features, Agile processes favor removal of features. Having access to the customer and the ability to show him frequent, incremental releases helps clarify requirements. Delivering working software incrementally and frequently helps to ease customers’ and managers’ fear. customer developer

Signatories to the Agile Manifesto Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler James Grenning Jim Highsmith Andrew Hunt Ron Jeffries Jon Kern Brian Marick Robert C. Martin Stephen Mellor Ken Schwaber Jeff Sutherland Dave Thomas Robert C. Martin Stephen Mellor Ken Schwaber Jeff Sutherland Dave Thomas So, which one of these guys does not belong on this list? Steve went to the initial meeting as a spy more than anything else. While he was there he realized that many of the ideas proposed by these people are good ones and can be applied to modeling, and these approaches happened to reflect the way we have always encouraged our customers to build systems anyway. www.aanpo.org

Models, Models, Models Models Sketch Blueprint Executable

Sketches as Models Helpful to get an idea …across Write code by referring (mentally) to the model Throw-away/informal

Blueprints as Models Intended to direct implementation Intended for planning (“predictive”) Assumption that construction is more costly than design

Executable Models Intended to be (a part of) implementation Intended for verification (“adaptive”) Assumption that construction is less costly than design

A Conversation You’re saying models are bad; code is good. Right! Because models can’t execute and code can. Right? Right! If a model could execute, that would be good. Right? Right! But models can execute, so models are good. Right? No. Models are bad. Code is good.

How can modeling be agile? Immediate feedback by executing models* Frequent releases with consequent feedback Timeboxed deliveries Customer on Site (aka Whole Team on Site) Incremental delivery of working models Doesn’t modeling imply heavyweight processes? Definitely not. If the models are executable and can be translated into software, then modeling can be agile too. Why do we want to model, anyway…? * The Agile Manifesto uses “software,” not “code.”

Thank you Questions?