SlideShare ist ein Scribd-Unternehmen logo
1 von 38
© 2015 IBM Corporation
One Million Lines of Code
Later: I Want Agility!
Roger Snook, IBM WW Enablement
DevOps for Mobile
30 June 2015 RCSnook@us.ibm.com
Adapted from a presentation at:
1M Lines of code…..How did we get here?
• My story:
• Startup company, Reverse engineered 1.7M lines of C++ library
code with Rational Software Architect predecessor (Rose).
• Cable modem manufacturer building DOCSIS-compliant
devices, C++/UML “round tripping” approach.
• Worked with other startups with 1M+ lines of code (SCM needs)
• NY financial software “frameworks” that generate code from
models – company-self-proclaimed agility
• Regardless if you use Architecture Tools or not - we’ve got
software to deliver!
• Business Initiatives (revenue, market share, competition) to
meet, companies to acquire…. Time is Money
• But our conscience is calling…..
• Good Design is Good Business blog on
• This session can show you ideas for agility
1
WARMUP POLLS:
• I am working with a project which has how many lines of code:
1. Less than 500,000
2. 500,000 – 1,000,000
3. 1,000,000 – 5,000,000
4. 5,000,000+
5. I’m not working with any source code
• I am working with these languages (check all that apply):
• Java
• C++
• C#
• Python
• Ruby
• Other
2
Agility - Defined
• Agile Manifesto:
• So let’s take that perspective of helping individuals (people) interact
(process), collaborate and respond to change (more process) to
deliver working software.
3
4
History Shows: People, Process first, then Tools drive success
Changing People and Process is difficult – start with Common Purpose
People Tools
Process
Project
Success Triangle
Quality Money
Time
Client Value
Develop Deploy
Decide
Software Delivery
Tasks
Business
Integration
Response
to clients
Market Share Capture
Faster...
Improved
Bottom line
Shifts
Investments to
Higher value
ROI / TCO
Cheaper…
Business
Scalability
User
Retention
Trusted Supplier
Better…
Business
Transformation
Integrate Optimize
Collaborate
5
Software Delivery is a business process!
And Business Processes are subject to improvement.
IBM DevOps
An enterprise capability for continuous software delivery that enables
organizations to seize market opportunities and reduce time to
customer feedback
Accelerate
software delivery –
for faster time to value
Balance speed, cost,
quality and risk –
for increased capacity
to innovate
Reduce time to
customer feedback –
for improved customer
experience
Continuous
Customer Feedback
& Optimization
Collaborative
Development
Continuous Release
and Deployment
Continuous
Monitoring
Continuous
Business Planning
Continuous
Testing
Operate Develop/
Test
Deploy
Steer
DevOps
Continuous
Feedback
Concept Areas, Candidate Processes
7
Operate Develop/
Test
Deploy
Steer
DevOps
Continuous
Feedback
DevOps Concept Areas / Use Cases Individual Project Organization
Steer
Gain Agreement / “interface contract” x
Linked Designs - “single source of truth” x
Collect-> Triage -> Reqts -> Sprint Plan x
Architecture Governance x
Develop/Test
Code “Automation” – reverse transform x
Specs to models to code x
Forward transform - code generation x
Convert sketch to architecture x
Peer/Design reviews x
Reuse Designs x
Deploy
Agile Deployment x
8
Individual Processes POLL:
• Where are you today?
• How agile is your individual work?
1. Not at all agile (only focused on process, organization, documentation)
2. Somewhat agile
3. Neutral
4. More agile than not
5. Completely agile (focused on delivering working software, customer
collaboration, responding to change)
• Are you CURRENTLY using architecture tools?
1. Yes
2. No
9
Individual Processes
• Agenda
• Code “Automation”
– Reverse transform / “reverse engineering”
– Specs to models, other transformations i.e. WSDLs
– Forward transform / “Code generation” from models
• Convert “whiteboard” sketches to architecture
10
Individual Processes – Reverse “Engineering”
• You’ve just inherited a
new, 1M+ SLOC project
• How do you get an
INITIAL handle on
this?
– Old process: open
editor and start
reviewing
– New process: reverse
“engineer” (officially
“reverse transform”
code into models) –
often seen as a one-
time event
11
Individual Processes – Reverse “Engineering”
Reduced labour for Reverse Engineering to develop
models of existing code
(using Code Visualization and Reverse Engineering)
20%
• How can you continually get value (agility / time
savings) from this:
• Code Visualization – “simplified modeling”, only visualization
no “data behind the picture” – good for quick self-check
reviews
• Ongoing merging of code changes – one approach with
overlapping iterations of design and coding
• One client’s assertion:
Reduced Defect costs (Better Quality of code as a result of
Architecture Discovery, Visualizations, Model Analysis)
15%
IBM Events Team "Serves" Australian Open with Rational
Software Architect - A Grand Slam of 10% Productivity!
 Must build website quickly to attract
and maintain fans’ interest during
the three week events.
 In 2010, over 9 million virtual visitors
came to the IBM website
 Rational is just one part of an overall
case study and showcase of IBM
hardware, software and services.
 Visualizing Java code as UML
