Exploring Adaptability Through Change Cases

Similar documents
Creating Meaningful Assessments for Professional Development Education in Software Architecture

Prince2 Foundation and Practitioner Training Exam Preparation

Guidelines for Writing an Internship Report

Strategy and Design of ICT Services

OCR LEVEL 3 CAMBRIDGE TECHNICAL

PROCESS USE CASES: USE CASES IDENTIFICATION

Success Factors for Creativity Workshops in RE

IBM Software Group. Mastering Requirements Management with Use Cases Module 6: Define the System

November 17, 2017 ARIZONA STATE UNIVERSITY. ADDENDUM 3 RFP Digital Integrated Enrollment Support for Students

Major Milestones, Team Activities, and Individual Deliverables

Designing Autonomous Robot Systems - Evaluation of the R3-COP Decision Support System Approach

GALICIAN TEACHERS PERCEPTIONS ON THE USABILITY AND USEFULNESS OF THE ODS PORTAL

Just in Time to Flip Your Classroom Nathaniel Lasry, Michael Dugdale & Elizabeth Charles

ADVANCED MACHINE LEARNING WITH PYTHON BY JOHN HEARTY DOWNLOAD EBOOK : ADVANCED MACHINE LEARNING WITH PYTHON BY JOHN HEARTY PDF

9.85 Cognition in Infancy and Early Childhood. Lecture 7: Number

Software Development: Programming Paradigms (SCQF level 8)

Early Warning System Implementation Guide

Including the Microsoft Solution Framework as an agile method into the V-Modell XT

CHAPTER 4: REIMBURSEMENT STRATEGIES 24

Tap vs. Bottled Water

Towards a Collaboration Framework for Selection of ICT Tools

Practical Integrated Learning for Machine Element Design

The Role of Architecture in a Scaled Agile Organization - A Case Study in the Insurance Industry

Using Virtual Manipulatives to Support Teaching and Learning Mathematics

Community engagement toolkit for planning

Student User s Guide to the Project Integration Management Simulation. Based on the PMBOK Guide - 5 th edition

Implementing a tool to Support KAOS-Beta Process Model Using EPF

ECE-492 SENIOR ADVANCED DESIGN PROJECT

Designing a Rubric to Assess the Modelling Phase of Student Design Projects in Upper Year Engineering Courses

Exercise Format Benefits Drawbacks Desk check, audit or update

Welcome to the session on ACCUPLACER Policy Development. This session will touch upon common policy decisions an institution may encounter during the

Process improvement, The Agile Way! By Ben Linders Published in Methods and Tools, winter

Software Maintenance

Characterizing Mathematical Digital Literacy: A Preliminary Investigation. Todd Abel Appalachian State University

Functional requirements, non-functional requirements, and architecture should not be separated A position paper

Unit 3. Design Activity. Overview. Purpose. Profile

WORK OF LEADERS GROUP REPORT

Different Requirements Gathering Techniques and Issues. Javaria Mushtaq

On Human Computer Interaction, HCI. Dr. Saif al Zahir Electrical and Computer Engineering Department UBC

"On-board training tools for long term missions" Experiment Overview. 1. Abstract:

STABILISATION AND PROCESS IMPROVEMENT IN NAB

Science Clubs as a Vehicle to Enhance Science Teaching and Learning in Schools

Evidence for Reliability, Validity and Learning Effectiveness

DICTE PLATFORM: AN INPUT TO COLLABORATION AND KNOWLEDGE SHARING

What is PDE? Research Report. Paul Nichols

Specification of the Verity Learning Companion and Self-Assessment Tool

PCG Special Education Brief

Self Awareness, evaluation and motivation system Enhancing learning and integration and contrast ELS and NEET

The Moodle and joule 2 Teacher Toolkit

Ericsson Wallet Platform (EWP) 3.0 Training Programs. Catalog of Course Descriptions

Evaluation of Respondus LockDown Browser Online Training Program. Angela Wilson EDTECH August 4 th, 2013

Institutionen för datavetenskap. Hardware test equipment utilization measurement

CWIS 23,3. Nikolaos Avouris Human Computer Interaction Group, University of Patras, Patras, Greece

The completed proposal should be forwarded to the Chief Instructional Officer and the Academic Senate.

Team Dispersal. Some shaping ideas

Executive Guide to Simulation for Health

Registration Fee: $1490/Member, $1865/Non-member Registration Deadline: August 15, 2014 *Please see Tuition Policies on the following page

Writing Effective Program Learning Outcomes. Deborah Panter, J.D. Director of Educational Effectiveness & Assessment

Function Junction. Student Book Achieve Functional Skills in Mathematics

Activities, Exercises, Assignments Copyright 2009 Cem Kaner 1

Scott and Becky Gerdes

DIGITAL GAMING & INTERACTIVE MEDIA BACHELOR S DEGREE. Junior Year. Summer (Bridge Quarter) Fall Winter Spring GAME Credits.

