Prezi

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in the manual

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Design on a diet for agile teams

No description
by Jean-Louis Marechaux on 21 June 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Design on a diet for agile teams

Decision

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

Live Design Documents

Agile scaling factors: needs for a more disciplined approach

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

Learn from the past

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

Everyone stays connected

Many teams have adopted a similar development lifecycle, including our Jazz Design Management development team.

Typical agile development lifecycle (Scrum)

According to agile best practices, there is no architecture in Agile projects.
True
False


Would you develop a software-intensive system without thinking?
Yes
No

Quick poll

Your work environment - Raise your hand if….

Proactively respond to gaps as they surface throughout the project
Issues are quickly highlighted and resolved
Different views available

Teams have visibility into coverage & completeness

Development & testing – Why design helps?

Sketches for ideation and problem solving
“A picture is worth a thousand words”

Design tasks for complex user stories
Design “in a flash”
Communicate design to team

Design activities intertwined with development activities
Look at design for code development
Look at design for test scripting
Various levels of automation possible

Reduce technical debt
Capture design decisions for reuse, revisiting, …
Understand impact of change

Design to support iterative development

No architecture
role
does not mean no architectural
tasks
Architecture & design is the responsibility of the whole team

Design activities does not necessarily imply models or documentation
Brainstorming
Creative thinking
Problem solving


Architecture and Agile: a contradiction?


1- Agility at scale, ALM, and Architecture & Design
2- Design and Backlog management
3- Design and Sprint planning
4- Design and Iterative development

Agenda

Planning

Sprint planning – Why design helps?

Assess technical feasibility of requirements
Explore design alternatives
Leverage guidance and past decisions when possible

Identify tasks to implement stories

Evaluate development effort based on:
Lessons learned from the previous sprints or projects
Potentially reusable assets
Technical complexity

Design information for Sprint planning

Backlog ranking – Why design helps?

Experimented Product Owners know that business value is not the only factor
--> Take into account design information for ranking based on:
Risks
Dependencies
Complexity


Design information helps uncover technical risks and dependencies

Complex items sometimes require a design feature team to be assigned to design scenarios and break down features

Design information for backlog ranking

© 2013 IBM Corporation


Worldwide Technical Enablement and CoP Leader – Collaborative Lifecycle Management
jl.marechaux@ca.ibm.com

Design on a Diet!
A Lightweight Design Process

New* Architecture Decision Knowledge

Architecture Decision support (ADK)
Simple way to manage information about architecture/design issues and decisions
Other users can benefit from the decision making process
Leverage past decisions, understand rationale
Impact analysis helps to identify decisions for specific issues



Can convert individual shapes
and connections into formal
model elements

Informal expressions can
seed the content for formal
models

Generating or creating formal models from the informal expressions

Increase team knowledge through an enterprise-wide software design repository

Scenario designers, analysts, architects, developers, testers, and other extended team members can access designs through a Web client

Design Management supports working as a Team

Source: Succeeding with Agile, M. Cohn, 2007

Agile architecture is about finding the right balance between “anticipation” and “adaptation”
Initial envisioning
Evolving and emergent design

Some key architectural activities your team can’t ignore, whether you are “Agile” or not:
Define the approach for developing the system
Identify key best practices & patterns to leverage
Drive technical decisions
Identify the appropriate technical components too meet:
Functional requirements
Non-functional requirements (availability, security, performance…)
Define the structure of the system (runtime and deployment)
Continuously validate architectural consistency
Continuously communicate with all stakeholders (wherever they may be located)
Continuously validate against (possibly volatile) requirements

Architecture in Agile projects

Use case diagrams

Live Architecture Documents

Component diagrams

Resource/ontology models

Flow/Activity diagrams

Some of the expressions we use during sprint feature development – our distributed whiteboard

FreeForm Diagrams

Live Architecture Documents

Deployment Architecture

Conceptual Data/Resource Model

Capability/Block diagrams

Some of the expressions we use for sprint planning – our distributed whiteboard for reasoning around tasks

FreeForm Diagrams

Live Architecture Documents

Deployment Architecture

Tactic/Scenario Model

Component Architecture

Some of the architectural and design expressions we use for architecture envisioning/backlog prioritization/understanding


Design management is a team effort
Everyone contributes to design information
Everyone leverages information in designs
Design needs to be integrated in lifecycle, not external

Design information is useful throughout the ALM cycle
Backlog
Planning
Sprint
Change request
Defect / incidents
Reduce technical debt
Continuous delivery
And more……

Lifecycle traceability
Requirements, design, quality, and change management
Focus on activities useful for the whole lifecycle

Agile Architecture and Design in ALM:
A team approach to design management

Generate Model from
JAX-RS based Web Service

Generate JAX-RS based
Web Service from Model

Automation: e.g. Model RESTful Services and Generate JAX-RS Based Web Services

IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion.
Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision.
The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality.
Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion.

Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
Please note the following
Jean-Louis (JL) Marechaux
Daniel Leroux
Agile thought leaders recommend agile architecture

« 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

You are here
You are here
You are here
Model RESTful Service in RSA
Deploy on Application Server
Simplicity is essential
Design Management provides simple tools

Light design supports agile teams
Backlog management
Sprint planning
Iterative development during Sprints

Everyone in the team creates and uses design information

Design evolves over time
Emergent design (done incrementally)
Intentional design (decision making process)
Some design aspects may be anticipated (envisioning)
-->Balance between anticipation and adaptation

Summary: Lightweight design process for agile teams

Acknowledgements and disclaimers
Availability: References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates.

The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are provided for informational purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice to any participant. While efforts were made to verify the completeness and accuracy of the information contained in this presentation, it 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, this presentation or any other materials. Nothing contained in this presentation 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.

All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.

© Copyright IBM Corporation 2013. All rights reserved.
U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
IBM, the IBM logo, ibm.com, Rational, the Rational logo, Telelogic, the Telelogic logo, Green Hat, the Green Hat logo, and other IBM products and services are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at www.ibm.com/legal/copytrade.shtml
If you have mentioned trademarks that are not from IBM, please update and add the following lines:
[Insert any special third-party trademark names/attributions here]
Other company, product, or service names may be trademarks or service marks of others.


You work on an agile project
Your team size is over 10 resources
Your team use tools for planning, requirements management, test, or change requests
Your team is distributed
Some team members work from home on a regular basis
You have never raised your hand so far
ADSN-2131
IBM Distinguished Engineer - Architecture, Design and Engineering Lifecycle Management
dleroux@ca.ibm.com

© Copyright IBM Corporation 2013. 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.

Agility at scale, ALM, Architecture and Design
Design and ... Backlog management
Design and ... Sprint planning
Design and ...
Iterative development
See the full transcript