helps the improve
communication & reduce
meeting times, onboarding
new team members.
Improving developer productivity with code-centric approach helps IBM
meet tight deadlines during highly visible events such as the Tennis Grand Slam
or the Tony Awards.
13
Individual Processes – Forward Transformation
• Let’s for a moment…..
• How many NEW CLASSES (in code) are you / your
team creating each week ?
• What percentage of your hand-coding is 100%
syntactically correct?
• Typical Design Contract Management Protocols are
as follows:
• Conceptual -> Concrete resulting in:
“Throw away model” or Visual Editing
• Mixed Modeling
• Reconciled Modeling
• Run transformations from an Ant script
• Agile Mobile dev teams: Transform REST/JAX-RS
models into code
• One client’s assertion: Reduced labor for Coding ( due to use of
Transformations & Code generation,
patterns and asset reuse)
22%
Individual Processes –
“Whiteboard” vs. Sketching
Whiteboard
• Rapid capture.
• Persists as long as not
erased
• Less formality,
less “common meaning”
RSA Sketching
• Quickly capture – similar
to drawing tools.
• Persists and can be
shared
• Purposeful Limited
“vocabulary”
Manual Transformations do not make teams agile
Simple Documentation
and Whiteboards
Code + Integrated DocumentationCode + Some Documentation“Code Only”
RE-entered or transcribed into
Code
RE-keyed or
transcribed into
Informal models
RE-entered or transcribed into
Models
16
Sketching with incremental formalization
Quickly turn “think” into “code” through simple transformations
Quickly capture thoughts – work at “think speed”
Selectively formalize as semantic model elements
Extend this “actionable whiteboard” across space and time
RSA Sketching built to support agility
Sketches
Code + Integrated DocumentationCode + Some Documentation“Code Only”
Transformed into
Code
Transformed into
Informal models
Over 60 new UML-related books RELEASED in 2015
(doubled from February 2015)
20
Team/Project Processes POLL:
• Where are you today?
• How agile is your TEAM/PROJECT work?
1. Not at all agile (only focused on process, organization, documentation)
2. Somewhat agile
3. Neutral
4. More agile than not
5. Completely agile (focused on delivering working software, customer
collaboration, responding to change)
21
Team/Project Processes
• Agenda:
– Peer/Design reviews
– Gaining Agreement / “interface contracts” using standards
– Link Designs with other lifecycle artifacts for “single source of
truth”
• Steer: Collection -> Triage -> Requirements -> Sprint Planning
– Triage/Requirements include Impact Assessment
– Planning includes Design changes
• Agile Deployment
22
Shared Designs and Comments to
support Peer Reviews
• Engage team members in the design process with Web client access to designs
• Improve quality with in-context design collaboration through commenting and visual
markup
• Comments can be posted and accessed from Web client and RSA desktop client
23
Automate Design/Peer Reviews
• Automate manual and time consuming design reviews
• Users notified via email of the review and access their reviews from the
dashboard
• Design Manager tracks progress of design review
• Link review to Team Concert work items for more formalized approvals
WhoWhatWhen&Why
View
design
comments
Search across design
projects
View markup
associated with
comments
View OSLC link
information including pop-
up previews
Connect to DM
servers , navigate
server projects, and
preview designs from
server
Design collaboration from the RSA client
Faster Design Reviews
Shorten time-to-market and improve quality
 Speed up decision-making by keeping
people informed as decisions are made
 Improve quality by ensuring that the
extended team has direct input into
updates and corrections
 Automate the design review process
 Teams need to collaborate with stakeholders on software architectures, deployment
plans, and system designs, but..
 Design reviews are painful, tedious, and time consuming
 Stakeholders do not have direct access to designs so reviews need to be handled outside of the design
tools; feedback is difficult to communicate and confirm
 With RSA Design Manager…
 Designers automate reviews, specifying which designs and stakeholders participate
 Stakeholders can view the design and attach comments and mark-up via the Web or rich client
 Design reviews can be linked to RTC work items for planning and tracking
26
Collaborative Modelling - RSA Design Manager
Link designs to other lifecycle elements
• Share sequence diagrams for testers to create test procedures
Enhance requirements with visualizations
27
Other Design Collaboration Capabilities to help
Agile DevOps Steering:
Triage/Impact Analysis
• Graphical impact analysis diagram
(Design centric)
• Keyword search and queries
support triage
• Mobile?
• Inject WorkItems directly from a
mobile crowd-sourced test (testing
“in the wild”).
(Brief demo time permitting)
28
Supporting Agile Deployments
Pushing designs to IBM UrbanCode Deploy
• Forward and Reverse “transform” models and deployment architectures
29
Organizational Processes
• Where are you today?
• How agile is your ORGANIZATIONAL work?
1. Not at all agile (only focused on process, organization, documentation)
2. Somewhat agile
3. Neutral
4. More agile than not
5. Completely agile (focused on delivering working software, customer
collaboration, responding to change)
30
Organizational Processes
• AGENDA:
• Reuse
– Finding and Publishing designs
• Governance
– SOA
Design Server
Maximize productivity and lower costs
 Increase team knowledge through an