THE 2016 FORUM ON ACCREDITATION August 17-18, 2016, Toronto, ON

Universal Design for Learning Lesson Plan

University of Massachusetts Lowell Graduate School of Education Program Evaluation Spring Online

M55205-Mastering Microsoft Project 2016

Drs Rachel Patrick, Emily Gray, Nikki Moodie School of Education, School of Global, Urban and Social Studies, College of Design and Social Context

ADAPTIVE PLANNING. 1 Powered by POeT Solvers Limited

The Nature of Exploratory Testing

Chapter 7 Information and Communications Technology: Platforms for Learning and Teaching

Get with the Channel Partner Program

Computer Science. Embedded systems today. Microcontroller MCR

Architecting Interaction Styles

Android App Development for Beginners

Ecology in architecture design: Testing an advanced educational path

FREE COLLEGE Can Happen to You!

Navigating in a sea of risks: MARISCO, a conservation planning method used in risk robust and ecosystem based adaptation strategies

Houghton Mifflin Online Assessment System Walkthrough Guide

Education: Integrating Parallel and Distributed Computing in Computer Science Curricula

Build on students informal understanding of sharing and proportionality to develop initial fraction concepts.

Spaces for Knowledge Generation. a framework for designing student learning environments for the future

FINAL EXAMINATION OBG4000 AUDIT June 2011 SESSION WRITTEN COMPONENT & LOGBOOK ASSESSMENT

Speech Recognition at ICSI: Broadcast News and beyond

Computer Science PhD Program Evaluation Proposal Based on Domain and Non-Domain Characteristics

PRINCE2 Practitioner Certification Exam Training - Brochure

DNV GL Joint Industry Project: Decision Support for Dynamic Barrier Management

Ministry of Education, Republic of Palau Executive Summary

Strategic Planning for Retaining Women in Undergraduate Computing

MODERNISATION OF HIGHER EDUCATION PROGRAMMES IN THE FRAMEWORK OF BOLOGNA: ECTS AND THE TUNING APPROACH

Myers-Briggs Type Indicator Team Report

COMM 210 Principals of Public Relations Loyola University Department of Communication. Course Syllabus Spring 2016

Experience Corps. Mentor Toolkit

Teacher of English. MPS/UPS Information for Applicants

Setting the Scene: ECVET and ECTS the two transfer (and accumulation) systems for education and training

APA Basics. APA Formatting. Title Page. APA Sections. Title Page. Title Page

E-learning Strategies to Support Databases Courses: a Case Study

From Virtual University to Mobile Learning on the Digital Campus: Experiences from Implementing a Notebook-University

Procedia - Social and Behavioral Sciences 154 ( 2014 )

An Introduction to Simio for Beginners

Transcription:

Exploring Adaptability Through Change Cases J.D. Baker Principal Technologist, K-LASSE, Inc and Principal Systems Engineer, APG Armstrong Process Group, Inc. www.aprocessgroup.com Change Cases 2 A mechanism for evaluating change requests or exploring the change space of a system Supported by use cases and evaluation scenarios Intended to be applied through-out the development process Page 1 Requirements Gathering Fundamentals v3.1 1

Change Case vs. ATAM Exploratory Scenario 3 ATAM Growth and Exploratory Scenario Stress an almost finished architecture Formally developed Evaluation of Change Cases Applied at any point in the development Semi-formal Categories of Change Cases - HW 4 Ports to new platforms or new hardware configurations Changes to peripherals Changes to how things are connected Page 2 Requirements Gathering Fundamentals v3.1 2

Categories of Change Cases - Stakeholders 5 New Stakeholders/Actors to support Evolving/changing interests and focus of key stakeholders http://www.betterprojects.net/2007/05/introduction-to-stakeholder-management.html Categories of Change Cases - Functionality 6 New Configurations of existing systems New functionality added to existing systems Page 3 Requirements Gathering Fundamentals v3.1 3

Categories of Change Cases Domain Changes 7 Application domain changes and new domains Temperature Air pressure Usage unintended use Content Content of the change case used in the evaluation of a system architecture or design Name one sentence describing the change Identifier unique identifier for this change case, e.g. CC17 Description sufficient detail to allow evaluation; exploratory change cases require less detail Likelihood rating of how likely change case is to occur (e.g. High, Medium, Low or %) Timeframe indication of when the change is likely to occur Potential Impact indication of how drastic the impact will be if the change occurs Source indication of where the requirement came from Notes 8 Page 4 Requirements Gathering Fundamentals v3.1 4

Evaluating the Technique 9 Structured format for evaluating the impact of a change case? One possibility is a variation on Robustness Analysis. This technique comes from some of Ivar Jacobson's early work, as elaborated by Doug Rosenberg in the ICONIX process. Emulate the analysis of growth scenarios in the SEI's Architecture Trade-off Analysis Method (ATAM). Will the development team have sufficient expertise to make this useful? Evaluating the Technique (2) 10 Thus far only the notion of use case scenario walkthroughs has been employed Still looking for a situation where I can apply the Robustness Analysis variant Much of the initial effort focused on applying change cases to evaluating requirements changes New features for an existing product were explored, with a constraint that no existing features could be removed. Requirements were then passed to the systems architecture team Page 5 Requirements Gathering Fundamentals v3.1 5

