2. Please note the following
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.
3. Agenda
Agility at scale, ALM, and Architecture & Design
Design and Backlog management
Design and Sprint planning
Design and Iterative development
4. 4
Your work environment - Raise your hand if….
1. You work on an agile project
2. You team size is over 10 resources
3. Your team use tools for planning, requirements management, tests, or change requests
4. Your team is distributed
5. Some team members work from home on a regular basis
6. You have never raised your hand so far
6. 6
Quick poll
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
7. 7
Architecture and Agile: a contradiction?
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
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
8. 8
<
Typical agile development lifecycle (Scrum)
Feedback
Backlog Sprint Backlog
Tasks
Working increment
Test
Code
Refactor
Production
Incidents
Continuous
Delivery
Continuous
Integration
Many teams have adopted a similar development lifecycle, including our Jazz
Design Management development team.
9. 9
Agile Architecture and Design in ALM:
A team approach to design management
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
Requirements
Architecture &
Design
Quality
Change &
Configuration
Code
10. Architecture in Agile projects
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
10
Agile architecture is about finding the right balance between “anticipation” and “adaptation”
Initial envisioning
Evolving and emergent design
Source: Succeeding with Agile, M. Cohn, 2007Source: Succeeding with Agile, M. Cohn, 2007
Agile architecture is about finding the right balance between “anticipation” and “adaptation”
Initial envisioning
Evolving and emergent design
11. Agenda
Agility at scale, ALM, and Architecture & Design
Design and Backlog management
Design and Sprint planning
Design and Iterative development
12. Design information for backlog ranking
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
13. Design Management supports working as a Team
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
13
Threaded discussions on
scenarios and early
designs
Rich hovers provide quick
access to information to
determine if additional details
are required!
14. 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
14
15. Some of the architectural and design expressions we use
for architecture envisioning/backlog
prioritization/understanding
15
Component Architecture
Tactic/Scenario Model
Deployment Architecture
Live Architecture
Documents
FreeForm Diagrams
16. Agenda
Agility at scale, ALM, and Architecture & Design
Design and Backlog management
Design and Sprint planning
Design and Iterative development
17. Design information for Sprint 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 Planning
18. 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
18
19. 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
20. Some of the expressions we use for sprint planning – our
distributed whiteboard for reasoning around tasks
20
Capability/Block diagrams
Conceptual Data/Resource Model
Deployment Architecture
Live Architecture
Documents
FreeForm Diagrams
21. Agenda
Agility at scale, ALM, and Architecture & Design
Design and Backlog management
Design and Sprint planning
Design and Iterative development
22. Design to support iterative development
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
22
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
23
25. Generating or creating formal models from the informal
expressions
25
Informal expressions can
seed the content for formal
models
Can convert individual shapes
and connections into formal
model elements
26. Automation: e.g. Model RESTful Services and Generate
JAX-RS Based Web Services
26
Generate JAX-RS based
Web Service from Model
Deployed on
Application Server
Generate Model from
JAX-RS based Web Service
Model RESTful Service in RSA
27. Teams have visibility into coverage & completeness
27
Proactively respond to gaps as they surface throughout the project
Issues are quickly highlighted and resolved
Different views available
28. Some of the expressions we use during sprint feature
development – our distributed whiteboard
28
Flow/Activity diagrams
Resource/ontology models
Component diagrams
Live Architecture
Documents
Use case diagrams
29. Summary: Lightweight design process for agile teams
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
31. 31
Daily Apple TV giveaway
Complete your session surveys online each day at a conference kiosk or on
your Innovate 2013 Portal!
Each day that you complete all of that day’s session surveys, your name will
be entered to win the daily Apple TV!
On Wednesday be sure to complete your full conference evaluation to receive
your free conference t-shirt!
Author Notes: This is the PowerPoint template for the Innovate 2013 Track Sessions This template has been built in PowerPoint 2003. If you’re using PowerPoint 2007 or above, you may experience different usability results than what is provided as guidance here. To allow all masters of your exiting presentation to be updated correctly, download this template to your hard drive and copy your existing slides into the new template using slide sorter. IBMers can find additional information on presentation guidelines and resources at: https://w3-connections.ibm.com/wikis/home?lang=en-us#!/wiki/Rational%20Presentation%20Templates,%20Guidelines,%20and%20Resources IBM Rational presenters can leverage existing brand-level assets and sparklers (including Rational Brand Messaging Slides, Client Success Slides and Client Quotes, Statistics) from SSW’s Brand Content Page: https://w3-03.sso.ibm.com/software/xl/myportal/content?synKey=R789607U42052O71 Imagery guidelines: Avoid using cartoon like clip-art, use photo-art instead. Third party material cannot be used in a presentation without written permission (this includes product and Web page screen shots, and photos). Images must be acquired from a ‘royalty-free to use’ source such as: Microsoft or Lotus Symphony Clip Art library http://www.freebyte.com/clipart_images_photos_icons/#freevectorgraphics http://www.freedigitalphotos.net/ IBMers can use royalty-free images from the following repositories : IBM Brand Systems Center / Assets / Photography Login instructions: https://w3-connections.ibm.com/forums/html/topic?id=c1082624-e54c-4e04-bad1-ddb150ac7540 IBM Software Story Images https://w3-connections.ibm.com/files/app#/collection/b7570645-b2f8-4450-a27f-9269a163fc2d IBM Rational Presentation Image Library: https://w3-connections.ibm.com/wikis/home?lang=en_US#!/wiki/Rational%20Presentation%20Templates,%20Guidelines,%20and%20Resources/page/Presentation%20Image%20Library
IBM IOD 2011 06/09/13 Prensenter name here.ppt 06/09/13 15:00 Please note the following IBMers must include the next slide (verbatim) after your title slide. IBMers must also include the mandatory “Acknowledgements and Disclaimers” slide (see slide 10) at the end of your presentation before the closing “Thank You” slide. - You will need to customize the “Acknowledgements and Disclaimers” text in red appropriately.
Get to know the audience. Identify, from the audience, some common scaling factors such as: Team size Distributed team (or collocated with some schedule arrangements)
In the early days, agile development was applied to projects that were small in scope and relatively straightforward. Today, organizations want to apply agile development to a broader set of projects. Agile needs to adapt to increasing complexity. Agility@Scale is about explicitly addressing the complexities that disciplined agile delivery teams face in the real world. The agile scaling factors are: Geographical distribution. What happens when the team is distributed within a building or across continents? Team size. Mainstream agile processes work well for small teams (10-15), but but what if the team is fifty people? One hundred people? One thousand people? Compliance requirement. What if regulatory issues – such as Sarbanes Oxley, ISO 9000, or FDA CFR 21 – are applicable? Domain complexity. What if the problem domain is intricate ( such as bio-chemical process monitoring or air traffic control), or is changing quickly (such as financial derivatives trading or electronic security assurance). More complex domains require greater exploration and experimentation, including but not limited to prototyping, modeling, and simulation. Organization distribution. Sometimes a project team includes members from different divisions, different partner companies, or from external services firms. Technical complexity. Working with legacy systems, multiple platforms, or blending disparate technologies can add layers of technical complexity to a solution. Sometimes the nature of the problem is very complex in its own right. Organizational complexity. The existing organizational structure and culture may reflect traditional values, increasing the complexity of adopting and scaling agile strategies. Different subgroups within the organization may have different visions as to how they should work. Individually, the strategies can be quite effective, but as a whole they simply don’t work together effectively. Enterprise discipline. Organizations want to leverage common infrastructure platforms to lower cost, reduce time to market, and to improve consistency. They need effective enterprise architecture, enterprise business modeling, strategic reuse, and portfolio management disciplines. These disciplines must work in concert with, and better yet enhance, the disciplined agile delivery processes. Each scaling factor has a range of complexities associated with it. Each team faces a different combination of factors, and therefore needs a process, team structure, and tooling environment tailored to meet their unique situation.
Question 1: Agile myth buster (addressed next slide) Question 2: Expected answer = 100% B. Used to introduce next slide.
There is no contradiction between Architecture and Agility. Misconception because the Architect role has disappeared from some agile approaches (Scrum, XP). The role still exist in OpenUP and Crystal. It is called Technical Coordinator in DSDM Design does not mean UML models or comprehensive documentation. Design is about cogitate and try to solve a specific problem Most Agile Through leaders foster architecture and design activities as part of agile approaches.
A team approach to design management Architecture & design is a team effort Everyone contributes to design information Everyone leverages design information Backlog Priorities: business value, risks, and dependencies Sprint planning Assess technically feasible of requirements: Explore design options Evaluate development effort: Choose the right card during planning poker Development & testing Sketches for ideation and problem solving Design activities intertwined with development activities Design tasks for complex user stories: Design “in a flash” Impact analysis Reduce technical debt As a developer, I need to look at design information so that I reuse available assets. As a tester, I need to consider the design information so that my script covers all the technical aspects As a team, I may want to review design information during the course of a sprint
Design information is used to help prioritize the backlog. Instead of just considering the business value for the user stories, pragmatic agile team take into account: Risk: address the most risky stories first Dependencies: From a technical standpoint, some user stories can be related. Sometime, one story can be addressed only when another story, or a technical component has been developed Design information help uncover risks and dependencies
Development effort should be assessed based on the understanding of what needs to be delivered. Design information helps the team identify what can be delivered (technical feasibility) and what can be contained in the next sprint (estimation). E valuate development effort based on level of difficulty Choose the right card during planning poker or choose the right story points
Talk about the reasoning behind the decomposition, even before a work item is created “ Distributed whiteboard”
Problem solving: Diagrams and other information graphics can enhance human cognitive capacities in a wide range of contexts and applications Cognitive science shows the importance of visual representation to replace textual description: Sketches, drawing, diagrams, pictures Many studies in cognitive science about group creativity, analogies, pictures vs text…. “ A picture is worth a thousand words.” One study actually stated that a picture is worth 84.1 words.(http://www.cl.cam.ac.uk/~afb21/publications/Student-ESP.html) Design activities intertwined with development activities Deb, the developer, must take a look at the requirement to be sure she is developing the right feature. But she must also look at the design information to verify that her code is aligned with design choices Tanuj, the tester, is creating scripts to verify a feature. But he must also look at the design choices to check that his script is using the right components. Design “in a flash”: Quick design session, on demand, when a new technical problem is uncovered Technical dept: Use design to understand technical problems and reduce the debt. Talk about Feature Teams
The image shows a traceability view in Release Plan containing links to requirements and test cases. It also has a column to identify defects affecting the plan items. This demonstrates an integrated plan with traceability reporting. Rather than relying on stale and occasionally run traceability reports, using an integrated plan with a built-in traceability view makes the gaps are obvious and easy to address through out the project. The green row shows items that have no known gaps and no issues effecting the plan item. Red highlights gaps – missing requirement or missing test case Yellow indicates issues that need to be reviewed and resolved. Benefits: Creating a shared vision delivers what the stakeholders want Ensuring coverage improves quality for the release and each sprint Whole team buy-in improves team trust, efficiency and focus ` Design information is part of the lifecycle scenario. Design information is typically linked to Requirements (RM) Tasks (CCM) Test cases (QM) Design resources (DM) Tools based on OSLC facilitate lifecycle traceability
Also service specfications (can be textual or sequence diagrams) ...
Design management is part of ALM disciplines (like requirements, test, and change management) Design: Intentional yet emergent. Design is done incrementally (through Sprints), and needs are addressed when they arise. But design is also intentional (vs accidental). Some needs are anticipated. DM can be used as your distributed (and historical) whiteboard. It support agility at scale and distributed agile teams
Optional slide. Graphic is available in English only.
Giveaway Slide
IBM IOD 2011 06/09/13 Prensenter name here.ppt 06/09/13 15:00 Mandatory closing slide (1 of 2) Acknowledgements and disclaimers IBMers must include This mandatory “Acknowledgements and Disclaimers” slide at the end of your presentation before the closing “Thank You” slide. - You will need to customize the “Acknowledgements and Disclaimers” text in red appropriately.
Mandatory closing slide (2 of 2) Thank You Slide (available in English only).
Traceability relationships in Rational solution for CLM with focus on architecture and design Specific relationships across ALM and relationships within the design domain Steps from requirements to execution and the kind of activities in each tool in CLM Traceability to support collaborative work: explore and traverse links to understand the solution from different perspectives (dm, rm, qm, ccm) Traceability and impact analysis