enterprise and system-wide repository
with Web-based access
 Leverage Jazz to quickly search across
designs for review, analysis and
potential reuse
 Analyze the impact of design changes
 Teams need to quickly find existing designs to review, analyze, and identify reuse, but…
 Information may be stored in multiple designs or models
 Desktop client installation is required to view the design information
 Access to SCM system also may be required to access the information
 With RSA Design Manager…
 All designs for an organization or system can be stored and accessed from a central location
 All known designs can be searched, viewed, analyzed on the server from RSA or Web client
 The new Relationship diagram supports impact analysis and discovery of related design elements and
resources
As complexity grows, so should governance
Technical
Drivers
Compliance
Governance
Application Complexity
Organizational Drivers
Team Size
Geographical Distribution
Organization Distribution
Documentation and White-boarding
 Collaborating on whiteboard sketches
 Spreadsheets, Word Docs
Code + Integrated DocumentationCode + Some Documentation“Code Only”
Modeling, Automation, Governance
 Automated task Execution and code generation
from Model (Model-Driven)
 Versioning with your standard CM system
 Extensibility to integrate with automation
 Ability to enhance with governance
Informal modeling
 Presentations and Drawing tools
 Quick capturing of ideas for analysis
 Capable of analyzing simple problems
Modeling
 Leveraging industry standards (UML, BPMN, Architecture
frameworks) to analyze the industry specific complex problems
 Industry recognized notations
 Underlying meta-data facilitates easier collaboration on model
dependencies, with automated change propagation.
 Easy impact analysis reports
 Simulation for early problem determination
33
Work together with SCM and Design Management
Jazz Storage
§ Architecture Elements
§ Index
§ Comments (visual,
textual)
§ Links
§ Reviews
OSLC+DMRESTAPIs
Design search, query, view,
comment, review, link,
report, validate, analyze,
limited editing
Design creation, editing, MBSE,
MDD, MBT search, query, validate,
analyze, report
Design Management
services on Jazz Team
Server (JTS)
Design change control and
versioning
Web client
OSLC+DMRESTAPIs
RSA clients
SCMServer-RTC,CC,SVN
(check-outs,merges,check-ins)
File1
File2
Directory
RSA clients
Design Management
services on Jazz Team
Server (JTS)
Systems Engineer
Software Engineer
Design change control and
versioning (file-based)
Reviewer
Multi-discipline Document Generation and Reporting
Satisfy regulatory and customer demands
 Easily create comprehensive
documentation for specifications,
communication, compliance and
auditing
 Help prove compliance by including
OSLC link information and design
review information
 Teams must document for specs, communication, regulatory compliance, and auditing
 Documents need to contain information from different domains (requirements, design, change
management); individual products have separate reporting solutions
 Existing solutions are difficult to use for designs and limited in the types of information they can access
 One client’s productivity gain assertions:
Better Communication, collaboration with teams and customer and
identifying defects early
15%
Improved Documentation using visualization, in built reporting (Model-
Code Synchronization, Javadoc, and other publishing options)
18%
FINAL POLL:
35
• Now that you’ve heard some ideas on how architecture can
possibly improve your agility, please CHECK ANY of the
following levels if you believe architecture can help with
agilty:
1. Individual
2. Team
3. Organization
Thank You
Roger Snook, IBM WW Cloud Enablement
DevOps for Mobile
RCSnook@us.ibm.com

Weitere ähnliche Inhalte

Was ist angesagt?

Agile Architecture and Design
Agile Architecture and DesignAgile Architecture and Design
Agile Architecture and Design
Pratip Mallik
 

Was ist angesagt? (20)

Agile Architecture and Design
Agile Architecture and DesignAgile Architecture and Design
Agile Architecture and Design
 
BPM BlueWorks Workshop Scenario
BPM BlueWorks Workshop ScenarioBPM BlueWorks Workshop Scenario
BPM BlueWorks Workshop Scenario
 
User story estimation with agile architectures
User story estimation with agile architecturesUser story estimation with agile architectures
User story estimation with agile architectures
 
AU 2014: Autodesk PLM 360 Success Story with Inphi (PPT)
AU 2014: Autodesk PLM 360 Success Story with Inphi (PPT)AU 2014: Autodesk PLM 360 Success Story with Inphi (PPT)
AU 2014: Autodesk PLM 360 Success Story with Inphi (PPT)
 
Software architecture in an agile environment
Software architecture in an agile environmentSoftware architecture in an agile environment
Software architecture in an agile environment
 
Cultivating Your Design Heuristics
Cultivating Your Design HeuristicsCultivating Your Design Heuristics
Cultivating Your Design Heuristics
 
Non-Negotiable Usability
Non-Negotiable UsabilityNon-Negotiable Usability
Non-Negotiable Usability
 
PDSA Results Flexsteel
PDSA Results FlexsteelPDSA Results Flexsteel
PDSA Results Flexsteel
 