Developing the Change Cases 11 Name one sentence describing the change this took more time to get right than I had anticipated Important to get right since it helped focus the evaluation Make sure the team understands exactly what kind of change is expected Identifier unique identifier for this change case, e.g. CC17 As more change cases are added, it helps to have a unique identifier for them Developing the Change Cases (2) 12 Description sufficient detail to allow evaluation; exploratory change cases require less detail Iterative development of change cases is possible and useful The required amount of detail seems to be project specific but more work needs to be done to be certain Likelihood rating of how likely the change case is to occur (e.g. High, Medium, Low or %) Best to do this assessment early in the development The name as a sentence was enough for us to assign a value using an ATAM-like voting scheme Focused on the High-High changes Page 6 Requirements Gathering Fundamentals v3.1 6

Developing the Change Cases (3) 13 Timeframe indication of when the change is likely to occur This was addressed as the third step in our process, following Name and Likelihood Focused our efforts on the things happening soonest Potential Impact indication of how drastic the impact will be if the change occurs This turned out to be the most challenging to element to complete Developing the Change Cases (4) 14 Source indication of where the requirement came from Not all stakeholders are created equal We learned quickly where the major source of changes was Notes It seems like we always had something extra to say. Page 7 Requirements Gathering Fundamentals v3.1 7

Summary 15 Change Cases are a reasonable way to evaluate architecture requirements The systems engineering team learned the technique quickly and was able to make useful decisions With the caveat that it was only one team More work needs to be done Background 16 Change Case Analysis A while back, another architect mentioned the topic of change cases to me when we were discussing ways to evaluate software architectures. That was the first time I had ever heard the term, and I assumed it was a new technique. I filed it away as a topic to research later. Recently I was asked to provide some training on the topic of architecture evaluation and I decided to do that postponed research. The two years I spent as a Guide at About.com taught me a lot about internet searches, so I was surprised when I was unable to turn up much in the way of relevant material (if you need to change text from upper to lower case or vice versa, I can tell you where to look). The only truly relevant information was on Scott Ambler's Agile Modeling site - http://www.agilemodeling.com/artifacts/changecase.htm. The most significant thing there was a link to the book Designing Hard Software by Douglas W. Bennett (http://www.amazon.com/exec/obidos/asin/0133046192), an out of print 1997 book. The only reasonable thing for me to do was buy one of the used books available on Amazon. Bennett does a good job of identifying categories of change cases. Even if some of the specific examples seem a little out-dated, the concepts translate quite readily into problems being faced by systems under development today. What's missing is any indication of what the content of the change case should be, and how they should then be used in the evaluation of a software system architecture and design. Page 8 Requirements Gathering Fundamentals v3.1 8

Background (2) Scott Ambler offers the following as a change case template: 17 Name: (One sentence describing the change) Identifier (A unique identifier for this change case, e.g. CC17) Description (A couple of sentences or a paragraph describing the basic idea) Likelihood (Rating of how likely the change case is to occur (e.g. High, Medium, Low or %)) Timeframe (Indication of when the change is likely to occur) Potential Impact (Indication of how drastic the impact will be if the change occurs) Source (Indication of where the requirement came from) Notes Background (3) 18 That is a start on an answer to the first question - what is the content of a change case? But that content list raises a question of its own - how do we decide on the potential impact? Also, we still need to consider how we use this information. Is there a structured format for evaluating the impact of a change case? One possibility is a variation on Robustness Analysis. This technique comes from some of Ivar Jacobson's early work, as elaborated by Doug Rosenberg in the ICONIX process. In addition to the books that include this topic (http://iconixprocess.com/books/) there's an article on the ICONIX web site (http://iconixprocess.com/iconix-process/analysis-and-preliminary-design/robustnessanalysis/) and one on the Dr. Dobb's web site (http://www.ddj.com/architect/184414712). Robustness Analysis is applied to use cases in order to verify their completeness. A variation might help to identify what objects/components will need to have additional responsibilities and what new components might need to be added where it doesn't make sense to change or extend an existing component. A less structured approach might be to emulate the analysis of growth scenarios in the SEI's Architecture Trade-off Analysis Method (ATAM). SEI evaluators often talk about pulling a thread to drill down wherever it is necessary to determine whether or not the architecture will support the growth. This approach works well for the experienced evaluators at the SEI, but may be quite challenging for someone without their level of experience. My plan is to experiment with these techniques. If you have any suggestions for an alternative method, or a way to apply these two techniques, then please feel free to comment. Page 9 Requirements Gathering Fundamentals v3.1 9