22
1 Telecom and Informatics INF5120 ”Modellbasert Systemutvikling” Forelesning 17.03.2005 Agile Methods & Architecture QVT – ATL, MOF2Txt Arne-Jørgen Berre

INF5120 ”Modellbasert Systemutvikling”€¦ · Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” Forelesning 17.03.2005 Agile Methods & Architecture QVT –

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INF5120 ”Modellbasert Systemutvikling”€¦ · Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” Forelesning 17.03.2005 Agile Methods & Architecture QVT –

1Telecom and Informatics

INF5120”Modellbasert Systemutvikling”

Forelesning 17.03.2005

Agile Methods & ArchitectureQVT – ATL, MOF2Txt

Arne-Jørgen Berre

Page 2: INF5120 ”Modellbasert Systemutvikling”€¦ · Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” Forelesning 17.03.2005 Agile Methods & Architecture QVT –

2Telecom and Informatics

INF5120 - Forelesninger - 2005 M: MDA, T: Eclipse, IBM tool, C: COMET, UM: MDA, T: Eclipse, IBM tool, C: COMET, U:: UML 2.0 (Literature references) 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) !

Page 3: INF5120 ”Modellbasert Systemutvikling”€¦ · Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” Forelesning 17.03.2005 Agile Methods & Architecture QVT –

3Telecom and Informatics

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

Page 4: INF5120 ”Modellbasert Systemutvikling”€¦ · Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” Forelesning 17.03.2005 Agile Methods & Architecture QVT –

4Telecom and Informatics

Agile Methods – Smidige metoder

The Agile Manifesto (See presentation by Kjetil Jørgensen-Dahl)

Page 5: INF5120 ”Modellbasert Systemutvikling”€¦ · Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” Forelesning 17.03.2005 Agile Methods & Architecture QVT –

5Telecom and Informatics

Agile Software Development Alliance

Manifesto for Agile Software Development

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.

http://www.agilealliance.org/home

Page 6: INF5120 ”Modellbasert Systemutvikling”€¦ · Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” Forelesning 17.03.2005 Agile Methods & Architecture QVT –

6Telecom and Informatics

The Agile Alliance

Kent BeckMike BeedleArie van BennekumAlistair CockburnWard CunninghamMartin FowlerJames GrenningJim HighsmithAndrew HuntRon JeffriesJon KernBrian MarickRobert C. MartinSteve MellorKen SchwaberJeff SutherlandDave Thomas

Page 7: INF5120 ”Modellbasert Systemutvikling”€¦ · Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” Forelesning 17.03.2005 Agile Methods & Architecture QVT –

7Telecom and Informatics

Extreme Programming – XP (p. 114)

Kent Beck, Ward Cunningham – Chrysler 1996

(See presentation by Kjetil Jørgensen-Dahl)

Page 8: INF5120 ”Modellbasert Systemutvikling”€¦ · Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” Forelesning 17.03.2005 Agile Methods & Architecture QVT –

8Telecom and Informatics

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

Page 9: INF5120 ”Modellbasert Systemutvikling”€¦ · Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” Forelesning 17.03.2005 Agile Methods & Architecture QVT –

9Telecom and Informatics

Agile Architecture

Agility in a nutshell

Page 10: INF5120 ”Modellbasert Systemutvikling”€¦ · Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” Forelesning 17.03.2005 Agile Methods & Architecture QVT –

10Telecom and Informatics

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

Page 11: INF5120 ”Modellbasert Systemutvikling”€¦ · Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” Forelesning 17.03.2005 Agile Methods & Architecture QVT –

11Telecom and Informatics

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

Page 12: INF5120 ”Modellbasert Systemutvikling”€¦ · Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” Forelesning 17.03.2005 Agile Methods & Architecture QVT –

12Telecom and Informatics

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

Page 13: INF5120 ”Modellbasert Systemutvikling”€¦ · Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” Forelesning 17.03.2005 Agile Methods & Architecture QVT –

13Telecom and Informatics

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 …

Page 14: INF5120 ”Modellbasert Systemutvikling”€¦ · Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” Forelesning 17.03.2005 Agile Methods & Architecture QVT –

14Telecom and Informatics

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

Page 15: INF5120 ”Modellbasert Systemutvikling”€¦ · Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” Forelesning 17.03.2005 Agile Methods & Architecture QVT –

15Telecom and Informatics

Agile Modeling values

Communication Courage Feedback Humility Simplicity

Page 16: INF5120 ”Modellbasert Systemutvikling”€¦ · Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” Forelesning 17.03.2005 Agile Methods & Architecture QVT –

16Telecom and Informatics

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

Page 17: INF5120 ”Modellbasert Systemutvikling”€¦ · Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” Forelesning 17.03.2005 Agile Methods & Architecture QVT –

17Telecom and Informatics

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

Page 18: INF5120 ”Modellbasert Systemutvikling”€¦ · Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” Forelesning 17.03.2005 Agile Methods & Architecture QVT –

18Telecom and Informatics

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

Page 19: INF5120 ”Modellbasert Systemutvikling”€¦ · Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” Forelesning 17.03.2005 Agile Methods & Architecture QVT –

19Telecom and Informatics

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

Page 20: INF5120 ”Modellbasert Systemutvikling”€¦ · Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” Forelesning 17.03.2005 Agile Methods & Architecture QVT –

20Telecom and Informatics

Agile Modeling (3)

Model to communicate Model to understant Reuse existing resources Update only when it hurts

Page 21: INF5120 ”Modellbasert Systemutvikling”€¦ · Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” Forelesning 17.03.2005 Agile Methods & Architecture QVT –

21Telecom and Informatics

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

Page 22: INF5120 ”Modellbasert Systemutvikling”€¦ · Telecom and Informatics 1 INF5120 ”Modellbasert Systemutvikling” Forelesning 17.03.2005 Agile Methods & Architecture QVT –

22Telecom and Informatics

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