Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy...

52
© 2013 IBM Corporation Agile Architecture And Design Vishy Ramaswamy ([email protected] ) Senior Technical Staff Member Design Management Server Architect Collaborative Architecture, Design and Analysis IBM Rational Software

Transcript of Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy...

Page 1: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

Agile Architecture And Design

Vishy Ramaswamy ([email protected])Senior Technical Staff MemberDesign Management Server ArchitectCollaborative Architecture, Design and Analysis

IBM Rational Software

Page 2: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

2

Agenda

� ALM Community Office Hours

� Complexity and Risk

� Good Design Better Outcomes

� Agile Architecture and Design

– What are the methodologists saying?

– How are we approaching this?• Architecture and Design Simplicity

• Learn From The Past

• Enable Continuous Collaboration• Enable Life Cycle Traceability To Deal with Change

• Enable Automation For Continuous Validation

• Enable Continuous Upgrades

� The Million Dollar Question

Page 3: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

3

Application Lifecycle Management (ALM) Community(http://bit.ly/IBMALM)

� Establish ALM community as YOUR community where you can find useful and usable

information and make it the most desirable community to became its member

� Place to discuss ideas and issues in ALM that go beyond the tools, as well as follow trends

that affect the software lifecycle emerging from many disciplines

� By forming this community on developerWorks, we are able to tap into a talented network of

practitioners and enthusiasts from not only software development and delivery, but cloud,

big data, agile, mobile, middleware, etc.

� To become a member and share information about ALM community read Welcome to ALM

Community blog

� Members gets notification when useful information is available

� Send feedback and suggestion here

Page 4: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

4

Office Hours Schedule

� Agile Architecture

– April 5th, 2013 from 11:00 AM - 12:00 PM EST

� Curing your Time to Market Blues for Software Delivery

– May 3rd, 2013 from 11:00 AM - 12:00 PM EST

� Plan a number of additional topics like Rational Cloud offering, SAP, outsourcing, etc.

� Want you to share your experience? Send email to [email protected].

� Where can I find office hours slides?Each office hours event will have associated blog. For example, you will be able to download

today’s event slides from ALM Community Office Hours Kickoff and Learn about Design

Factory Team blog.

� I missed office hour event. Will these events be recorded?Yes, office hours events will be recorded and you will be able to download recordings from

each office hours event blog.

Page 5: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

5

Agenda

� ALM Community Office Hours

� Complexity and Risk

� Good Design Better Outcomes

� Agile Architecture and Design

– What are the methodologists saying?

– How are we approaching this?• Architecture and Design Simplicity

• Learn From The Past

• Enable Continuous Collaboration• Enable Life Cycle Traceability To Deal with Change

• Enable Automation For Continuous Validation

• Enable Continuous Upgrades

� The Million Dollar Question

Page 6: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

6

Complexity is the biggest challenge facing organizations today!

“Today’s complexity is only expected to rise, and more

than half of CEOs doubt their ability to manage it.”IBM 2010 Global CEO Study: 1500 face-to-face interviews, Companies of all sizes across 60

countries, representing 33 industries.(IBM CEO study)

Whether IT or device-based, software-based applications continue to grow in size and complexity.

Globally distributed and diverse teams, outsourcing and supply chain dependencies lead to increased challengesin the timely launch of competitive products and services.

Organizations struggle to balance agility

and complexity.

It’s not enough to manage development, the design process itself must become more

streamlined and efficient.

Page 7: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

7

Common Software Development Challenges

§ “How can we become more agile in responding to changes when it’s so risky to make a change?”

§ “How do I reduce duplication across my applications when I have distributed and independent development teams?”

§ “How do I provide integrated solutions when parts are developed in-house, parts are outsourced, and parts are purchased as commercial-off-the-shelf?”

§ “How can I reduce the risk and improve the reliability of deployments?”

Design tools often focus on the practitioner and lack team integration

•Teams cannot easily share designs and get feedback from stakeholders

•Linking designs to other lifecycle artifacts is difficult, leading to a lack of traceability and understanding of the impact of changes

•Too many tasks are tedious, manual, and inefficient such as:

• Conducting design reviews

• Creating reports across multiple designs and lifecycle elements for specifications, communication, regulatory compliance, and auditing

•Ultimately this leads to teams working in silos, limiting the value designs provide to others

Page 8: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

8

Agenda

� ALM Community Office Hours

� Complexity and Risk

� Good Design Better Outcomes

� Agile Architecture and Design

– What are the methodologists saying?

– How are we approaching this?• Architecture and Design Simplicity

• Learn From The Past

• Enable Continuous Collaboration• Enable Life Cycle Traceability To Deal with Change

• Enable Automation For Continuous Validation

• Enable Continuous Upgrades

� The Million Dollar Question

Page 9: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

9

Design and Application Lifecycle Management (ALM)

To overcome these challenge and realize

the full value of design…

� Design needs to be a key part of the

overall application lifecycle.

� Design needs to be integrated into ALM.

� Not done once and forgotten.

� Design Management provides a more

collaborative approach to design.

Collaborative Lifecycle Management

Design Management

Quality Management

Requirements Management

Software Change and Configuration

Open Lifecycle Integration Platform

Forrester defines ALM as:

� The coordination of development life-cycle activities, including requirements, modeling, development,build, and testing, through:

– Traceability: management of relationships between development artifacts used or produced by activities (integration).

– Process automation: enforcement of processes that span these activities.

– Reporting: reporting on progress of the development effort as a whole.

Page 10: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

10

Collaborative Design Management

Iterative and collaborative software design helps teams

address these challenges by:

– Providing a higher level of abstraction to evaluate alternatives and arrive at the best and simplest solution

– Communicating a shared understanding across independent & distributed teams

– Improving quality with early analysis and validation

– Reducing development time by generating implementation resources

– Enabling informed decisions on changes from blueprints of IT systems

Design is important across the application lifecycle

– Quickly capture and collaborate on initial design ideas with sketching

– Define solution architectures and identify reusable services

– Ensure successful and repeatable deployments with deployment planning

A collaborative approach to design helps teams:

�Broaden their understanding of architecture and design goals, reducing costly architectural mistakes

�Shrink design time and adopt an iterative approach to design

�Improve quality by collaborating with peers and stakeholders.

Page 11: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

11

Agenda

� ALM Community Office Hours

� Complexity and Risk

� Good Design Better Outcomes

� Agile Architecture and Design

– What are the methodologists saying?

– How are we approaching this?• Architecture and Design Simplicity

• Learn From The Past

• Enable Continuous Collaboration• Enable Life Cycle Traceability To Deal with Change

• Enable Automation For Continuous Validation

• Enable Continuous Upgrades

� The Million Dollar Question

Page 12: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

12

Architecture and Agile: a contradiction?

� No architect role does not mean no

architectural tasks

– Architecture & design is the responsibility of the whole team

� Design activities does not imply models nor

documentation

–Brainstorming–Creative thinking–Problem solving

� Agile thought leaders recommend agile

architecture

Page 13: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

13

Agile Model Driven Development – Scott Ambler

� Agile Modeling Principles - http://www.agilemodeling.com/principles.htm

� Agile Modeling Best Practices - http://www.agilemodeling.com/practices.htm

� What is Agile Model Driven Development - http://www.agilemodeling.com/essays/amdd.htm

Page 14: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

14

Agile Model Driven Development – Scott Ambler

� Requirements Envisioning –

http://www.agilemodeling.com/ess

ays/initialRequirementsModeling.ht

m#UsageModel

– Usage Models, Domain Models,

User Interface Models

� Architecture Envisioning -

http://www.agilemodeling.com/ess

ays/initialArchitectureModeling.htm

– Technology diagrams, User

interface (UI) flow, Domain

models, Change cases

� Iteration Modeling and Model

Storming

– UI sketches, Flow Diagrams,

CRC Cards, UI Interaction

Diagrams, Data Models

� Agile Enterprise Architecture -

http://www.agiledata.org/essays/en

terpriseArchitecture.html

Page 15: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

15

Agenda

� ALM Community Office Hours

� Complexity and Risk

� Good Design Better Outcomes

� Agile Architecture and Design

– What are the methodologists saying?

– How are we approaching this?• Architecture and Design Simplicity

• Learn From The Past

• Enable Continuous Collaboration• Enable Life Cycle Traceability To Deal with Change

• Enable Automation For Continuous Validation

• Enable Continuous Upgrades

� The Million Dollar Question

Page 16: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

16

Architecture in Agile projects

« Continuous attention to technical excellence

and good design enhances agility. » - Agile Manifesto, principle #9

« The best architectures, requirements, and designs

emerge from self-organizing teams. » - Agile Manifesto, principle #11

Some key architectural activities your team can’t ignore, whether you are “Agile” or not:

1. Define the approach for developing the system

– Identify key best practices & patterns to leverage– Drive technical decisions

2. Identify and select reusable assets (frameworks, components…)

3. Identify the appropriate technical components too meet:

– Functional requirements– Non-functional requirements (availability, security, performance…)

4. Define the structure of the system (runtime and deployment)

5. Continuously validate architectural consistency

6. Continuously communicate with all stakeholders (wherever they may be located)

7. Continuously validate against (possibly volatile) requirements

Page 17: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

17

“Just Enough” Expressions and Traceability within Agile Architecture and Design

Page 18: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

18

Agenda

� ALM Community Office Hours

� Complexity and Risk

� Good Design Better Outcomes

� Agile Architecture and Design

– What are the methodologists saying?

– How are we approaching this?• Architecture and Design Simplicity

• Learn From The Past

• Enable Continuous Collaboration• Enable Life Cycle Traceability To Deal with Change

• Enable Automation For Continuous Validation

• Enable Continuous Upgrades

� The Million Dollar Question

Page 19: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

19

Architectural and design expressions suitable for "just enough" Architecture – Inclusive Models

Component ArchitectureConceptual Data Model

Deployment Architecture

Live Architecture

Documents

FreeForm Diagrams

Page 20: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

20

Architectural and design expressions suitable for "just enough" design – Inclusive Models

CRC Cards

Collaboration Diagram

Flow Diagrams

UI Mockup

Live Design

Documents

Page 21: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

21

Architectural and Design Expressions Variants

Page 22: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

22

Expressing Architecture and Design Goals – Platform Independent Models

Business Process Model Notation (BPMN)

UML models + domain and implementations

extensions

Deployment Topologies

Page 23: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

23

Live Design Documents

� Create living design documents

� Rich text documents with embedded design links

� Add to any design project

� Keep current as designs change

Page 24: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

24

Agenda

� ALM Community Office Hours

� Complexity and Risk

� Good Design Better Outcomes

� Agile Architecture and Design

– What are the methodologists saying?

– How are we approaching this?• Architecture and Design Simplicity

• Learn From The Past

• Enable Continuous Collaboration• Enable Life Cycle Traceability To Deal with Change

• Enable Automation For Continuous Validation

• Enable Continuous Upgrades

� The Million Dollar Question

Page 25: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

25

Learn from the past

� Quickly search across all of your organizations designs on the server for learning, review,

analysis, or to identify potential reuse

� Search directly on the server; no need to load designs into a client first

� Simple full text search over model content (name, description, type)

� Powerful query based searching

Page 26: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

26

Architecture Decision Knowledge (ADK)

• ADK is a simple way to manage information about architecture/design issues and decisions rationale and enables agile architecture/design practices.

• In collaborative design this information can then be shared with other users so they can benefit from the decision making process the original user went through to resolve the problem.

• First class resources capture concepts like Guidance, Topic, Issue, Alternative, Decision and Outcome

Page 27: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

27

Leverage “architectural and design decisions” From The Past

� Identify decisions for specific issues and their rationale and reuse

Page 28: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

28

Agenda

� ALM Community Office Hours

� Complexity and Risk

� Good Design Better Outcomes

� Agile Architecture and Design

– What are the methodologists saying?

– How are we approaching this?• Architecture and Design Simplicity

• Learn From The Past

• Enable Continuous Collaboration• Enable Life Cycle Traceability To Deal with Change

• Enable Automation For Continuous Validation

• Enable Continuous Upgrades

� The Million Dollar Question

Page 29: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

29

Working as a Team

• Increase team knowledge through an enterprise-wide

software design repository

• Analysts, SMEs, testers, and

other extended team members

can access designs through a

Web client

• Designs become URL

addressable

• Search across all of the

organizations existing designs to

discover knowledge

• Navigate designs and visualize

relationships

Page 30: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

30

In-Context Collaboration always shows the latest

Threaded discussions on software and systems designs

Rich hovers provide quick access to

information to determine if additional

details are required!

Page 31: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

31

Everyone stays connected

� Dashboards

provide an easy

way to stay

connected with

design activities

� Design

comments,

recent links, most

active, design

reviews, design

changes

� Create mashup

dashboards with

viewlets from

across the

application

lifecycle

Page 32: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

32

Reviews drive agreement & prevent re-work

Test Artifacts

Requirements

Work Items

� Reviews & approvals insures

artifacts are reviewed and/or

approved by key team

members and captures

compliance requirements. Designs

Page 33: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

33

Agenda

� ALM Community Office Hours

� Complexity and Risk

� Good Design Better Outcomes

� Agile Architecture and Design

– What are the methodologists saying?

– How are we approaching this?• Architecture and Design Simplicity

• Learn From The Past

• Enable Continuous Collaboration• Enable Life Cycle Traceability To Deal with Change

• Enable Automation For Continuous Validation

• Enable Continuous Upgrades

� The Million Dollar Question

Page 34: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

34

� Proactively respond to gaps (in red) as they surface throughout the project

� Issues are quickly highlighted and resolved (in yellow)

Team leads have visibility into coverage & completeness

Page 35: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

35

Automate Impact Analysis

� New graphical impact analysis

diagram that includes design and linked lifecycle artifacts

� Analysis Configuration defines

the parameters for the analysis

• Upstream level, downstream

level, which links types to

include

• Can be used be shared by

multiple analysis

� Analysis applies the configuration

to a selected element to perform

the impact analysis

• Save and re-run at a later time

Page 36: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

36

Agenda

� ALM Community Office Hours

� Complexity and Risk

� Good Design Better Outcomes

� Agile Architecture and Design

– What are the methodologists saying?

– How are we approaching this?• Architecture and Design Simplicity

• Learn From The Past

• Enable Continuous Collaboration• Enable Life Cycle Traceability To Deal with Change

• Enable Automation For Continuous Validation

• Enable Continuous Upgrades

� The Million Dollar Question

Page 37: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

37

Generating or creating formal models from the informal expressions

Informal expressions can

seed the content for formal

models

Can convert individual shapes

and connections into formalmodel elements

Page 38: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

38

Generate JAX-RS based

Web Service from Model

Deployed on Application Server

Model RESTful Services and Generate JAX-RS Based Web Services

Generate Model from

JAX-RS based Web Service

Model RESTful Service in RSA

Page 39: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

39

Deployment Planning and Automation

Page 40: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

40

Agenda

� ALM Community Office Hours

� Complexity and Risk

� Good Design Better Outcomes

� Agile Architecture and Design

– What are the methodologists saying?

– How are we approaching this?• Architecture and Design Simplicity

• Learn From The Past

• Enable Continuous Collaboration• Enable Life Cycle Traceability To Deal with Change

• Enable Automation For Continuous Validation

• Enable Continuous Upgrades

� The Million Dollar Question

Page 41: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

41

Enable Continuous Upgrades

� Deal With Change

–Deal with data format changes

–Deal with data structure changes

–Deal with technology changes

–Deal with reference model changes

� Automate the upgrades

� Support incremental data migration

Page 42: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

42

Enable Continuous Upgrades – Self-hosting is Key

Page 43: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

43

Agenda

� ALM Community Office Hours

� Complexity and Risk

� Good Design Better Outcomes

� Agile Architecture and Design

– What are the methodologists saying?

– How are we approaching this?• Architecture and Design Simplicity

• Learn From The Past

• Enable Continuous Collaboration• Enable Life Cycle Traceability To Deal with Change

• Enable Automation For Continuous Validation

• Enable Continuous Upgrades

� The Million Dollar Question

Page 44: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

44

If you are rolling out Agile methodology, what type of training do you recommend (i.e. just in time or company wide) to get people on board and up to speed?”

The following can be used for Green field development or any maintenance initiatives:–Educate team on the development process to be used (for example scrum

etc). Make sure that the process is tailored to suit your needs. It can be an optimization of any existing development process. Make sure there is an aspect of light weight governance.

–Educate team on the artifacts and resources that will be created as part of this process – change requests, user stories, design documents, informal expressions, test cases etc. Leverage existing deliverables and simplify them

–Educate team on some sample templates for the above artifacts – sample content which indicates what is just “enough”

–Educate team on the collaboration environment to be used with your stakeholders – need tools and practices to facilitate active collaboration –scrum meetings, collaboration and commenting software etc

–Educate the leaders (scrum masters, product owners etc) on what are the boundaries of their empowerment – what decisions can they make and what are the decisions they can’t make. This way we reduce the turn around time for making decisions

–Should encourage constant evolution of process, artifacts created, deleted and maintained. Everything used must have value of some kind.

Page 45: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

45

Next Steps (Ref URLs)

� Ask questions – https://jazz.net/forum - Please use the tag “design-management”

� Pragmatic architecture for agile application lifecycle management: http://ibm.co/PA4ALM

� RSA Community: https://www.ibm.com/developerworks/mydeveloperworks/groups/service/html/communityview?communityUuid=a8b06f94-c701-42e5-a15f-e86cf8a8f62e

� Design Management Community: http://jazz.net/projects/design-management/

� Design Management articles and videos: https://jazz.net/library/#project=design-management

� Try it out: https://jazz.net/downloads/design-management/releases/4.0.1

Page 46: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

46

www.ibm.com/software/rational

Page 47: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

47

© Copyright IBM Corporation 2011. 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, Rational, the Rational logo, Telelogic, the Telelogic 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.

www.ibm.com/software/rational

Page 48: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

48

Backup

Page 49: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

49

Domain Complexity

Straight-forward

Intricate,emerging

Compliance requirement

Low risk Critical,audited

Team size

Under 10developers

1000’s ofdevelopers

Co-located

Geographical distribution

Global

Enterprise discipline

Projectfocus

Enterprisefocus

Technical complexity

HomogenousHeterogeneous,

legacy

Organization distribution

(outsourcing, partnerships)

Collaborative Contractual

Agile scaling factors: needs for a more disciplined approach

Agile scaling factors

Flexible Rigid

Organizational complexity

Page 50: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

50

Collaborative Design ManagementIntegrating and collaborating on designs across…

RequirementsAnalysis

Deployment

TestImplement

Design

EnterpriseArchitecture

Solution / Product LineArchitecture

ProjectDesigns

...the application and

engineering lifecycles… ...levels of abstraction…

…and domains.

Enabling better collaboration, automation, reporting, and agility

while reducing complexity and risk.

OSLC

Data Architecture

Business ProcessModels

Service Models

Implementation

Models

DeploymentPlans

IT

SystemModels

SoftwareModels

PlantModels

ElectricalModels

ControlModels

Systems

Page 51: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

51

Real-Time Agility: The Harmony/ESW Method for Real-Time and Embedded Systems Development – Bruce Powel Douglass

� Real-time and embedded systems face the same development challenges as traditional software

� Bruce introduces the Harmony/ESW process: – How Model-Driven Development

(MDD) and agile methods work synergistically

– The Harmony/ESW process, including roles, workflows, tasks, and work products

– Phases in the Harmony/ESW microcycle and their implementation

– Initiating a real-time agile project, including the artifacts you may (or may not) need

– Agile analysis, including the iteration plan, clarifying requirements, and validation

– The three levels of agile design: architectural, mechanistic, and detailed

– Continuous integration strategies and end-of-the-microcycle validation testing

– How Harmony/ESW’s agile process self-optimizes by identifying and managing issues related to schedule, architecture, risks, workflows, and the process itself

Page 52: Agile Architecture And Design - IBMAgile Architecture And Design Vishy Ramaswamy (vramaswa@ca.ibm.com ) Senior Technical Staff Member Design Management Server Architect Collaborative

© 2013 IBM Corporation

DeveloperWorks ALM Community – IBM Rational

52

Real-Time Agility: The Harmony/ESW Method for Real-Time and Embedded Systems Development – Bruce Powel Douglass

� http://www-01.ibm.com/software/rational/agile/embeddedagile/

� http://www.ibm.com/developerworks/rational/library/agile-analysis-practices-safety-critical-development/index.html?ca=drs-&utm_source=dlvr.it&utm_medium=twitter

� http://www-01.ibm.com/software/rational/workbench/systems/

Architectural And

Design Views