Merging PLM and Microsoft SharePoint Strategies from GPDIS 2009
Merging PLM and Microsoft SharePoint Strategies from GPDIS 2009Merging PLM and Microsoft SharePoint Strategies from GPDIS 2009
Merging PLM and Microsoft SharePoint Strategies from GPDIS 2009
 
NISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide DeckNISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide Deck
 
Modern software architect post the agile wave
Modern software architect post the agile waveModern software architect post the agile wave
Modern software architect post the agile wave
 
SCM Patterns for Agile Architectures
SCM Patterns for Agile ArchitecturesSCM Patterns for Agile Architectures
SCM Patterns for Agile Architectures
 
DevOps for Enterprise Systems Overview
DevOps for Enterprise Systems OverviewDevOps for Enterprise Systems Overview
DevOps for Enterprise Systems Overview
 
How IBM Scaled DevOps: The IBM Marketplace and Continuous Improvement
How IBM Scaled DevOps: The IBM Marketplace and Continuous ImprovementHow IBM Scaled DevOps: The IBM Marketplace and Continuous Improvement
How IBM Scaled DevOps: The IBM Marketplace and Continuous Improvement
 
Operation and Support using Agile
Operation and Support using AgileOperation and Support using Agile
Operation and Support using Agile
 
DevOps Thinking for the Line of Business
DevOps Thinking for the Line of BusinessDevOps Thinking for the Line of Business
DevOps Thinking for the Line of Business
 
Why IT needs more IT Architects (IASA style)
Why IT needs more IT Architects (IASA style)Why IT needs more IT Architects (IASA style)
Why IT needs more IT Architects (IASA style)
 
Secrets of a Scrum Master! Agile Practices for the Service Desk
Secrets of a Scrum Master! Agile Practices for the Service DeskSecrets of a Scrum Master! Agile Practices for the Service Desk
Secrets of a Scrum Master! Agile Practices for the Service Desk
 
Application Lifecycle Transformation...a DevOps Discussion - By David Miller ...
Application Lifecycle Transformation...a DevOps Discussion - By David Miller ...Application Lifecycle Transformation...a DevOps Discussion - By David Miller ...
Application Lifecycle Transformation...a DevOps Discussion - By David Miller ...
 
A Crash Course in Rapid Application Development
A Crash Course in Rapid Application DevelopmentA Crash Course in Rapid Application Development
A Crash Course in Rapid Application Development
 

Ähnlich wie India GRUC Agility Presentation 2015-6-30

Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
ghodgkinson
 
Model-driven and low-code development for event-based systems | Bobby Calderw...
Model-driven and low-code development for event-based systems | Bobby Calderw...Model-driven and low-code development for event-based systems | Bobby Calderw...
Model-driven and low-code development for event-based systems | Bobby Calderw...
HostedbyConfluent
 

Ähnlich wie India GRUC Agility Presentation 2015-6-30 (20)

5.2.2013 2013 2013 - Software, System, & IT Architecture - Good Design is G...
5.2.2013 2013   2013 - Software, System, & IT Architecture - Good Design is G...5.2.2013 2013   2013 - Software, System, & IT Architecture - Good Design is G...
5.2.2013 2013 2013 - Software, System, & IT Architecture - Good Design is G...
 
Low Code Capabilities of Digital Product Design Platforms
Low Code Capabilities of Digital Product Design PlatformsLow Code Capabilities of Digital Product Design Platforms
Low Code Capabilities of Digital Product Design Platforms
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
 
Key items for a digital enterprise
Key items for a digital enterpriseKey items for a digital enterprise
Key items for a digital enterprise
 
The Need for Speed
The Need for SpeedThe Need for Speed
The Need for Speed
 
Agility via Software Engineering Practices - Agile Tour Montreal 2015
Agility via Software Engineering Practices - Agile Tour Montreal 2015Agility via Software Engineering Practices - Agile Tour Montreal 2015
Agility via Software Engineering Practices - Agile Tour Montreal 2015
 
Integrating Advanced Analytics with Autodesk Solutions
Integrating Advanced Analytics with Autodesk SolutionsIntegrating Advanced Analytics with Autodesk Solutions
Integrating Advanced Analytics with Autodesk Solutions
 
DevOps workshops at EDGE 2016
DevOps workshops at EDGE 2016DevOps workshops at EDGE 2016
DevOps workshops at EDGE 2016
 
CV - Abhijit
CV - AbhijitCV - Abhijit
CV - Abhijit
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
 
To successfully deliver your IT project: build your team, build your Agile it...
To successfully deliver your IT project: build your team, build your Agile it...To successfully deliver your IT project: build your team, build your Agile it...
To successfully deliver your IT project: build your team, build your Agile it...
 
ShapeDo - Design Change Management - Construction Software
ShapeDo - Design Change Management - Construction SoftwareShapeDo - Design Change Management - Construction Software
ShapeDo - Design Change Management - Construction Software
 
DevOps with Chef
DevOps with ChefDevOps with Chef
DevOps with Chef
 
A Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere ToolsA Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere Tools
 
