manage change or it will manage you
TRANSCRIPT
-
8/7/2019 Manage Change or It Will Manage You
1/31
Manage Change or It Will Manage You!
By:Betty Luedke
Abstract: Understanding the anatomy of change and the all-too-familiar surroundingcircumstances/dynamics help us use proven approaches effectively to manage requests for change and tofacilitate product evolution.
Betty Luedke is an accomplished project manager, requirements analyst, and facilitator with 22 years
experience in the software development industry. Her broad experience in the analysis, design, anddevelopment of object-oriented, relational, and hierarchical data systems for consumer finance, engineering,and medical functions has enabled her to effectively keep the user foremost when applying requirementsmanagement (RM) best practices in real product development situations. Betty is a principal consultant forBorland where she: instructs/mentors on CaliberRM and RM processes and techniques; is certified to teachthe Karl Wiegers' course, "In Search of Excellent Requirements"; develops requirement management andchange management processes; conducts process gap analysis making recommendations forimprovements; and, develops RM implementation strategies and mentors client implementation personnel.
Before joining Borland, Betty was a senior systems consultant for The Associates providing teammanagement for project development/business analysis, a senior data architect for Burlington NorthernRailroad providing data analysis/database implementation, and a computer systems specialist for ComputerSciences Corporation (CSC) providing enterprise functional/data analysis. Betty holds a Bachelor of Sciencedegree in Mathematics/Education from Florida State University in Tallahassee, Florida with additional
coursework in Computer Science.
Manage Change OrITWill Manage You!
Betty Luedke - Borland Software Corporation
Introduction
Basic Truths
Change Happens...
Change Has An Anatomy
Request For Change =/= Requirement
A Tool Is Not A Process
Undisciplined Change Causes Inadequate Requirements/DesignArtifacts
Getting A Grip
http://gp.embarcadero.com/authors/edit/1555.aspxhttp://gp.embarcadero.com/authors/edit/1555.aspxmailto:[email protected]:[email protected]://conferences.embarcadero.com/article/32191#Introduction%23Introductionhttp://conferences.embarcadero.com/article/32191#Basic%20Truths%23Basic%20Truthshttp://conferences.embarcadero.com/article/32191#Change%20Happens%23Change%20Happenshttp://conferences.embarcadero.com/article/32191#Change%20Has%20An%20Anatomy%23Change%20Has%20An%20Anatomyhttp://conferences.embarcadero.com/article/32191#Request%20For%20Change%20=/=%20Requirement%23Request%20For%20Change%20=/=%20Requirementhttp://conferences.embarcadero.com/article/32191#Request%20For%20Change%20=/=%20Requirement%23Request%20For%20Change%20=/=%20Requirementhttp://conferences.embarcadero.com/article/32191#Request%20For%20Change%20=/=%20Requirement%23Request%20For%20Change%20=/=%20Requirementhttp://conferences.embarcadero.com/article/32191#A%20Tool%20Is%20Not%20A%20Process%23A%20Tool%20Is%20Not%20A%20Processhttp://conferences.embarcadero.com/article/32191#Undisciplined%20Change%23Undisciplined%20Changehttp://conferences.embarcadero.com/article/32191#Undisciplined%20Change%23Undisciplined%20Changehttp://conferences.embarcadero.com/article/32191#Getting%20A%20Grip%23Getting%20A%20Griphttp://gp.embarcadero.com/authors/edit/1555.aspxmailto:[email protected]://conferences.embarcadero.com/article/32191#Introduction%23Introductionhttp://conferences.embarcadero.com/article/32191#Basic%20Truths%23Basic%20Truthshttp://conferences.embarcadero.com/article/32191#Change%20Happens%23Change%20Happenshttp://conferences.embarcadero.com/article/32191#Change%20Has%20An%20Anatomy%23Change%20Has%20An%20Anatomyhttp://conferences.embarcadero.com/article/32191#Request%20For%20Change%20=/=%20Requirement%23Request%20For%20Change%20=/=%20Requirementhttp://conferences.embarcadero.com/article/32191#A%20Tool%20Is%20Not%20A%20Process%23A%20Tool%20Is%20Not%20A%20Processhttp://conferences.embarcadero.com/article/32191#Undisciplined%20Change%23Undisciplined%20Changehttp://conferences.embarcadero.com/article/32191#Undisciplined%20Change%23Undisciplined%20Changehttp://conferences.embarcadero.com/article/32191#Getting%20A%20Grip%23Getting%20A%20Grip -
8/7/2019 Manage Change or It Will Manage You
2/31
The PAIN
System Development Participants
Attitudes and Biases
Organizational Readiness/Maturity
Exploring Proven Practices
Requirements Management
Requirement Strategies
Project Management
Project Dimensions
Change Management
Change Control Process
Impact Analysis
Prioritization
Decision Matrices
Customer Input Filters
Change Control Board
'Triage' Officer
Tool Support
Moving To An Improved Change Process
Understanding...
Determining...
Implementing...
Monitoring...
Improving...
http://conferences.embarcadero.com/article/32191#The%20PAIN%23The%20PAINhttp://conferences.embarcadero.com/article/32191#The%20PAIN%23The%20PAINhttp://conferences.embarcadero.com/article/32191#Attitudes%20and%20Biases%23Attitudes%20and%20Biaseshttp://conferences.embarcadero.com/article/32191#Organizational%20Readiness/Maturity%23Organizational%20Readiness/Maturityhttp://conferences.embarcadero.com/article/32191#Exploring%20Proven%20Practices%23Exploring%20Proven%20Practiceshttp://conferences.embarcadero.com/article/32191#Environment%23Environmenthttp://conferences.embarcadero.com/article/32191#Environment%23Environmenthttp://conferences.embarcadero.com/article/32191#Process%23Processhttp://conferences.embarcadero.com/article/32191#Project%20Dimensions%23Project%20Dimensionshttp://conferences.embarcadero.com/article/32191#Participation%23Participationhttp://conferences.embarcadero.com/article/32191#Change%20Control%20Process%23Change%20Control%20Processhttp://conferences.embarcadero.com/article/32191#Impact%20Analysis%23Impact%20Analysishttp://conferences.embarcadero.com/article/32191#Prioritization%23Prioritizationhttp://conferences.embarcadero.com/article/32191#Decision%20Matrices%23Decision%20Matriceshttp://conferences.embarcadero.com/article/32191#Customer%20Input%20Filters%23Customer%20Input%20Filtershttp://conferences.embarcadero.com/article/32191#Change%20Control%20Board%23Change%20Control%20Boardhttp://conferences.embarcadero.com/article/32191#Triage%20Officer%23Triage%20Officerhttp://conferences.embarcadero.com/article/32191#Tool%20Support%23Tool%20Supporthttp://conferences.embarcadero.com/article/32191#Moving%20To%20An%20Improved%20Change%20Process%23Moving%20To%20An%20Improved%20Change%20Processhttp://conferences.embarcadero.com/article/32191#Understanding...%23Understanding...http://conferences.embarcadero.com/article/32191#Determining...%23Determining...http://conferences.embarcadero.com/article/32191#Implementing...%23Implementing...http://conferences.embarcadero.com/article/32191#Monitoring...%23Monitoring...http://conferences.embarcadero.com/article/32191#Improving...%23Improving...http://conferences.embarcadero.com/article/32191#The%20PAIN%23The%20PAINhttp://conferences.embarcadero.com/article/32191#The%20PAIN%23The%20PAINhttp://conferences.embarcadero.com/article/32191#Attitudes%20and%20Biases%23Attitudes%20and%20Biaseshttp://conferences.embarcadero.com/article/32191#Organizational%20Readiness/Maturity%23Organizational%20Readiness/Maturityhttp://conferences.embarcadero.com/article/32191#Exploring%20Proven%20Practices%23Exploring%20Proven%20Practiceshttp://conferences.embarcadero.com/article/32191#Environment%23Environmenthttp://conferences.embarcadero.com/article/32191#Environment%23Environmenthttp://conferences.embarcadero.com/article/32191#Process%23Processhttp://conferences.embarcadero.com/article/32191#Project%20Dimensions%23Project%20Dimensionshttp://conferences.embarcadero.com/article/32191#Participation%23Participationhttp://conferences.embarcadero.com/article/32191#Change%20Control%20Process%23Change%20Control%20Processhttp://conferences.embarcadero.com/article/32191#Impact%20Analysis%23Impact%20Analysishttp://conferences.embarcadero.com/article/32191#Prioritization%23Prioritizationhttp://conferences.embarcadero.com/article/32191#Decision%20Matrices%23Decision%20Matriceshttp://conferences.embarcadero.com/article/32191#Customer%20Input%20Filters%23Customer%20Input%20Filtershttp://conferences.embarcadero.com/article/32191#Change%20Control%20Board%23Change%20Control%20Boardhttp://conferences.embarcadero.com/article/32191#Triage%20Officer%23Triage%20Officerhttp://conferences.embarcadero.com/article/32191#Tool%20Support%23Tool%20Supporthttp://conferences.embarcadero.com/article/32191#Moving%20To%20An%20Improved%20Change%20Process%23Moving%20To%20An%20Improved%20Change%20Processhttp://conferences.embarcadero.com/article/32191#Understanding...%23Understanding...http://conferences.embarcadero.com/article/32191#Determining...%23Determining...http://conferences.embarcadero.com/article/32191#Implementing...%23Implementing...http://conferences.embarcadero.com/article/32191#Monitoring...%23Monitoring...http://conferences.embarcadero.com/article/32191#Improving...%23Improving... -
8/7/2019 Manage Change or It Will Manage You
3/31
Summary
References
Introduction
The premise that you must proactively "manage change orITwill manage you" is borne
out time and time again as companies, large and small, with varied system developmentenvironments struggle to be productive. Understanding the anatomy of change and the
all too familiar surrounding circumstances/dynamics will help us use proven practiceseffectively to not only manage requests for change, but to also evolve a product into
something of real value. Recognizing the circumstances in which we must manage
change (in-house/outsourced development, management positions/attitudes, environment
dynamics, natural requirement maturation/requested alteration,...) will lead usto employing approaches (requirement strategies, project dimensions, impact analysis,
prioritization, change control board, triage officer, decision matrices, ...) in a way that
makes sense.
On that note, let us explore:
Some basic truths about change
What it takes to get a grip
Some proven approaches to managing change
What it takes to improve
Basic Truths
There are some basic truths about change and they include:
Change happens...
Change has an anatomy
Request For Change =/= Requirement
A toolis not aprocess
Undisciplined change is a major cause of inadequacies inrequirement/design/test artifacts
Now, let us look at each of these basic truths in more detail to provide a foundation for effectively andproactively managing change.
Change Happens...
Change happens...
...but it is how we embrace ITthat will make the difference. Will you ignore IT? ...react to IT? ...manage IT?
Digging a little deeper brings us to the understanding that change not only happens, but ITdoes not goaway. We do not have control over this circumstance, but we do have control over how we react to IT.Approach examples abound and include:IGNORE IT
Changes happen in an ad hoc, uncontrolled way and you arelucky if things work out.
REACT to IT
http://conferences.embarcadero.com/article/32191#Summary%23Summaryhttp://conferences.embarcadero.com/article/32191#References%23Referenceshttp://conferences.embarcadero.com/article/32191#Summary%23Summaryhttp://conferences.embarcadero.com/article/32191#References%23References -
8/7/2019 Manage Change or It Will Manage You
4/31
A valiant attempt is made to accommodate the requestwithoutrealizing the full ramifications.
Each request for change is looked at individually butsometimes one request'undoes' what is requested in another.
Every request for change is considered a requirement.MANAGE IT
For each request for change :o Review requestfor understanding
o Assess requestas to:
Its business/technical value
What would have to changed/be added/bedeleted (requirements, design, code, tests,documentation,...)
What kind of effort and resources would thistake
The feasibility of the effort from theperspective of business/technical/resource/anotherrequest for change/...
o Decide whether or not to honor the request
(approved, deferred, rejected)
If approved,o Adjust schedules, funding, resources appropriately
o Make needed additions/modifications/deletions to
system artifacts (requirements, design, code, tests,documentation,...)o Test the modified system (system tests, integration
tests, user acceptance tests,...)o Deploy the modified system
So, let us look at a few good practices that might shed some light on the possible results of each. You mightuse another approach, but what is key is that you see how your approach stacks up with regards to goodpractices. It all comes down to that our approach to managing change must ensure an acceptable riskin thesituation at hand. Examining these good practices provides insight into what is acceptable risk. Forinstance, is it acceptable that the customer is not satisfied? Is it acceptable that there is not adequate time,funding, resources to complete the request? Is it acceptable that ...?
-
8/7/2019 Manage Change or It Will Manage You
5/31
Change Has An Anatomy
Change has an anatomy
The structure of change helps us understand what we need to manage change while theprocess by which we control change guides us through the steps.
STRUCTURE
o A request for change is either an enhancementor a defect
(requirement, design, code, test, ...).
Note:
-
8/7/2019 Manage Change or It Will Manage You
6/31
The term 'request for change'is intentionally used throughoutinstead of'change request'. In talking to many clients about
the topic of change, the term 'change request'was often given
a limited meaning in an organization, such as just defects orjust enhancements. We need to think about both, and simply
changing the words to 'request for change'catches the ear and
encourages a broader view of change.
o Sometimes the requestis really a demandwhich often
causes even an established change process to short circuit.
If we devise a process tomanage change, we soonrealize that this process will not
always be followed. Someonewith clout will mandate that anenhancement/modification bemade no matter what. Bringingattention to this reality is notintended to deter you fromestablishing a change controlprocess, but in fact quite theopposite. Plan for this realityby thinking about what you willdo when your well thoughtthrough process is notfollowed.
How will the potential
ramifications bemitigated?
How can you protectother develop activitycurrently in progress?
How can this type ofbehavior be avoided in the future?
Part of being prepared is not having to think through regrettable but predicable situations like this in the heatof the moment.
o A request for change can sound the death knell for a number of system
development artifacts.
-
8/7/2019 Manage Change or It Will Manage You
7/31
When a defect is found in code,do you know the root cause?
Oops!...forgot to activate the button...correct the code
An error in the design caused an error in code...correct the code/design
An error in requirements caused an error in design which caused theerror in code...correct the code/design/requirements
If these errors in the design and requirements are not corrected, then these system development artifactswill slowly but surely 'die'. To effectively manage the evolution of a product or a particular work effort(project) to enhance/fix a product, we need 'living, breathing' artifacts which tell us WHAT the product does(requirements), HOW the product works (design) and HOW we will prove that the product works as needed(tests). 'Living, breathing' artifacts are important when development is done in-house, but these artifactsbecome a primary source of communication when development is outsourced.
o There is important information that should be kept about the request for
change itself as we try to move to an improved change approach (fromoblivious ... reactive ... managed). The following illustrates the type ofinformation1 that would be appropriate to keep, but it is also important that youknow how you will use this information.
-
8/7/2019 Manage Change or It Will Manage You
8/31
PROCESS
The bad news is that we have lots of changes to deal with, but the good news is that the basic changecontrol process is the same whether you are dealing with an enhancement or defect (i.e.,propose> reviewfor understanding > assess > decide). Keep in mind that even though the change control process remainsvirtually the same, there will be differences as to:
The assessors/decision makers
What information is needed to be able to assess
The tool(s) used to capture the information about a particular type ofrequest for change
The amount of time it takes topropose> review for understanding >assess > decide ( i.e., 15 minutes or 3 weeks)
The effect of having different decision makers, different information needed, different tools used, differentamounts of time needed to assess,... can be minimized by having:
An established change control process
Change management tool, such as StarTeam, which can enforce thechange management process from a workflow perspective
Agreed on decision criteria for various stages in the systemdevelopment life cycle
Standard information that is kept about a request for change andknowing how this information will be used
Guidance on which decision makers need to be involved under whatcircumstances
-
8/7/2019 Manage Change or It Will Manage You
9/31
Request For Change =/= Requirement
It is a fatal mistake to think that a request for change is something that must be done (i.e., a requirement).Just differentiating between the two will help since just one request for change can add/modify/delete one ormore requirements, design elements, modules, tests,... It is also important to note that some requests forchange are based on a preference and some are based on NEED. Can you tell the difference?
Automatically thinking that any request for change in your product necessitates a 'go forth and do' action,definitely puts you in a reactive mode that introduces risk hidden behind "I'm just trying to make thecustomer happy". As we have seen earlier a request for change is just that--a requestto fix something or toprovide some new functionality. We would not think of altering a house without checking on the buildingcode, structural soundness, intent of use,... Why then should altering a system be any different?
If you are in a culture where a request for change =requirement, then some adjustment in how all partiesthink about a request for change is key. Start with changing the term from 'change request'to 'request forchange'because this simple change in terminology catches a person's ear and clues them into the fact thatyou may be talking about something different than the status quo. Just differentiating between a request forchange and a requirementwill help those involved realize that a single request for change can be the reasonfor the addition/modification/deletion of one or more requirements, designelements, modules, tests,...
It is also important to note that some requests for change are based on a preference and some are basedon NEED. The requests based on a preferenceare often stated vehemently but fall short when the realbusiness NEED (or lack of one) is explored. Whether your organization is a vendor who sells a product orhas multiple divisions, you face similar challenges, namely dealing with a variety of perspectives to satisfyand a seemingly endless stream of requests to manage. So, getting our minds around this situation isimportant. The following are basic to facilitating the effective management of change:
A request for change must state the business NEED, not apreference, because all requirements for our product will be based onbusiness NEED, not preference.
Customers (internal or external) are free to make requests forchange, but decisions on whether or not to honor the request will bemade according to an established process and decision criteria.
It is important to understand that a stated business NEED and an established change control process formaking change decisions are both essential to making wise change decisions. There are additionalconsiderations, however, when your organization is a vendor selling a product or a large company with
multiple divisions.
-
8/7/2019 Manage Change or It Will Manage You
10/31
ATool Is Not A Process
As Karl Wiegers clearly states3,a process is needed to manage change, but a tool is not a process! It isunderstanding how you will control change (with or without automated support) that is key. If you have atool such as StarTeam to help you manage change to system development artifacts, its configuration andworkflows should reflect your process for managing change.
Undisciplined Change Causes Inadequate Requirements/Design
ArtifactsParticularly in the case of defects, code is changed, but the root cause (incorrect/incomplete design orrequirement or test) is not fixed or even identified. This pattern of inaction causes once viable, living,breathing development artifacts to not be the representation of the product they once were. Oncerequirement or design documentation can not be trusted, we have a dying artifact on our hands. If a requestfor change is to be meaningfully assessed as to its value, impact and feasibility, it is the living, breathingrequirements, design, tests that make sound recommendations possible.
-
8/7/2019 Manage Change or It Will Manage You
11/31
The detrimental consequences of undisciplined change are not always the result of action run amok. It isoften inaction that is the silent killer. Subtle for sure, but it is sabotaging none the less when code ischanged and the requirement/design/test artifacts are not. As the credibility of these non-code artifactsheads south, the assessment of the work involved in a requested change requires more time to evaluate orworse yet relies on someone's memory. Once again, it is all about acceptable risk.
Is it acceptable to say 'yes' to a request for change without reallyknowing the ramifications?
How will you know the ramifications unless you either have 'living,breathing' requirement/design artifacts OR you once again re-analyze what the
product does?
The real key here is to have a structured way to not only create, but to also manage your developmentartifacts. This way when a change is requested, you are ready to assess and to maintain 'living, breathing'artifacts for the next time. There are a few essentials that bear mentioning:
Establish requirements strategies for requirement types, requirementtraces, requirement baselines
Establish a process for developing/managing requirements becauserequirements should be the basis for design and test
Establish a process for managing change to the system that considersrequests, makes educated decisions and provides adequate time, funding andresources if the request for change is to be honored
Establish tool support (StarTeam, CaliberRM,...) to manageversions/configurations of all system development artifacts (single requirement,set ofrequirements, analysis models, design models, code modules,products,tests,...)
Getting A Grip
Getting a grip means understanding your situation so that you will make some wise choices in implementinga change approach. Knowing your environment and its dynamics includes identifying:
The PAIN... Have you experienced rework, missed schedules, over-budgetcosts, specificity needed for outsourcing,...?
The 'right' participants to help make smart decisions...What different
perspectives need to be considered? Attitudes/biases about:
o Existing procedures...Are they robust/inadequate, followed/ignored,...?
o Requests for change...Is the answer always Sure we can?...Who the
decision makers should be?o Priorities...Does the loudest voice win?...Does preference win over
need?o Accountability...Who is responsible?...How can we make things better?
Organization readiness/maturity...Capability Maturity Model is good measuringstick.
The PAIN
Organizational PAIN may manifest itself in rework, missed schedules, over-budget costs, specificity neededfor outsourcing,... Worse case, this PAIN causes problems that must be dealt with, but best case it is thatthis PAIN stimulates attention and motivates improvement. Improving the management of change usuallyinvolves a cultural change. Speak to those who need to change their behavior in terms of something that isbothering them (PAIN). This is one way to get their attention and to approach even the reluctant.
-
8/7/2019 Manage Change or It Will Manage You
12/31
System development participants
Understanding who needs to be involved in a request for change decision comes from knowing not onlywhose artifacts will be impacted, but who will provide assistance in making a smart decision.
When various perspectives need to be considered, it is wise to have a group 'on call' to help make decisionsbased on benefit, penalty, cost and risk. In many organization this group is called a Change Control Board(CCB). Keep in mind that in one situation, the CCB may be one person and in another situation it may be anamed group of people who meet regularly to control the changes requested for a system. A more formalapproach to the CCB is advised when you are:
A vendor with multiple customers to satisfy
A company with multiple divisions to satisfy
Outsourcing your development
Working on a large project
As you might have guessed, a request for change may involve many system development artifacts or only afew. Would it be a smart thing to do to have someone 'triage' the requests...you know, have someoneinitially decide what artifact are involved and who needs to help make the decision? The concept of a 'triageofficer' who directs traffic might set the path for a requestto:
"Just change the code!"
(Nothing else but code is impacted.)
OR"Oops! We did not design/code this right because we did not understand the requirement. We needto revisit these requirements and talk with ..."
(Code/design/requirements/tests are impacted.)
Attitudes and Biases
Dealing with attitudes and biases of those who will make decisions is not an exact science. It crucial tofoster a view point larger than any one perspective. The things that can stand in the way are:
Existing procedures...Are they robust/inadequate, followed/ignored,...?
Decision about requests for change... Is the answer always Sure wecan?...Who the decision makers should be?
Priorities...Does the loudest voice win?...Does preference win overneed?
Accountability...Who is responsible? (not me)...How can we makethings better?
Here are some things to keep in mind:
Keep it factual...Stay away from "you", "us", "them",... Try "it is myunderstanding that..."
Ask for relative importance...Indicating benefit/penalty/cost/risk shouldhelp avoid the politics.
Focus on business NEED...Truly embracing the business NEED canfoster a global mindset.
Focus on the situation not the person...Saying "you" makes it personal.
If you are experiencing one or more of these hurdle, here is a technique3 for working through a stickysituation:
Define the problem
State the root cause(s)
-
8/7/2019 Manage Change or It Will Manage You
13/31
State the impact
Brainstorm on possible solution(s)
Determine the barrier(s) to the possible solutions
Actually, it is the barriers that offer the most hope. Chip away at those things that are within your control andthe situation will change.
Organizational Readiness/Maturity
An organization's readiness to manage a change to what was planned is an indicator of the organization's
maturity. The Capability Maturity Model (CMM)2 is an effective measuring stick for how capable (mature) anorganization is in handling change. At the 'repeatable' maturity level, the effective management of changepermeates a number of CMM key process areas and the associated practices, namely:
-
8/7/2019 Manage Change or It Will Manage You
14/31
-
8/7/2019 Manage Change or It Will Manage You
15/31
-
8/7/2019 Manage Change or It Will Manage You
16/31
-
8/7/2019 Manage Change or It Will Manage You
17/31
It is interesting to note that CMM focuses not only on change to a product within a project (work effort), butalso on the process that the project (work effort) follows and the technology used. Our focus for this paper,however, will remain on managing changes to a product within a project (work effort).
As CMM points out, each practice must be approached with the commitment and ability to perform. So whatcan help us set the stage. Consider the following:
Provide an environment conducive to controlling change by providing:o Trained resources
o Requirements management process
o Change control process
Follow the change control process:o Providing needed request for change information with version
controlo Reviewing a request for change for understanding
o Assessing the impact of honoring a request for change and
making a recommendationo Agreeing to WHAT is to be changed
o Adjusting schedule/budget/resources for a request for change
that is to be honored
Looking at the commitment and ability to do the above, we must ask what that really means from anorganization's perspective and from an individual's perspective.
n
Exploring Proven Practices
-
8/7/2019 Manage Change or It Will Manage You
18/31
As you explore setting up an environment that is conducive to the effective management of change,consider the following proven practices summarized below:
Requirements Management
Establish a strategy for requirement types, requirement traces andrequirement baselines
Elicit/analyze/specify/verify/validate discrete requirements organizingthem using requirement type strategy, relating them using the requirement tracestrategy and agreeing to them using the requirement baseline strategy
Project Management
Understand the project dimensions (features, quality, cost, staff,schedule)
Change Management
Establish a change control process which:o Reviews request for change for understanding (both by the
reviewers of the requestand by the project team implementing therequest)o Assesses impact and feasibility to include:
Identifying what artifacts would have to change
Using a prioritization model that ensures importanceis looked at from multiple perspectives
Using decision matrices based on the project'sposition in system development life cycle
Using customer input filters to help vendors andorganizations with multiple divisions stay in control of theirproducts
o Makes timely, informed request for change decisions
o Ensures that appropriate modifications to schedule, budget
and resources are made if the request for change is to be honored
Ensure appropriate participation in the change control process by:o Establishing a change control board to make decisions that
require multiple perspectiveso Establishing a triage officer to route a request for change
appropriately
Let us explore each of these areas to see more specifically the practices available to help us managechange effectively.
Requirements Management
The effective development and management of requirements lays the foundation for effective changecontrol. It is important to plan:
How requirements will be organized? (requirementtype strategy)
How various types of requirements are related?(requirement trace strategy)
How/when agreements about requirements will berecorded? (requirement baseline strategy)
It is equally important to actually use these strategies to help stabilize your project by:
Eliciting/analyzing/specifying/validating discrete requirements
-
8/7/2019 Manage Change or It Will Manage You
19/31
Organizing them using requirement types
Relating them using the requirement traces
Agreeing to a set of requirements and documenting thisagreement using a requirement baseline
Requirement Strategies1
The Requirements Roadmap below graphically illustrates a suggested:
Requirement type strategy
Requirement trace strategy
Requirement baseline strategy
Project Management
Truly understanding a project's situation is multi-dimensional. We need to understand whether each of thefollowing project dimensions is a driver, constraint or offers a degree of freedom:
Features
Quality
Cost
Staff
Schedule
-
8/7/2019 Manage Change or It Will Manage You
20/31
Project Dimensions3
Every project situation is different, but filling out a chart like the example below can provide insight not onlyto project direction, but also to decisions regarding change.
There will always be trade-offs when making decisions about requirements, design and the changesrequestedto WHAT (requirements) is being built or HOW (design) the system will support the user. It will beimportant to factor in the project dimensions into decisions about requests for change.
Change Management
Effective management of change requires a process, techniques and tool support. To gain a betterunderstanding of exactly what it takes to be effective here, we will look at:
Change control process
Impact analysis
Prioritization
Decision matrices
Customer input filters
Change control board
'Triage' officer
Tool support
Change Control Process
The change control process below is an example of the steps needed to manage change. It will, however,only be a effective as the techniques used, the person(s) performing the task and the tool support provided.The practices and techniques discussed in the sections below are aimed at doing a good job of assessing
-
8/7/2019 Manage Change or It Will Manage You
21/31
impact/value/feasibility of honoring a particularrequest for change. As indicated in the change controlprocess below the Borland ALM Suite offers excellent coverage.
A request for change has a number of states. It is helpful to define these states and use a state transitiondiagram (example below) to show how these states are related. StarTeam workflows can help manage thetransition from one state to another.
-
8/7/2019 Manage Change or It Will Manage You
22/31
Impact Analysis
The whole point of doing an impact analysis is to facilitate effective change decisions so that your projectteam or your customer will not be sorry later about a change that was made or not made. Knowing whatartifacts (code, design, requirements, test,...) will need to be developed/modified (if this request for change ishonored) is important information in making smart change decisions. If you have established andmaintained a trace strategy not only for requirements but for those artifacts related to requirements (design,code, tests,...), you will have tremendous insight into what artifacts could be affected. Just determining whatartifacts might be affected (important as that is) is not enough. Just because you know how to comply with a
request for change does not mean your team should do it. As we look at prioritization, we will focus onbenefits, penalties, cost and risk--all of which help us determine whether or not a requested feature is whatwe want to recommend.
Prioritization
-
8/7/2019 Manage Change or It Will Manage You
23/31
The whole point of prioritization is to facilitate effective change decisions so that your project team or yourcustomer will not be sorry later about a change that was made or not made. Prioritization is all aboutdetermining relative importance when considering multiple perspectives. No matter what prioritizationmethod you use, you want it to based on something more than preference. Often times a scale of 'high','medium', 'low' is used, but this scale is of little or no help when everything is 'high' (or worse yet 'higherthan high' or 'highest of the highs'). A scale like 'must have', 'should have', 'nice to have' is clearer and canhelp distinguish between real NEEDs and wants/preferences.
Since there are so many things to consider when deciding what is most important, let us explore yet another
way to state relative importance. The prioritization model3 presented below considers the value
(benefit/penalty), cost and risk for each feature. This technique should be used initially during requirementsdevelopment, but this information will come in very handy when making decisions about requested changes.
The benefit, penalty, cost and risk are each rated on a relative scale of 1-9. Then formulae are used todetermine the VALUE %, COST% and RISK% and ultimately the PRIORITY. Let us take this one step at atime. For each feature:
1. Assign Benefit and Penalty using a range from 1-9.Add across for Relative Value (e.g., Feature 1 Relative Valueis 14) and down for Relative Value TOTAL (i.e. Feature 1Relative Value TOTAL is 40).
2. Calculate the VALUE % by dividing the Relative Valueby the Relative Value TOTAL and converting to a percentage(e.g., divide the Feature 1's Relative Value of 14 by theRelative Value TOTAL of 40 and convert to a percentageobtaining 35%).
3. Assign the Relative Cost and Relative Risk using a range from 1-9.
-
8/7/2019 Manage Change or It Will Manage You
24/31
When assigning Relative Cost consider the time it takes to:
o Fully refine requirements and review them
o Design and review user interface, architecture, algorithms,...
o Build and evaluate a prototype
o Code, review code, rework, unit test, rework, document
o Integrate with rest of product, test, rework
o Develop and execute system tests, rework
o Provide program documentation
o Conduct support activities (configuration management, quality assurance, publications,...)
o ...
4. Calculate the COST % by dividing the Relative Cost by the Relative Cost TOTAL (e.g., divide theFeature 1's Relative Cost of 3 by the Relative Cost TOTAL of 20 and convert to a percentage obtaining15%).
5. Calculate the RISK % by dividing the Relative Risk by the Relative Risk TOTAL (e.g., divide theFeature 1's Relative Risk of 2 by the Relative Risk TOTAL of 18 and convert to a percentage obtaining13%). .
6. Calculate the PRIORITYby dividing the VALUE % by the sum of the COST % plus the RISK %
(e.g., VALUE % which is for Feature 1 35 = 1.25)(COST % + RISK %) (15 + 13)
Now, sort the features by their PRIORITY. This should not only tell you what to work on first, but it shouldalso help in making change decisions.
Decision Matrices
The whole point of using decision matrices is to facilitate effective change decisions so that your projectteam or your customer will not be sorry later about a change that was made or not made. As a project team
-
8/7/2019 Manage Change or It Will Manage You
25/31
moves through the phase of system development, change will be requested. The criteria by which changedecision should be made will be different depending on the phase in which the project is currently. Forinstance, if a project team is just beginning to gather requirements and a new requirement comes to light, itis 'no big deal'. If that same new requirement came to light at the beginning of system testing, it would be 'aBIG deal'. This is all very confusing to the customer who wonders why you say 'yes' sometimes and 'no'other times. If you establish decision criteria for the various stages in your project life cycle, the criteriashould guide choices and help you set customer expectations appropriately. Why not talk to your customerup front about the very predicable decisions that will be made just because of where your project is in the lifecycle.
The decision matrix below is an example of simple criteria used to guide decisions for a project that isreplacing an existing system and is in the early stages of integration testing. Note that the WAIT does notmean 'wait to implement', it means 'wait to even look at the request'!
-
8/7/2019 Manage Change or It Will Manage You
26/31
-
8/7/2019 Manage Change or It Will Manage You
27/31
Customer Input Filters
The whole point of using input filters is to facilitate effective change decisions so that your project team oryour customer will not be sorry later about a change that was made or not made. Let us 'start with the endin mind'. If we want a product that will meet the needs of multiple groups (vendor selling industry-leadingsoftware, company with multiple division,...), then we need a 'global mindset'--one that focuses on thebusiness NEED not the preference of a particular group. So, how do you get people to think that
way? Setting expectations is at least part of the answer. When a focus group is formed to explore new (orold) territory, make sure that the participants know that their input does not constitute requirements, theirinput will be taken under advisement as a request for change. If you share the goals of your product(whether it is to be sold commercially or it is to be used by different divisions), and provide this as thecontext for receiving information from your customers, then their comments/requests will be more alignedwith your purpose. From the beginning, talk about trade-offs (difficult decisions) that will predictably have tobe made and the value of their input in making these important decisions.
If you are a vendor company, you might appeal to selected customers by asking them to invest in the 'nextstep' for their industry. The payoff for them is being recognized as forward-thinking company that is settingthe pace for the industry (using your product, of course). A vendor company, however, must remain incontrol of its product's destiny for we all know what happens to products owned by a 'committee'.
If you are a large company with many divisions all trying to work together, you might use the company's
bottom-line reason for existence (profit, customer service,...). Usually most employees in a large companyare not very close to the bottom-line. Therefore it is vital to make them aware that the inconsistency betweendivisions causes redundant work, say in Accounting, and that extra work (and foul ups) cost the company,and these costs reduce profits on which bonuses are paid or research is funded. The real payoff though isnot the extra bonus that might come, but the shift from an 'us vs. them' environment to an 'our' environment.
Change Control Board
The whole point of using a change control board is to facilitate effective change decisions so that yourproject team or your customer will not be sorry later about a change that was made or not made. Thisapproach involves getting the right people involved in the right way at the right time. On smaller projects,
the change control board (CCB) may be the project manager who takes the responsibility for:
Understanding a request for change
Assessing its value/impact/feasibility by drawing on the expertise of others where necessary
Making a timely decision
Ensuring that schedules/budget/resources are modified appropriately if the requestis to behonored
On larger projects, a group of people who represent different perspectives needs to be identified and madepositively accountable for decisions regarding requests for change. The members of this group mightrepresent development, customer, project management, testing, and any other group that will be key inmaking smart decisions. Now, the challenge is to not have 'casts of thousands'. One approach is to chooseparticipants wisely having multiple perspectives represented by one person. The trick here is to find thosewho can credibly represent these perspectives. It may not be as difficult as you might think if the people inyour organization are somewhat mobile. Remember that the members do not need to be totallyknowledgeable about everything, but they do need to know when to seek expert advice.
For a CCB to be successful, they need to have the authority to make binding decisions and be establishedby a CCB charter stating the group's purpose, scope of authority, membership, decision making process,...
The CCB is charged3 to:
Determine the system artifacts that could be affected (Here is where the trace information will bevery helpful.)
-
8/7/2019 Manage Change or It Will Manage You
28/31
Understand the implications of making the requested changeo Will the change affect quality attributes (performance,...)?
o Is the change technically feasible? ...feasible with regards to schedule, cost, resources?
o Will the change overload computer resources for development, test or host environment?
o Will completed work have to be discarded?
o Does the change violate any business rules?
o Does the change affect other tasks orrequests for change?
Identify tasks needed to accomplish the requested change and then:o Estimate total labor hours for all tasks to:
Create/modify design, code, tests, user interface, database, reports,... Develop/evaluate prototype
Review...rework
Retesto Allocate resources to the identified tasks
o Sequence tasks identifying predecessors
o Determine if the change is on the project's critical path
o Estimate the schedule and cost impact for this request for change to be implemented
n
n n
'Triage' Officer
The whole point of using a 'triage' officer is to facilitate effective change decisions so that your project teamor your customer will not be sorry later about a change that was made or not made. One of the things thatwill sabotage a well-intentioned CCB effort is having all these highly sought after people (with other jobs ontheir plates) meet routinely to talk about trivial requests for change. So, how can this be avoided? Havesomeone to review and route the requests for change appropriately. In other words, 'triage' the steadystream ofrequests for change. Defects that only involve something that was not coded correctly can godirectly to the developer if there are not design or requirement implications. A request for change whichenhances the system and affects a number of business areas as well as requires data from several sourcesshould go to the CCB. A 'triage' officer does minimal research to facilitate the routing of a request forchange to the developer for action or to the CCB for consideration. A 'triage' officer can, at an acceptable
risk, speed up your process by appropriately routing requests for change.
Tool Support
Once again, a tool is nota process! At best, a tool to help manage request for changes will make youefficient, but it is the change control process and the people performing this process that will make youeffective. Whether you use Excel or a configuration management tool such as StarTeam, yourimplementation will only be as good as the process you implement and the discipline you have to follow theprocess. In your tool selection, it is important to insist on the ability to:
Capture each request for change discretely and keeppertinent information about the request(status, source,...)
Relate each request for change to affected artifacts(anotherrequest for change, requirements, design, code,tests,...)
Support a collaborative environment in which related'discussions' and related information can be recorded
-
8/7/2019 Manage Change or It Will Manage You
29/31
Moving To An Improved Change Process
Moving to an improved change process means:
Understanding...
The nature of change
Possible approaches to managing change
Your environment (its people, its practices, its biases, its PAIN, itstechnology, its current metrics,...)
Possible tool options and how well they fit the requirements for yourchange control process
Determining...
A change process that is appropriate for your environment
Participants in the change control process
Criteria by which decisions will be made
Accountability for successful management of change
How the change control process will be introduced
What tool support will be provided (StarTeam, CaliberRM,...)
Implementing...
The agreed to change control process with adequate training and toolsupport (StarTeam, CaliberRM,...)
Information capture that will provide insight into productivity, quality,...
Monitoring...
Gains in productivity/quality/...
The change control process/tool support for needed improvements
Improving...
The change control process/tool support as needed
Getting started is the hardest part. Let us look at W. E. Deming's quality circle4 as a model for improvement.
-
8/7/2019 Manage Change or It Will Manage You
30/31
Now, let us see how our understanding, determining, implementing, monitoring and improving fit withDeming's respected and proven model for improvement.
Summary
-
8/7/2019 Manage Change or It Will Manage You
31/31
'Managing change so ITdoes not manage you' is about:
Learning some basicso Change happens...
o Change has an anatomy
o Request For Change =/= Requirement
o A tool is not a process
o Undisciplined change causes inadequate requirement/design artifacts
Getting a grip on:o The PAIN
o System development participants (business, analysts, development,
testing,...)o Attitudes and biases
o Organizational readiness/maturity
Putting some proven practices in motion, such as:o Requirement strategies for requirement types, requirement traces,
requirement baselineso Project dimensions of features, quality, cost, schedule, resources seen
as a driver, constraint or a degree of freedomo Change control process/request for change states
o Impact analysis
o Prioritization
o Decision matrices
o Customer input filterso Change control board
o 'Triage' officer
o Tool support
Being prepared to improve byo Understanding the nature of change and the possible approaches for
managing change in your environmento Determining a change control process/tool support and sticking with it
o Implementing an agreed to change control process/tool
o Monitoring execution of the change control process to identify problem
areas
Doing IT!o Improving by modifying the change control process as needed