You are on page 1of 52

Agile Architecture And Design

Vishy Ramaswamy (vramaswa@ca.ibm.com)


Senior Technical Staff Member
Design Management Server Architect
Collaborative Architecture, Design and Analysis
IBM Rational Software

© 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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

2 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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

3 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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 fariz@us.ibm.com.

 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.

4 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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

5 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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 challenges
in 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.

6 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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 Design tools often focus on the practitioner and lack team
independent integration
development teams?” •Teams cannot easily share designs and get feedback from
§ “How do I provide stakeholders
integrated solutions
when parts are •Linking designs to other lifecycle artifacts is difficult, leading to a
developed in-house, lack of traceability and understanding of the impact of changes
parts are outsourced, •Too many tasks are tedious, manual, and inefficient such as:
and parts are purchased
as commercial-off-the- • Conducting design reviews
shelf?” • Creating reports across multiple designs and lifecycle
§ “How can I reduce the elements for specifications, communication, regulatory
risk and improve the compliance, and auditing
reliability of
•Ultimately this leads to teams working in silos, limiting the value
deployments?”
7
designs provide to others © 2013 IBM Corporation
DeveloperWorks ALM Community – IBM Rational

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

8 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

Design and Application Lifecycle Management (ALM)


To overcome these challenge and realize Collaborative Lifecycle Management
the full value of design…
Design
Management
 Design needs to be a key part of the
overall application lifecycle. Requirements Quality
Management Management

 Design needs to be integrated into ALM.


Software Change
and Configuration
 Not done once and forgotten.

 Design Management provides a more Open Lifecycle Integration


Platform
collaborative approach to design.
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.

9 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

Collaborative Design Management


Iterative and collaborative software design helps teams
A collaborative approach to design address these challenges by:

helps teams: – Providing a higher level of abstraction to


evaluate alternatives and arrive at the best
and simplest solution
– Communicating a shared understanding
Broaden their understanding of across independent & distributed teams

architecture and design goals, – Improving quality with early analysis and
validation
reducing costly architectural
– Reducing development time by generating
mistakes implementation resources
– Enabling informed decisions on changes
from blueprints of IT systems
Shrink design time and adopt an
Design is important across the application lifecycle
iterative approach to design
– Quickly capture and collaborate on initial
design ideas with sketching
– Define solution architectures and identify
Improve quality by collaborating reusable services
with peers and stakeholders. – Ensure successful and repeatable
deployments with deployment planning

10 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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

11 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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

12 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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

13 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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
14 © 2013 IBM Corporation
DeveloperWorks ALM Community – IBM Rational

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

15 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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

16 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

“Just Enough” Expressions and Traceability within Agile


Architecture and Design

17 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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

18 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

Architectural and design expressions suitable for "just enough"


Architecture – Inclusive Models

Conceptual Data Model


Component Architecture

Live Architecture
Documents
FreeForm Diagrams
Deployment Architecture
19 © 2013 IBM Corporation
DeveloperWorks ALM Community – IBM Rational

Architectural and design expressions suitable for "just enough"


design – Inclusive Models

Flow Diagrams

Collaboration Diagram

Live Design
Documents CRC Cards

UI Mockup

20 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

Architectural and Design Expressions Variants

21 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

Expressing Architecture and Design Goals – Platform


Independent Models

Business Process Model Notation (BPMN)

UML models + domain and implementations


extensions

Deployment Topologies

22 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

Live Design Documents

 Create living
design
documents
 Rich text
documents with
embedded
design links
 Add to any
design project
 Keep current as
designs change

23 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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

24 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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

25 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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

26 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

Leverage “architectural and design decisions” From The Past


 Identify decisions for specific issues and their rationale and reuse

27 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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

28 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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

29 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

In-Context Collaboration always shows the latest

Rich hovers provide quick access to


information to determine if additional
details are required!

Threaded discussions on
software and systems
designs

30 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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
31 © 2013 IBM Corporation
DeveloperWorks ALM Community – IBM Rational

Reviews drive agreement & prevent re-work


Requirements
 Reviews & approvals insures
artifacts are reviewed and/or
approved by key team
members and captures
compliance requirements. Designs

Test Artifacts Work


Items

32 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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

33 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

Team leads have visibility into coverage & completeness


 Proactively respond to gaps (in red) as they surface throughout the project
 Issues are quickly highlighted and resolved (in yellow)

34 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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

35 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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

36 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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 formal
model elements

37 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

Model RESTful Services and Generate JAX-RS Based Web


Services
Generate JAX-RS based
Web Service from Model

Generate Model from


JAX-RS based Web Service

Deployed on
Application Server

Model RESTful Service in RSA

38 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

Deployment Planning and Automation

39 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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

40 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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

41 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

Enable Continuous Upgrades – Self-hosting is Key

42 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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

43 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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.
44 © 2013 IBM Corporation
DeveloperWorks ALM Community – IBM Rational

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/ht
ml/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

45 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

www.ibm.com/software/rational

46 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

www.ibm.com/software/rational

© 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.

47 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

Backup

48 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

Agile scaling factors: needs for a more disciplined approach

Team size Compliance requirement


Under 10 1000’s of Critical,
Low risk
developers developers audited

Geographical distribution Domain Complexity


Straight Intricate,
Co-located Global -forward emerging

Agile scaling
Enterprise discipline
factors Organization distribution
(outsourcing, partnerships)
Project Enterprise
focus focus Collaborative Contractual

Organizational complexity Technical complexity

Flexible Rigid Heterogeneous,


Homogenous legacy

49 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

Collaborative Design Management


Integrating and collaborating on designs across…
…and domains.
Business Process
IT Models

...the application and Service Models


engineering lifecycles… ...levels of abstraction…
Data Architecture Implementation
Enterprise Models
Architecture
Requirements
Analysis Deployment
Plans

Design Deployment Solution / Product Line


Architecture
Systems System
Models
OSLC

Implement Test Plant Software


Models Models
Project
Designs

Electrical Control
Models Models

Enabling better collaboration, automation, reporting, and agility


while reducing complexity and risk.

50 © 2013 IBM Corporation


DeveloperWorks ALM Community – IBM Rational

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
51 process itself © 2013 IBM Corporation
DeveloperWorks ALM Community – IBM Rational

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/embeddeda
gile/
 http://www.ibm.com/developerworks/rational/lib
rary/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/syste
ms/

Architectural And
Design Views

52 © 2013 IBM Corporation