IBM Collaborative Lifecycle Management Solution for DevOps v6
IBM Collaborative Lifecycle Management Solution for DevOps v6IBM Collaborative Lifecycle Management Solution for DevOps v6
IBM Collaborative Lifecycle Management Solution for DevOps v6
 
GECon2017_ Lean_architecturemanagement_Andrei Kavaleu
GECon2017_ Lean_architecturemanagement_Andrei KavaleuGECon2017_ Lean_architecturemanagement_Andrei Kavaleu
GECon2017_ Lean_architecturemanagement_Andrei Kavaleu
 
Microservices Architecture for e-Commerce
Microservices Architecture for e-CommerceMicroservices Architecture for e-Commerce
Microservices Architecture for e-Commerce
 
ALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the Cloud
 
Responsive Design for SavvyMoney Credit Score
Responsive Design for SavvyMoney Credit ScoreResponsive Design for SavvyMoney Credit Score
Responsive Design for SavvyMoney Credit Score
 
Model-driven and low-code development for event-based systems | Bobby Calderw...
Model-driven and low-code development for event-based systems | Bobby Calderw...Model-driven and low-code development for event-based systems | Bobby Calderw...
Model-driven and low-code development for event-based systems | Bobby Calderw...
 

Mehr von Roger Snook

IBM Mobile Quality Assurance Study Group Session 4 - Over the Air Distribution
IBM Mobile Quality Assurance   Study Group Session 4 - Over the Air DistributionIBM Mobile Quality Assurance   Study Group Session 4 - Over the Air Distribution
IBM Mobile Quality Assurance Study Group Session 4 - Over the Air Distribution
Roger Snook
 
2013 14 fall jcysl open house parent meeting
2013 14 fall jcysl open house parent meeting2013 14 fall jcysl open house parent meeting
2013 14 fall jcysl open house parent meeting
Roger Snook
 
Model Runway Part 2 Design Best Practices at Blue Cross BlueShield
Model Runway Part 2   Design Best Practices at Blue Cross BlueShieldModel Runway Part 2   Design Best Practices at Blue Cross BlueShield
Model Runway Part 2 Design Best Practices at Blue Cross BlueShield
Roger Snook
 

Mehr von Roger Snook (20)

University of Miami Briefing: DevOps Steer – an agile response to customer fe...
University of Miami Briefing: DevOps Steer – an agile response to customer fe...University of Miami Briefing: DevOps Steer – an agile response to customer fe...
University of Miami Briefing: DevOps Steer – an agile response to customer fe...
 
2014 Q4 MQA Study group round 2 session 1 of 3
2014 Q4 MQA Study group round 2 session 1 of 32014 Q4 MQA Study group round 2 session 1 of 3
2014 Q4 MQA Study group round 2 session 1 of 3
 
2014 10 23 Twin Cities User Group Presentation
2014 10 23 Twin Cities User Group Presentation2014 10 23 Twin Cities User Group Presentation
2014 10 23 Twin Cities User Group Presentation
 
IBM MobileFirst DevOps IEG DC Event
IBM MobileFirst DevOps IEG DC EventIBM MobileFirst DevOps IEG DC Event
IBM MobileFirst DevOps IEG DC Event
 
IBM Mobile Quality Assurance Study Group Session 6
IBM Mobile Quality Assurance   Study Group Session 6IBM Mobile Quality Assurance   Study Group Session 6
IBM Mobile Quality Assurance Study Group Session 6
 
Mobile DevOps: Rapid Response to Feedback and continuous delivery in a mobile...
Mobile DevOps: Rapid Response to Feedback and continuous delivery in a mobile...Mobile DevOps: Rapid Response to Feedback and continuous delivery in a mobile...
Mobile DevOps: Rapid Response to Feedback and continuous delivery in a mobile...
 
IBM Mobile Quality Assurance Study Group Session 4 - Over the Air Distribution
IBM Mobile Quality Assurance   Study Group Session 4 - Over the Air DistributionIBM Mobile Quality Assurance   Study Group Session 4 - Over the Air Distribution
IBM Mobile Quality Assurance Study Group Session 4 - Over the Air Distribution
 
