INF5120 Modellbasert Systemutvikling



Similar documents
Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development

Introduction to Agile Software Development. EECS 690 Agile Software Development

Agile QA s Revolutionary Impact on Project Management

Agile in Financial Services A Framework in Focus

History of Agile Methods

D25-2. Agile and Scrum Introduction

Agile Software Development with Scrum. Jeff Sutherland Gabrielle Benefield

PMP vs. Scrum Master

Agile Project Management: Adapting project behaviors to the software development environment

Agility? What for? And how? > Warm-up Session Agile Tour Vienna 2014

Scrum and Agile methods The real world

Scrum for Managers, Zurich March 2010

How To Model In An Agile World

Digital Transformation of the Enterprise for SMAC: Can Scrum help?

Agile Project Management Jim Highsmith. Chapter 1. The Agile Revolution

Agile Project Management

Agile & the Declaration of Interdependence: A new approach to Process Improvement

Distributed Agile Development. Bapiraju Nandury Product Development Manager Bangalore Development Centre

SWEN - Software Engineering Network Donnerstag 06. Mai. 2010

Abstract. Heavy vs Light Methodologies: Bulimic or Anorexic? Fernando Brito e Abreu FCT/UNL

Agile to the Bone. Introduction to Agile by Pietari Kettunen

Agile Software Development in the Large

What Does Large Mean? Copyright 2003 by N. Josuttis and J. Eckstein 3. Why is Large an Issue?

Agile Execution for and Beyond IT

Agile Modeling: A Brief Overview

Agile project management is a style of project management that focuses

WHITEPAPER GET MORE WORK DONE: A MANAGER S GUIDE TO MIXING AGILE AND WATERFALL

the team level and is characterized by self organizing, cross functional teams doing iterative development in what are called Sprints.

Agile Processes. -- Heinrich Heine

AGILE PRODUCTIVITY METRICS

Agile processes. Extreme Programming, an agile software development process

The Agile Manifesto August 2001

Agile Estimating: My DPS Dissertation

Agile user-centred design

Agile processes. Extreme Programming, an agile software development process. Extreme Programming. Risk: The Basic Problem

Extreme Programming, an agile software development process

Agile Software Development

Agile Methodologies XP and Scrum

TecEd White Paper User-Centered Design and the Agile Software Development Process: 7 Tips for Success

Risk Management. What is risk? Boehm s Top 10 Risks [P2] Welcome to Lecture 3 Risk management & Agile PM

Software Process. Successful Software Production between Extreme Programming and Rational Unified Process Short Version

Extreme Programming, an agile software development process

EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT

Agile and Secure: Can We Be Both?

Software Engineering

Best Practices Fusion: Lean Six Sigma and ITIL. By Gary A. Gack

Agile with XP and Scrum

Introduction to Agile Methods

RUP and XP, Part I: Finding Common Ground

Agile Software Project Management Methodologies

USAGE OF KANBAN METHODOLOGY AT SOFTWARE DEVELOPMENT TEAMS

Agile Software Development Approaches and Their History. Volkan Günal

STATE OF MICHIGAN SUITE

REVIEW OF AGILE METHODOLOGIES IN SOFTWARE DEVELOPMENT

2. AGILE ADOPTION CASE STUDIES

Manifesto for Agile Software Development

PROJECT RISK MANAGEMENT MODEL BASED ON PRINCE2 AND SCRUM FRAMEWORKS

Agile Testing and Extreme Programming

Web Application Development Process

Deep Agile Blending Scrum and Extreme Programming. Jeff Sutherland Ron Jeffries

Software Life Cycles and Configuration Management

Agile Development Overview

Software processes that are:

CSSE 372 Software Project Management: Managing Agile Projects

Measuring the Impact of Scrum on Product Development at Adobe Systems

Applying Agile Methods in Rapidly Changing Environments

Agile Methodologies. Venkat Subramaniam.

Agile Software Development Methods, Comparison with Traditional Methods & Implementation in Software Firm

Laboratório de Desenvolvimento de Software

On the Agile Development of Virtual Reality Systems

Agile teams: Do s and don ts in agile software development

Developing acceptance tests specifically with Fit Fit for Developing Software Framework for Integrated Tests Rick Mugridge and Ward Cunningham.

Xtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

14 Requirements Engineering for Agile Methods

Persona driven agile development

Scrum. SE Presentation. Anurag Dodeja Spring 2010

TESTING IN AGILE SOFTWARE DEVELOPMENT

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:

AGILE SOFTWARE DEVELOPMENT

What Agile of Agile Principles

Agile, Rails, and the Cloud. Why your customer should care about Agile, Rails and the Cloud

MANAGEMENT S ROLE 1/16/ Copyright 2001, Net Objectives

Atern The latest version of the DSDM approach which makes DSDM appropriate to all types of project.

Incorporating Agile Methods into the Development of Large-Scale Systems

PENETRATION TESTING IN AGILE SOFTWARE DEVELOPMENT PROJECTS

Agile Project Management

That is, while there is value in the items on the right, we value the items on the left more.

CSE 4415 / SWE 5415 Software Testing 2 Fall 2004 Olin Engineering Building, Room 128 Credits: 3.00

Transcription:

