Best Practices for Adopting Visualization Into Your Software Process Mitch Bishop Johann Mendoza
#1 Issue Facing CIOs Today Dramatically cutting application development cost
How Do CIOs Get There? (part one) Rationalization & consolidation of business software
How Do CIOs Get There? (part two) Accelerating global sourcing programs
Business Software is Supposed to Help Meet These Challenges But...
The Way That Business Software is Designed, Developed & Delivered is Fundamentally Broken In the last year, 70% of projects failed to meet deadlines, & 50% of projects failed to meet the needs of the business; 80% of the issues stem from poor requirements. Standish Group Chaos Report, 2007
# Business Users Don t Know What They Want Until They See & Interact With It
# Business Users Can t Interpret Text Specs., Use Cases, Screen Shots, etc.
The Impact is Dramatic Long cycle times Late stage rework Poor adoption Risky global sourcing Blown business plans Strained relationships
The Solution: irise Visualization
irise Visualization Transforms Business & IT Communication
270 Customers Tell Us: Visualization Delivers Get to market twice as fast Cut 30% of project cost Virtually eliminate rework Outsource more strategic development Improve customer experience Discover new innovations irise Company Confidential Copyright 2007 irise, Inc. www.irise.com
What Can You Visualize With irise? New custom applications Enhancements to existing systems SAP, IBM, Oracle extensions Mobile applications (e.g. iphone) Web 2.0 & rich Internet applications
Our Vision By 2020 ALL business software will be visualized prior to development, the same way that visualization is a common practice in the design of every car, airplane & semiconductor today
Best Practices for Adopting Visualization Into Your Software Process Mitch Bishop Johann Mendoza
Best Practices for Adopting Visualization into your Software Process Agenda» Goals» irise and Visualization irise Roles irise Visualization Methodology irise Deliverables» Integration into Waterfall Waterfall: At a Glance Impact to Waterfall Project Roles, Activities, and Deliverables Examples» Integration into Agile Agile: At a Glance Impact to Agile Project Roles, Activities, and Deliverables Examples» Closing Remarks
Best Practices for Adopting Visualization into your Software Process Goals
Goals Understand the Considerations & Best Practices for Adopting and Integrating irise and Visualization Understand irise Visualization Roles, Activities, and Deliverables Review Waterfall and Agile to:» Identify areas where Visualization can be used» Assess impacts to project roles, activities, and deliverables» Understand irise usage throughout both processes» Discuss examples Experience a sample of irise Adoption Services
Best Practices for Adopting Visualization into your Software Process irise and Visualization
irise Roles In Visualization, team members throughout your software process may assume one or more of the following irise roles:» irise Modeler» irise Reviewer» irise Consumer
irise Roles: Modeler Builds visualizations in irise Studio Facilitates collaboration with Reviewers Iterates/refines visualizations until all parties agree and understand what needs to be created Skill-set may include:» irise Expertise: Proficiency in irise» Visualization Skills: Ability to understand customers needs and turn it into something they can see» Facilitation: Build shared understanding of what s required, negotiate priorities, and generate shared sense of what needs to be created» User Experience: Understand how to build solutions that are usable, practical, and attractive» Process Modeling: Understand and build an efficient process flow into all solutions
irise Roles: Reviewer Conducts hands-on assessment of irise visualizations at many steps Provides input to Modelers to create and refine visualizations Validates assumptions and requirements presented in visualizations Helps drive the design process forward using visualizations Confirms that visualized solution meets users needs, solves their problems, and is usable all before coding begins
irise Roles: Consumer Similar to Reviewers but not necessarily tasked with providing visualization feedback Instead, leverages the visualization as input for their downstream activities Receives the visualization and begins work on their respective deliverables much earlier in the process w/o having to wait for coded application Accepts the visualization and uses it to write test scripts, train users, deliver sales demos, etc.
irise Visualization Methodology Visualization and the creation of irise simulations are iterative and collaborative activities 1 Scenario Ideation - Focus on Understanding the High-Level Scenario Flow Iterate 2 Analysis-Level Simulation - Identify and Validate the Functionality of each Scenario Iterate 3 High-Fidelity Simulation - Incorporate Layout, Look-and-Feel, and Usability Iterate
Scenario Ideation: Sample Output
Analysis Level Simulation: Sample Output
High Fidelity Simulation: Sample Output
irise Visualization Deliverables: What to Build At each stage of the irise Visualization Methodology, deliverables will have varying degrees of Visual Fidelity and Functional Complexity Visual Fidelity» Includes all aspects of a system s design including elements such as colors, shapes, layout, typefaces, graphical assets, and copy Functional Complexity» The behavior of the system in response to the user (a.k.a. interaction, business and data logic)
irise Visualization Deliverable: What to Build Visual Fidelity Functional Complexity Low Enough detail so customer figures out what s going on, but no more Not meant to be polished Quick-and-dirty Enough detail so customer figures out what s going on, but no more Generally static pages lacking dynamic behavior Textual descriptions or placeholders used to describe behavior Med Relevant design elements applied allowing customer to visualize layout and presentation of page Wireframes Relevant dynamic elements applied allowing customer to interact with behavior and operation of page Usability and user experience elements introduced and tested Textual descriptions converted to functional and dynamic behavior High Polished design or high quality screens Looks exactly or almost like the application to be delivered To-the-pixel design Outcome of numerous iterations Behaves exactly or almost like the application to be delivered Findings from usability and user experience testing applied in behavior Outcome of numerous iterations
Best Practices for Adopting Visualization into your Software Process Integration into Waterfall
QA TECH. FUNCTIONAL PROJECT MGMT Waterfall At a Glance PROPOSE PLAN DEFINE BUILD/TEST DEPLOY SUBMIT PROJECT REQUEST SET UP PROJECT & RESOURCES DEFINE CHANGE MGMT PLAN FINALIZE SCHEDULE/B UDGET FINALIZE PROJ MGMT PLAN FINALIZE CHANGE MGMT PLAN CLOSE PROJECT DETERMINE BUSINESS NEED REFINE SCOPE & PROJ. PLAN DEVELOP PROJ MGMT PLAN CONDUCT VENDOR EVALS ASSESS RISK DEVELOP BUDGET PRIORITIZE ADD TO PORTFOLIO DEFINE HI LEVEL RQMTS CHANGE MGMT ASSESSMENT DEFINE BUSINESS PROCESSES DEFINE FUNC RQMTS DEVELOP TEST SCRIPTS CONDUCT UNIT/SYS TESTING TRAIN USERS & SUPPORT RESEARCH PACKAGE SOLUTIONS DEFINE USE CASES/ SCENARIOS DEFINE DESIGN SPEC DEVELOP TRNG/MKTG MATERIAL PERFORM MKTING COMM. DEFINE SOLUTION RQMTS DEVELOP TEST CASES DEVELOP UAT PLAN CONDUCT UAT TESTING IMPLEMENT OPS SUPPORT DRAFT OPS SUPPORT APPROACH CONDUCT PERF TESTING PROPOSE SOLUTION DESIGN DEVELOP HI- LEVEL ARCH. DEVELOP SOLUTION ARCH. DEFINE DETAILED DESIGN DEVELOP TECHNICAL SOLUTION TRANSITION TO SUSTAIN QUALITY TOLLGATE 1 QUALITY TOLLGATE 2 QUALITY TOLLGATE 3 QUALITY TOLLGATE 4
QA TECH. FUNCTIONAL PROJECT MGMT Waterfall At a Glance PROPOSE PLAN DEFINE BUILD/TEST DEPLOY SUBMIT PROJECT REQUEST SET UP PROJECT & RESOURCES DEFINE CHANGE MGMT PLAN FINALIZE SCHEDULE/B UDGET FINALIZE PROJ MGMT PLAN FINALIZE CHANGE MGMT PLAN CLOSE PROJECT DETERMINE BUSINESS NEED REFINE SCOPE & PROJ. PLAN DEVELOP PROJ MGMT PLAN CONDUCT VENDOR EVALS ASSESS RISK DEVELOP BUDGET PRIORITIZE ADD TO PORTFOLIO DEFINE HI LEVEL RQMTS CHANGE MGMT ASSESSMENT DEFINE BUSINESS PROCESSES DEFINE FUNC RQMTS DEVELOP TEST SCRIPTS CONDUCT UNIT/SYS TESTING TRAIN USERS & SUPPORT RESEARCH PACKAGE SOLUTIONS DEFINE USE CASES/ SCENARIOS DEFINE DESIGN SPEC DEVELOP TRNG/MKTG MATERIAL PERFORM MKTING COMM. DEFINE SOLUTION RQMTS DEVELOP TEST CASES DEVELOP UAT PLAN CONDUCT UAT TESTING IMPLEMENT OPS SUPPORT DRAFT OPS SUPPORT APPROACH CONDUCT PERF TESTING PROPOSE SOLUTION DESIGN DEVELOP HI- LEVEL ARCH. DEVELOP SOLUTION ARCH. DEFINE DETAILED DESIGN DEVELOP TECHNICAL SOLUTION TRANSITION TO SUSTAIN QUALITY TOLLGATE 1 QUALITY TOLLGATE 2 QUALITY TOLLGATE 3 QUALITY TOLLGATE 4
Waterfall: Propose Phase I. Integration into Activity Process Activity irise Phase(s) Used Define High Level Requirements (HLR) Scenario Ideation II. irise Role to Project Role Mappings Modeler(s) Reviewer(s) Consumer(s) by Phase BA Project Sponsor, Project Manager, Business SME Plan/Define: BA, PM, Architect III. irise Visualization Deliverable Visual Fidelity Functional Complexity Input(s) Output(s) Low Low Project Charter High Level Requirements and Scenario Flows in irise, Textual Requirements in irise IV. Comments» Begin collaboration in irise Definition Center in this activity
Waterfall: Plan Phase I. Integration into Activity Process Activity irise Phase(s) Used Define Use Cases and Scenarios Scenario Ideation > Analysis Level Simulation II. irise Role to Project Role Mappings Modeler(s) Reviewer(s) Consumer(s) by Phase BA, Interaction Designer Project Manager, Business SME, Architect, Developer Define: BA, PM, Architect, UX, IA, ID, VD, Developer Build/Test: Developer, Architect, QA, Tester, Data Modeler III. irise Visualization Deliverable Visual Fidelity Functional Complexity Input(s) Output(s) Low > Med Low > High irise Visualization of High Level Requirements Visualized Use Cases and Scenarios in irise, Textual Requirements in irise IV. Comments» Leverage irise Asset Libraries when building higher visual fidelity and functional complexity» Continued collaboration in irise Definition Center
Waterfall: Define Phase I. Integration into Activity Process Activity irise Phase(s) Used Define Functional Requirements Analysis Level Simulation > High Fidelity Simulation II. irise Role to Project Role Mappings Modeler(s) Reviewer(s) Consumer(s) by Phase BA, Interaction Designer Business SME, PM, BA, Developer, UX, IA, ID Define: PM, VD, UX, IA, Architect Build/Test: Developer, QA, Tester Deploy: Trainer, Sales, Marketing, Change Management, Support, Sustain III. irise Visualization Deliverable Visual Fidelity Functional Complexity Input(s) Output(s) Med Low > High Use Cases/Scenarios in irise, Interaction Guidelines, Style Guide Func Rqmts Doc in irise, Interactive Wireframes in irise (Prototype) IV. Comments» Capture Textual Requirements in irise» Leverage irise Asset Libraries when building higher visual fidelity and functional complexity» Continued collaboration in irise Definition Center
Waterfall: Define Phase I. Integration into Activity Process Activity irise Phase(s) Used Define Design Specifications Analysis Level Simulation > High Fidelity Simulation II. irise Role to Project Role Mappings Modeler(s) Reviewer(s) Consumer(s) by Phase Interaction Designer, Visual Designer Business SME, PM, BA, Developer, UX, IA, ID Define: PM, VD, UX, IA, Architect Build/Test: Developer, QA, Tester Deploy: Trainer, Sales, Marketing, Change Management, Support, Sustain III. irise Visualization Deliverable Visual Fidelity Functional Complexity Input(s) Output(s) High Med > High Func Rqmts Doc in irise, Use Cases in irise, Interaction Guidelines, Style Guide Design Specifications in irise, Updates to Style Guide & Interaction Guidelines IV. Comments» Capture Textual Requirements in irise» Leverage irise Asset Libraries when building higher visual fidelity and functional complexity» Continued collaboration in irise Definition Center
Waterfall: Build/Test Phase I. Integration into Activity Process Activity irise Phase(s) Used Develop Test Scripts N/A (irise Consumers Only) II. irise Role to Project Role Mappings Modeler(s) Reviewer(s) Consumer(s) by Phase N/A N/A Build/Test: Developer, QA, Tester Deploy: Change Management, Support, Sustain III. irise Visualization Deliverable Visual Fidelity Functional Complexity Input(s) Output(s) Med > High Med > High irise Visualization Test Scripts, Test Cases, Test Plan IV. Comments» Some UAT moved upstream and completed in Define Phase» Use irise scenarios as starting point for Test Scripts
Waterfall: Deploy Phase I. Integration into Activity Process Activity irise Phase(s) Used Train Users and Support N/A (irise Consumers Only) II. irise Role to Project Role Mappings Modeler(s) Reviewer(s) Consumer(s) by Phase N/A N/A Deploy: Trainer, Support, Sustain III. irise Visualization Deliverable Visual Fidelity Functional Complexity Input(s) Output(s) Med > High Med > High irise Visualization Trained Users, Trained Support Team IV. Comments» Centralized training via irise Definition Center» Distributed training via irise idocs» No need for training environment setup» Consider moving this activity upstream to Test Phase to accelerate Training
Best Practices for Adopting Visualization into your Software Process Integration into Agile
Agile At a Glance SPRINT 0 SPRINT 1 SPRINT 2 Product Backlog Sprint Backlog Sprint Backlog Sprint Backlog Sprint Backlog Sprint Backlog 24 Hrs 20 Days 20 Days Sprint Backlog Sprint 1 Backlog Sprint 2 Backlog 4 3 2 1 24 Hrs 4 3 2 1 Sprint 1 Incremental Release Sprint 2 Incremental Release
Agile At a Glance SPRINT 0 SPRINT 1 SPRINT 2 Product Backlog Sprint Backlog Sprint Backlog Sprint Backlog Sprint Backlog Sprint Backlog 24 Hrs 20 Days 20 Days Sprint Backlog Sprint 1 Backlog Sprint 2 Backlog 4 3 2 1 24 Hrs 4 3 2 1 Sprint 1 Incremental Release Sprint 2 Incremental Release
Agile: Sprint 0 - Plan and Prioritize Sprints I. Integration into Sprint irise Phase(s) Used Scenario Ideation > Analysis-Level Simulation II. irise Role to Project Role Mappings Modeler(s) Reviewer(s) Consumer(s) Product Owner, BA Scrum Master, BA, Architect, Application SME Scrum Master, BA, Interaction Designer, UX, Developer, Architect III. irise Visualization Deliverable Visual Fidelity Functional Complexity Input(s) Output(s) Low > Med Low > Med Product Backlog Sprint Backlog, Scenario Flows/Low Fidelity Visualization and Rqmts Text in irise IV. Comments» Visualize with goal of identifying LOE, scope/estimates, priority, quick-wins, low hanging fruit, and dependencies» After Sprint Backlogs are prioritized, Modeler preps for upcoming Sprint (i.e. Sprint 1) by refining visualization to Med Fidelity/Med Functionality
Agile: Sprint 0 Prepare the irise Asset Library I. Integration into Sprint irise Phase(s) Used Analysis-Level Simulation > High Fidelity Simulation II. irise Role to Project Role Mappings Modeler(s) Reviewer(s) Consumer(s) Interaction Designer, Visual Designer, UX Interaction Designer, Visual Designer, UX, Developer, Architect Scrum Master, BA, Interaction Designer, UX, Developer, Architect III. irise Visualization Deliverable Visual Fidelity Functional Complexity Input(s) Output(s) Med > High Med > High Existing irise Asset Library, Interaction Guidelines, Style Guide Updated irise Asset Library with Design Patterns IV. Comments» irise Asset Library should contain Templates, Masters, Predefined Styles, Design Patterns, etc.» Preparing this ahead of time allows teams to quickly achieve High Fidelity visualizations within the fastpaced Agile environment
Agile: Sprint 1 and Beyond I. Integration into Sprint irise Phase(s) Used Analysis-Level Simulation > High Fidelity Simulation II. irise Role to Project Role Mappings Modeler(s) Reviewer(s) Consumer(s) BA, Interaction Designer Product Owner, Scrum Master, ID, VD, UX, Developer, Architect Scrum Master, BA, ID, Developer, Architect, QA, Tester, Trainer III. irise Visualization Deliverable Visual Fidelity Functional Complexity Input(s) Output(s) Med > High (if necessary) Med > High (if necessary) Sprint Backlog, Low/Med Fidelity Visualization in irise, irise Asset Library Med High Fidelity Visualization, Textual Requirements in irise Doc Text IV. Comments» Uncovered requirements in Sprint are either factored back into visualization or reprioritized and moved to a later Sprint» Towards end of current Sprint, begin Med High Fidelity visualization for next Sprint
Agile: Sprint 1 Example Week 1 Week 2 Week 3 Week 4 Modeler refines Visualization: Med to High Fidelity (Leverage irise Asset Library) Reviewers validate & provide feedback on Visualization Team iterates and documents requirements in irise Consumers develop, test, QA Consumers validate coded application with Visualization Modelers update Visualization w/ uncovered requirements (if necessary) Consumers train users & communicate marketing Consumers update Product/Sprint Backlogs Begin Visualization for next Sprint: Med Fidelity irise Visualization Leveraged: Green Weeks 1-2» Team confirms understanding of, and validates, requirements by reviewing the Visualization» Coding begins as early as middle of week 1 Week 3» Validate code with Visualization - uncovered requirements are visualized or moved to future Sprint Week 4» Training and marketing communications commence and backlog updates performed» Modeler begins visualization for next Sprint
Best Practices for Adopting Visualization into your Software Process Closing Remarks
Recap of Best Practices Integrating irise and Visualization» Identify all activities that can benefit from Visualization» Map irise Visualization Methodology to activities/phases/sprints» Map irise Roles to Project Roles» Determine level of Visual Fidelity and Functional Complexity» Replace or augment existing process deliverables with irise Visualization» Revisit and refine your methodology after a few projects Visualization using irise» Iterate early and often» Build for Reviewers in current phase AND Consumers downstream» Move activities upstream, if possible» Capture textual requirements in irise Document Text» Leverage irise Definition Center: Visualization is an iterative AND collaborative process» Prepare an irise Asset Library: Achieve High Fidelity/Functionality quicker! If you need further assistance with integration, engage irise PS for Adoption Services
6 9 Thank you for attending Best Practices for Adopting Visualization Into Your Software Process Please submit questions now... Contact Information: www.irise.com mbishop@irise.com jmendoza@irise.com irise: (800) 556-0399