IBM Mobile Quality Assurance Open Beta Study Group Session 3 (Instrumenting...
IBM Mobile Quality Assurance   Open Beta Study Group Session 3 (Instrumenting...IBM Mobile Quality Assurance   Open Beta Study Group Session 3 (Instrumenting...
IBM Mobile Quality Assurance Open Beta Study Group Session 3 (Instrumenting...
 
IBM Mobile Quality Assurance - Open Beta Study Group Session 2
IBM Mobile Quality Assurance - Open Beta Study Group Session 2IBM Mobile Quality Assurance - Open Beta Study Group Session 2
IBM Mobile Quality Assurance - Open Beta Study Group Session 2
 
IBM Mobile Quality Assurance - Open Beta Study Group Session 1
IBM Mobile Quality Assurance - Open Beta Study Group Session 1IBM Mobile Quality Assurance - Open Beta Study Group Session 1
IBM Mobile Quality Assurance - Open Beta Study Group Session 1
 
Good Design is Good Business: Business Design with RSA and SA
Good Design is Good Business: Business Design with RSA and SAGood Design is Good Business: Business Design with RSA and SA
Good Design is Good Business: Business Design with RSA and SA
 
2013 Good Design Is Good Business MDD Embedded Systems
2013 Good Design Is Good Business MDD Embedded Systems2013 Good Design Is Good Business MDD Embedded Systems
2013 Good Design Is Good Business MDD Embedded Systems
 
2013 good design is good business industry frameworks
2013 good design is good business industry frameworks2013 good design is good business industry frameworks
2013 good design is good business industry frameworks
 
2013 Good Design is Good Business mobile and RSA
2013 Good Design is Good Business mobile and RSA2013 Good Design is Good Business mobile and RSA
2013 Good Design is Good Business mobile and RSA
 
2013 14 fall jcysl open house parent meeting
2013 14 fall jcysl open house parent meeting2013 14 fall jcysl open house parent meeting
2013 14 fall jcysl open house parent meeting
 
2013 Good Design is Good Business - Mobile
2013 Good Design is Good Business - Mobile2013 Good Design is Good Business - Mobile
2013 Good Design is Good Business - Mobile
 
2013 JCYSL open house parent meeting
2013 JCYSL open house parent meeting2013 JCYSL open house parent meeting
2013 JCYSL open house parent meeting
 
Model Runway, Part 3 Design Best Practices at Blue Cross BlueShield
Model Runway, Part 3 Design Best Practices at Blue Cross BlueShieldModel Runway, Part 3 Design Best Practices at Blue Cross BlueShield
Model Runway, Part 3 Design Best Practices at Blue Cross BlueShield
 
Model Runway Part 2 Design Best Practices at Blue Cross BlueShield
Model Runway Part 2   Design Best Practices at Blue Cross BlueShieldModel Runway Part 2   Design Best Practices at Blue Cross BlueShield
Model Runway Part 2 Design Best Practices at Blue Cross BlueShield
 
Model Runway: Design Best Practices at BlueCross BlueShield
Model Runway: Design Best Practices at BlueCross BlueShieldModel Runway: Design Best Practices at BlueCross BlueShield
Model Runway: Design Best Practices at BlueCross BlueShield
 

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Kürzlich hochgeladen (20)

Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 

India GRUC Agility Presentation 2015-6-30

  • 1. © 2015 IBM Corporation One Million Lines of Code Later: I Want Agility! Roger Snook, IBM WW Enablement DevOps for Mobile 30 June 2015 RCSnook@us.ibm.com Adapted from a presentation at:
  • 2. 1M Lines of code…..How did we get here? • My story: • Startup company, Reverse engineered 1.7M lines of C++ library code with Rational Software Architect predecessor (Rose). • Cable modem manufacturer building DOCSIS-compliant devices, C++/UML “round tripping” approach. • Worked with other startups with 1M+ lines of code (SCM needs) • NY financial software “frameworks” that generate code from models – company-self-proclaimed agility • Regardless if you use Architecture Tools or not - we’ve got software to deliver! • Business Initiatives (revenue, market share, competition) to meet, companies to acquire…. Time is Money • But our conscience is calling….. • Good Design is Good Business blog on • This session can show you ideas for agility 1
  • 3. WARMUP POLLS: • I am working with a project which has how many lines of code: 1. Less than 500,000 2. 500,000 – 1,000,000 3. 1,000,000 – 5,000,000 4. 5,000,000+ 5. I’m not working with any source code • I am working with these languages (check all that apply): • Java • C++ • C# • Python • Ruby • Other 2
  • 4. Agility - Defined • Agile Manifesto: • So let’s take that perspective of helping individuals (people) interact (process), collaborate and respond to change (more process) to deliver working software. 3
  • 5. 4 History Shows: People, Process first, then Tools drive success Changing People and Process is difficult – start with Common Purpose People Tools Process Project Success Triangle Quality Money Time Client Value Develop Deploy Decide Software Delivery Tasks Business Integration Response to clients Market Share Capture Faster... Improved Bottom line Shifts Investments to Higher value ROI / TCO Cheaper… Business Scalability User Retention Trusted Supplier Better… Business Transformation Integrate Optimize Collaborate
  • 6. 5 Software Delivery is a business process! And Business Processes are subject to improvement.
  • 7. IBM DevOps An enterprise capability for continuous software delivery that enables organizations to seize market opportunities and reduce time to customer feedback Accelerate software delivery – for faster time to value Balance speed, cost, quality and risk – for increased capacity to innovate Reduce time to customer feedback – for improved customer experience Continuous Customer Feedback & Optimization Collaborative Development Continuous Release and Deployment Continuous Monitoring Continuous Business Planning Continuous Testing Operate Develop/ Test Deploy Steer DevOps Continuous Feedback
  • 8. Concept Areas, Candidate Processes 7 Operate Develop/ Test Deploy Steer DevOps Continuous Feedback DevOps Concept Areas / Use Cases Individual Project Organization Steer Gain Agreement / “interface contract” x Linked Designs - “single source of truth” x Collect-> Triage -> Reqts -> Sprint Plan x Architecture Governance x Develop/Test Code “Automation” – reverse transform x Specs to models to code x Forward transform - code generation x Convert sketch to architecture x Peer/Design reviews x Reuse Designs x Deploy Agile Deployment x
  • 9. 8 Individual Processes POLL: • Where are you today? • How agile is your individual work? 1. Not at all agile (only focused on process, organization, documentation) 2. Somewhat agile 3. Neutral 4. More agile than not 5. Completely agile (focused on delivering working software, customer collaboration, responding to change) • Are you CURRENTLY using architecture tools? 1. Yes 2. No
  • 10. 9 Individual Processes • Agenda • Code “Automation” – Reverse transform / “reverse engineering” – Specs to models, other transformations i.e. WSDLs – Forward transform / “Code generation” from models • Convert “whiteboard” sketches to architecture
  • 11. 10 Individual Processes – Reverse “Engineering” • You’ve just inherited a new, 1M+ SLOC project • How do you get an INITIAL handle on this? – Old process: open editor and start reviewing – New process: reverse “engineer” (officially “reverse transform” code into models) – often seen as a one- time event
  • 12. 11 Individual Processes – Reverse “Engineering” Reduced labour for Reverse Engineering to develop models of existing code (using Code Visualization and Reverse Engineering) 20% • How can you continually get value (agility / time savings) from this: • Code Visualization – “simplified modeling”, only visualization no “data behind the picture” – good for quick self-check reviews • Ongoing merging of code changes – one approach with overlapping iterations of design and coding • One client’s assertion: Reduced Defect costs (Better Quality of code as a result of Architecture Discovery, Visualizations, Model Analysis) 15%
  • 13. IBM Events Team "Serves" Australian Open with Rational Software Architect - A Grand Slam of 10% Productivity!  Must build website quickly to attract and maintain fans’ interest during the three week events.  In 2010, over 9 million virtual visitors came to the IBM website  Rational is just one part of an overall case study and showcase of IBM hardware, software and services.  Visualizing Java code as UML helps the improve communication & reduce meeting times, onboarding new team members. Improving developer productivity with code-centric approach helps IBM meet tight deadlines during highly visible events such as the Tennis Grand Slam or the Tony Awards.
  • 14. 13 Individual Processes – Forward Transformation • Let’s for a moment….. • How many NEW CLASSES (in code) are you / your team creating each week ? • What percentage of your hand-coding is 100% syntactically correct? • Typical Design Contract Management Protocols are as follows: • Conceptual -> Concrete resulting in: “Throw away model” or Visual Editing • Mixed Modeling • Reconciled Modeling • Run transformations from an Ant script • Agile Mobile dev teams: Transform REST/JAX-RS models into code • One client’s assertion: Reduced labor for Coding ( due to use of Transformations & Code generation, patterns and asset reuse) 22%
  • 15. Individual Processes – “Whiteboard” vs. Sketching Whiteboard • Rapid capture. • Persists as long as not erased • Less formality, less “common meaning” RSA Sketching • Quickly capture – similar to drawing tools. • Persists and can be shared • Purposeful Limited “vocabulary”
  • 16. Manual Transformations do not make teams agile Simple Documentation and Whiteboards Code + Integrated DocumentationCode + Some Documentation“Code Only” RE-entered or transcribed into Code RE-keyed or transcribed into Informal models RE-entered or transcribed into Models
  • 17. 16 Sketching with incremental formalization Quickly turn “think” into “code” through simple transformations Quickly capture thoughts – work at “think speed” Selectively formalize as semantic model elements Extend this “actionable whiteboard” across space and time
  • 18. RSA Sketching built to support agility Sketches Code + Integrated DocumentationCode + Some Documentation“Code Only” Transformed into Code Transformed into Informal models
  • 19. Over 60 new UML-related books RELEASED in 2015 (doubled from February 2015)
  • 20.
  • 21. 20 Team/Project Processes POLL: • Where are you today? • How agile is your TEAM/PROJECT work? 1. Not at all agile (only focused on process, organization, documentation) 2. Somewhat agile 3. Neutral 4. More agile than not 5. Completely agile (focused on delivering working software, customer collaboration, responding to change)
  • 22. 21 Team/Project Processes • Agenda: – Peer/Design reviews – Gaining Agreement / “interface contracts” using standards – Link Designs with other lifecycle artifacts for “single source of truth” • Steer: Collection -> Triage -> Requirements -> Sprint Planning – Triage/Requirements include Impact Assessment – Planning includes Design changes • Agile Deployment
  • 23. 22 Shared Designs and Comments to support Peer Reviews • Engage team members in the design process with Web client access to designs • Improve quality with in-context design collaboration through commenting and visual markup • Comments can be posted and accessed from Web client and RSA desktop client
  • 24. 23 Automate Design/Peer Reviews • Automate manual and time consuming design reviews • Users notified via email of the review and access their reviews from the dashboard • Design Manager tracks progress of design review • Link review to Team Concert work items for more formalized approvals WhoWhatWhen&Why
  • 25. View design comments Search across design projects View markup associated with comments View OSLC link information including pop- up previews Connect to DM servers , navigate server projects, and preview designs from server Design collaboration from the RSA client
  • 26. Faster Design Reviews Shorten time-to-market and improve quality  Speed up decision-making by keeping people informed as decisions are made  Improve quality by ensuring that the extended team has direct input into updates and corrections  Automate the design review process  Teams need to collaborate with stakeholders on software architectures, deployment plans, and system designs, but..  Design reviews are painful, tedious, and time consuming  Stakeholders do not have direct access to designs so reviews need to be handled outside of the design tools; feedback is difficult to communicate and confirm  With RSA Design Manager…  Designers automate reviews, specifying which designs and stakeholders participate  Stakeholders can view the design and attach comments and mark-up via the Web or rich client  Design reviews can be linked to RTC work items for planning and tracking
  • 27. 26 Collaborative Modelling - RSA Design Manager Link designs to other lifecycle elements • Share sequence diagrams for testers to create test procedures Enhance requirements with visualizations
  • 28. 27 Other Design Collaboration Capabilities to help Agile DevOps Steering: Triage/Impact Analysis • Graphical impact analysis diagram (Design centric) • Keyword search and queries support triage • Mobile? • Inject WorkItems directly from a mobile crowd-sourced test (testing “in the wild”). (Brief demo time permitting)
  • 29. 28 Supporting Agile Deployments Pushing designs to IBM UrbanCode Deploy • Forward and Reverse “transform” models and deployment architectures
  • 30. 29 Organizational Processes • Where are you today? • How agile is your ORGANIZATIONAL work? 1. Not at all agile (only focused on process, organization, documentation) 2. Somewhat agile 3. Neutral 4. More agile than not 5. Completely agile (focused on delivering working software, customer collaboration, responding to change)
  • 31. 30 Organizational Processes • AGENDA: • Reuse – Finding and Publishing designs • Governance – SOA
  • 32. Design Server Maximize productivity and lower costs  Increase team knowledge through an enterprise and system-wide repository with Web-based access  Leverage Jazz to quickly search across designs for review, analysis and potential reuse  Analyze the impact of design changes  Teams need to quickly find existing designs to review, analyze, and identify reuse, but…  Information may be stored in multiple designs or models  Desktop client installation is required to view the design information  Access to SCM system also may be required to access the information  With RSA Design Manager…  All designs for an organization or system can be stored and accessed from a central location  All known designs can be searched, viewed, analyzed on the server from RSA or Web client  The new Relationship diagram supports impact analysis and discovery of related design elements and resources
  • 33. As complexity grows, so should governance Technical Drivers Compliance Governance Application Complexity Organizational Drivers Team Size Geographical Distribution Organization Distribution Documentation and White-boarding  Collaborating on whiteboard sketches  Spreadsheets, Word Docs Code + Integrated DocumentationCode + Some Documentation“Code Only” Modeling, Automation, Governance  Automated task Execution and code generation from Model (Model-Driven)  Versioning with your standard CM system  Extensibility to integrate with automation  Ability to enhance with governance Informal modeling  Presentations and Drawing tools  Quick capturing of ideas for analysis  Capable of analyzing simple problems Modeling  Leveraging industry standards (UML, BPMN, Architecture frameworks) to analyze the industry specific complex problems  Industry recognized notations  Underlying meta-data facilitates easier collaboration on model dependencies, with automated change propagation.  Easy impact analysis reports  Simulation for early problem determination
  • 34. 33 Work together with SCM and Design Management Jazz Storage § Architecture Elements § Index § Comments (visual, textual) § Links § Reviews OSLC+DMRESTAPIs Design search, query, view, comment, review, link, report, validate, analyze, limited editing Design creation, editing, MBSE, MDD, MBT search, query, validate, analyze, report Design Management services on Jazz Team Server (JTS) Design change control and versioning Web client OSLC+DMRESTAPIs RSA clients SCMServer-RTC,CC,SVN (check-outs,merges,check-ins) File1 File2 Directory RSA clients Design Management services on Jazz Team Server (JTS) Systems Engineer Software Engineer Design change control and versioning (file-based) Reviewer
  • 35. Multi-discipline Document Generation and Reporting Satisfy regulatory and customer demands  Easily create comprehensive documentation for specifications, communication, compliance and auditing  Help prove compliance by including OSLC link information and design review information  Teams must document for specs, communication, regulatory compliance, and auditing  Documents need to contain information from different domains (requirements, design, change management); individual products have separate reporting solutions  Existing solutions are difficult to use for designs and limited in the types of information they can access  One client’s productivity gain assertions: Better Communication, collaboration with teams and customer and identifying defects early 15% Improved Documentation using visualization, in built reporting (Model- Code Synchronization, Javadoc, and other publishing options) 18%
  • 36. FINAL POLL: 35 • Now that you’ve heard some ideas on how architecture can possibly improve your agility, please CHECK ANY of the following levels if you believe architecture can help with agilty: 1. Individual 2. Team 3. Organization
  • 37.
  • 38. Thank You Roger Snook, IBM WW Cloud Enablement DevOps for Mobile RCSnook@us.ibm.com