INF5120 Modellbasert Systemutvikling Forelesning 17.03.2005 Agile Methods & Architecture QVT ATL, MOF2Txt Arne-Jørgen Berre 1

INF5120 - Forelesninger - 2005 M: MDA, T: Eclipse, IBM tool, C: COMET, U: U UML 2.0 (Literature references) 1. Intro to System Modeling, Background: OO and UML, RUP, MDA 2. Enterprise Architecture - Enterprise Modeling & MAF&MAFE, BPEL/BPMN (E1) 3. Requirements Modeling (Mappings from Enterprise to System architecture) 4. Software Architecture and architecture modeling (E2) 5. Enterprise and IT architecture (17. February DnD) 6*. UML 2.0 and UML SysML profile (Birger & Øystein)? 7. PIM modeling and PSM mappings/transformations (MDA, MOF, QVT) 8*. Component Modeling and OCL, Model transformation tools&qvt Modelware (JOEA) 9. Agile Methods and Agile Modeling, + QVT/ATL/M2T (17. March) F8 (E4) 10. Architectural Patterns, Design Patterns *tool and Refactoring (E2-a) 11*. Non-functional requirements Quality of service, a QoS profile in UML (JOEA) 12. Service Oriented Architectures UML profile, Interoperability and Data Architectures ADM and Ontologies (ATHENA) (E3) (E2-b) 13. Usability and human centered design (E5) 14. Aspect Oriented Computing, Agents, other PSMs 15. Product Lines Families, Frameworks, Reuse, RAS, Teamwork (E6) 16. LAST: Summary preparation for exam - Microsoft: Software Factories and Domain oriented languages (1 time)! 2

A Practical Guide to Enterprise Architecture 1: Systems Architecture 2: Software Architecture 3: Service Oriented Architecture 4: Software Product Lines 5: Methodology overview 6: Enterprise Unified Process 7: Agile Architecture 8: Agile Modeling 9: Presentation Tier Architecture 10: Usability and User Experience 11: Data Architecture 12: Thought Leadership 3

Agile Methods Smidige metoder The Agile Manifesto (See presentation by Kjetil Jørgensen-Dahl) 4

Agile Software Development Alliance Manifesto for Agile Software Development http://www.agilealliance.org/home We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. 5

The Agile Alliance 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 Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas 6

Extreme Programming XP (p. 114) Kent Beck, Ward Cunningham Chrysler 1996 (See presentation by Kjetil Jørgensen-Dahl) 7

XP - 4 basic principles and practices 4 basic principles: Feedback Communication Simplicity Courage 4 main practices: Continuous Planning Continuous Design Continuous Coding Continuous Testing Customers Developers Coaches/Managers 8

Agile Architecture Agility in a nutshell 9

An Agile approach to Architecture Focus on people, not technology or techniques Keep it simple Work iteratively and incrementally Roll up your sleeves Build it before you talk about it Look at the whole picture Make your architecture attractive to customers 10

Potential problems with traditional approaches to Enterprise Architecture There is not an architecture effort Skewed focus Developers do not know that the architecture exists Developers do not follow the architecture Developers do not work with the architects Outdated architecture Narrowly focused architecture methods 11

What should Architecture efforts produce? Support for the customers of the architecture A vision and plan to achieve that vision A collection of models and documentation describing the architecture 12

Potential problems with an Agile approach It does not include an explicit way to ensure compliancy It depends on people being responsible It requires you to actively strive to keep things simple It requires you to accept an agile approach to modeling and documentation It s all about people 13

Agile Modeling Extreme Modeling Traditionally - either - insist on sophisticated models before coding - or think that modeling is paper-intensive, overly bureaucratic, and waste of time Architect pro-modeling Programmer anti-modeling 14

Agile Modeling values Communication Courage Feedback Humility Simplicity 15

Principles of agile modeling Assume simplicity Embrace change Enabling the next effort is you secondary goal Incremental change Maximize stakeholder investment (onsite customer) Model with a purpose Multiple Models Quality work Rapid feedback Software is your primary goal 16

Principles of agile modeling (2) Travel light Content is more important than representation Everyone can learn from everyone else Know your models Know your tools Local adaptation Open and honest communication Work with people s instincts 17

Agile Modeling core practices Active stakeholder particpation Apply the Right Artifacts Collective Ownership Consider testability Create several models in parallell Create simple content Depict models simply Display models publicly 18

Agile Modeling (2) Iterate to another artifact Model in small increments Model with others Prove IT with code Use the simplest tools Apply modeling standards Apply patterns gently Discard temporary models Formalise contract models 19

Agile Modeling (3) Model to communicate Model to understant Reuse existing resources Update only when it hurts 20

Agile Models Agile models fulfil their purpose Agile models are understandable Agile models are sufficiently accurate Agile models are sufficient consistent Agile models are sufficiently detailed Agile models provide positive value Agile models are as simple as possible 21

Implications for Architects It s about people, not models and documents Models do not equal documents You can t think everything through from the start, and you do not need to anyway You must embrace multiple models Be prepared to take an iterative and incremental approach Your work needs to be just barely good enough, it does not need to be perfect The longer you go without feedback, the greater the risk that your architecture does not reflect the needs of your stakeholders It is your stakeholder s money that is being spent, not yours, therefore they should determine what they choose to fund 22