This action might not be possible to undo. Are you sure you want to continue?
Ravi Soundararajan, 862/4, 64th street, 10th sector, K.K. Nagar, Chennai-78, Tamil Nadu, India. Phone :-044-24722898 e-mail : email@example.com
Managing Requirements Stability in a software projec t is a science and art with numerous challenges.This is a key factor in ensuring successful completion of software projects on time, with good quality and within budget.Proactive prediction and on-going management of Requirements Stability levels with suitable corrective actions is very vital for managers to have control on the project and ensure success of project. Objective of this paper is to describe use of advanced predictive process control techniques for effective management of requirement stability. This paper deals with predicting Requirements Stability, measuring Voice of process, based on which a control wizard suggests suitable corrective actions. Over and above this the paper also prescribes how to proactively handle external disturbing factors and mitigate them.Paper also touches upon a tool developed for implementation of the model.Interdiscplinary concepts like applied statistics,six sigma, industrial process control are applied in this paper.
PV TV AXN value) Td action
Process variable (Requirement Stability Index in our case) Target Value (Desired value of process variable) Action to be taken (for the process variable to catch up Desired Time taken for a change in the process variable in response to an Time constant (Time taken for reaching 63% of steady state Current Process value - Target value (PV – TV) Requirement Stability Index
value) Error RSI
Despite the availability of many SDLC methodologies/models, there is always a requirement creep, due to the increasing challenges. Changing requirements causes problems in many ways, for instance code patches are difficult to maintain, insertion of code affects cohesion and coupling, also the Architecture can slowly crumble.As part of our quest for continuous improvement we get improvised models for managing requirements over a period. This model in addition to providing early signals of warning, also prescribes a guideline for taking timely and appropriate actions well in advance, to control requirement stability. It makes possible to effectively manage the cost,schedule and quality of software projects by proactively monitoring and controlling requirement stability levels.
2. STATEMENT OF THE PROBLEM - BACKGROUND
Managing the Requirement Stability levels and thus assuring good product quality levels on time and within budget is a science and art with numerous challenges. Proactive prediction of Requirement Stability levels and taking appropriate corrective and preventive actions in early stage/phase of Software Development helps managers to have tight control over the project and thus a better say on product quality. The objective of this paper is to briefly explain the use of some advanced process control techniques for improving software processes. The paper also describes the various challenges faced in applying the advanced predictive control techniques in software environment, how they were tackled and the results of application. The paper also illustrates the benefits, potential benefits and lessons learnt in implementation. This paper introduces a new advanced Predictive the process, based on which suitable level of control actions are suggested. The algorithmic control Control Model for deployment in software Requirement Stability management. The objective of this model is not only limited to predicting the Requirement Stability levels, but also to measure the voice of paper.The paper also touches upon the tool developed for easy implementation of the model. approach ensures effective control of the situation. This model helps to make the art of Requirement management more scientific. Interdisciplinary concepts and techniques like applied statistics, industrial process control, six sigma, non-linear dynamics, mathematical expectations are applied in this
3. SOLUTION - Predictive Requirement Stability Control Model
Following are the steps involved in the model:-
3.1 Design of Proactive predictor for Requirement Stability:- This is about arriving at a
predictor equation for the Requirement Stability using the Best practice of Boiler efficiency calculation technique
3.2 Determine the Voice of the Process :- This is about Quantification; ie measuring the
efficiency,capability of process in response to action taken. 3.3 Control Wizard design :- This is about determining the settings of the control wizard, which recommends appropriate level of actions, getting a Algorithm-advised Corrective Actions. 3.4 Tuning Control Wizard :-This is about periodically studying the voice of process and adjust the settings of the control wizard accordingly.
3.5 Use of Tool :- Brief mention about the tool used to deploy the advanced predictive control
3.1 Design of Proactive predictor for Requirement Stability
First challenge was in arriving at a suitable model for predicting the requirement stability. This needs to be designed by indepth study of the problem variable.Based on the process expertise and data collected the factors that influence requirement stability are arrived at. Now how to relate them to the requirement stability? The idea of designing the predictor model is inherited from the best practice in manufacturing of “Boiler Efficiency calculation by Heat Loss method”. Here the efficiency of boiler is assumed as 100% to start with and various losses like radiation loss, combustion loss are subtracted from 100% and finally Boiler Efficiency is arrived at. Similarly the Requirement stability is assumed as 100% to start with and various losses in Requirement stability due to non-execution/inadequate execution of vital activities are subtracted from 100% and finally predicted requirement stability is arrived at. Some of the criteria used are • All User classes,Subject Matter Experts,Customer IT personnel identified and they had contributed to Requirements Domain expertise of Requirement elicitor(able to speak customer lingo,thorough
• • • •
understanding of customer's business)
If reverse engineered, our understanding of existing application is approved by customer,customer's likes and dislikes of existing system captured Boundary of System(in scope/ out of scope) clearly defined User spent enough time in providing,clarifying Requirements Requirements ratification process is exhaustive( Presented,Discussed and agreed by end users,customer-IT,Subject Matter Experts and Business Decision maker)
Quality of inputs/modes of communication used for requirement gathering is adequate(discussed with user classes in addition to mails,chats etc, walked through documents of existing system )
Thus, Requirement Stability Index (0 – 100%, higher the better) is RSI = 100 +w1 C1 + w2 C2+w3C3 + ….+wNC N where , C 1, C 2…. C N are various criteria; w1, w2….wN are individual weightages of each criterion ;
the magnitude and sign (+ or -) of w1C1 ……. wNC N depends on the criticality and impact of the criteria on Requirement stability
The weightage factors are arrived at by brainstorming with a set of Subject matter experts in Requirements Elicitation and Management. After designing the predictor, the possible % of error introduced is determined by calibration and Gage R&R techniques.
3.2 Determine Voice of the Process.
Here the behaviour of the Requirement Management process at stable operating conditions is extensively studied. This is done by design of following experiment :-
1. Introduce a change in action( say train the requirement elicitor to enhance the skill levels) and plot a graph of the response of process variable(RSI). Find out if there is a very delayed response(very slow process). OR a Very quick response to change in actions(quick reaction process).
2. Measure the following change in RSI = = (y2 - y1) = (u2 - u1)
change in input action( knowledge level of Requirement Elicitor)= The steady-state process gain =
The time delay, Td (Time taken for a change RSI in response to change in action) The time constant, Ts(Time taken for reaching 63% of steady state value) Above details are the Voice of the Process, which gives the measure of process ability and are used in control wizard design. Figure 1 (below) shows the graphical representation of Voice of the Process
3.3 Control Wizard Design :The control WIZARD guides us to decide on whether to take action OR not, if so at what levels, depending on the variation of current Process value from the Target value. This wizard is a action/corrective action determiner. This also depends on voice of the process. The term (Current Process value - Target value) is known as error. The control wizard prescribes corrective actions based on the magnitude of error & the nature of process.The Wizard is guided by the following mathematical model for determining the Extent of corrective action,
Extent of Action = ( commensurate component + continuum component +impulsive component ) Extent of Action = (a * error) + (b * integral of error) +( c * derivative of error)
Where a – is a constant whose value is determined by the extent of action required based on magnitude of error (high value of “a” means stronger actions proportional to the magnitude of error )
b - is a constant whose value is determined by the rate at which extent of action is to be
changed(high value of “b” means quicker change in the extent of actions(by fixed increments) based on the value of error ). continuum component will never rest till error is zero, it gradually changes level of action at a rate demanded by value of “b”.
c - is a constant whose value is determined by the quickness of escalatory actions required.(high value of “c” means stronger escalatory actions based on the magnitude of error )
Based on the mathematical model the control wizard decides on the extent of action to be taken(in the scale of 0 to 100%). Next step is to find what kind of actions corresponds to each of the values in the scale of 0 to 100%. This can be derived by writing a detailed Action Matrix consisting of various types of actions to be taken with clear definition of the extent of rigour of each action item. Some of the actions are like conducting a Formal Inspection, Writing Test Plans for requirements,Raising various queries and followups, conducting a work out session with customer User classes,Subject Matter Expers,Customer IT personnel etc. We can also use the weighted sum of effort spent by resources at various levels(PL,PM,DM,SQA,BUH) to arrive at suitable actions, alternatively, a simpler grading approach can be used as below 0 % - No action required 20 % - PL intervention required 40 % - PM intervention required 60 % - DM intervention required 80 % - SQA/External Team intervention required 100 % - BUH intervention required
Importantly, by looking at the projected Requirement Stability Index, managers can focus more on variables that have higher impact(positive or negative) on RSI
Figure 2(above) shows action of commensurate component
3(above) action continuum component
Figure shows of
Figure 4(above) shows action of impulsive component Figure 5(below) shows that Total action is sum of of commensurate, continuum and impulsive components
Determi ning the values of a,b &c :From the values of Ts, Td, a,bc, is given by
a (1.2 Ts ) / (Td )
b 2.0 Td
c 0.5 Td
After determining the wizard settings, start using the same for determining optimum level of action. If the process is quick, ie for a given change in action, the change in RSI is quick, then continuum component of action is alone adequate, which will continuosly track the error and change the action levels at a rate determined by constant “b”. Beware, applying impulsive component to such quick processes will destabilize the process. That is applying escalatory actions to a responsive process will not only be a waste of effort from senior management, but also the process will destabilise Alternatively, if the process is very slow, then impulsive component should be in action, the extent of escalation determined by constant “c”. Once the process control guided by the Wizard starts, then the health of the process can be determined by monitoring the same against the High alarm value (the process variable increasing beyond this value is undesirable) & Low alarm value (the process variable decreasing beyond this value is undesirable). In some critical cases Show stopper Very High alarm value & Show stopper Very Low alarm value are also used, crossing which is highly undesirable. Senior Management is immediately notified if the process value exceeds Show stopper alarm values.
3.4 Tuning the Wizard constants:Over a period of time, under stable conditions the Requirement management process matures and the process efficiency and behaviour improves. Also in some cases the process characteristics changes. Hence the value of wizard constants a,b,c needs to be periodically tuned to get the optimum level of actions as per the latest voice of the process.Depending on the behaviour trends of process variable, the periodicity of tuning varies.
3.5 Use of tool - Application of the model in a project.
A simple VB based tool was developed to help managers to implement this model.By entering ratings against various criteria the predicted Requirement Stability Index was calculated. Figure 6(below) shows a screen shot of the Predictor screen of the tool .
Figure 7(below) shows a screen shot of the Controller screen of the tool . By entering Ts,Td,delta y, delta u, the
recommended control action level is calculated.
The controller compares the predicted RSI against the target value of 90% and recommends that “PM Intervention Required” for controlling the process, ie bringing RSI close to target value of 90%. The Project Manager acted based on this input and looked at the weak areas and took following actions :• Contacted the Project champion (from customer side) and requested his help and took actions to ensure that all User classes,Subject Matter Experts,Customer IT personnel had contributed to Requirements and all users spent enough time in providing,clarifying Requirements With the help of Project champion (from customer side) a workout session with 3rd party vendor and customer IT personnel was arranged and ensured adequate understanding of External dependencies,external/3rd party vendor interface.During the work out session,Boundary of System(in scope/ out of scope) was clearly defined.Conducted series of meetings with all user classes in addition to mails,chats etc, walked through documents of existing system A formal inspection was conducted participated by end users,customerIT,Subject Matter Experts and Business Decision maker as part of Requirements ratification process. Clarified project’s complex logic/calculations, Quality Function Deployment (QFD) was rigorously used which helped in understanding priorities of customer needs and converting the customer needs to actionable specs.(CTQ characteristics).All Non-functional requirements(FURPS)
was clearly defined with quantified goals.Performance,behaviour and other operational characterisitcs well documented • After all these actions, the tool was used again and showed an increase in projected RSI TO 87%. Figure 8(below) shows a screen shot of the predictor post corrective actions
This had resulted in :• • • • • • • • • 25 % Rework effort savings Defect Removal Efficiency- 98% Very few defects slipped to onsite/client Surpassed the customer SLAs On Time Delivery First Time Right Raving Customer Satisfaction Rating of 4.8 out of 5 Won the Maintenance contract for the application Repeat Business - Won 2 more crucial projects in the account
RESULT - User Feedback :• • • • Following are the comments from various users of the model:“Effective Early warning system” “Provides Expert Quality Advice on who needs to act, when to act, How long to act, oversight levels needed to control Requirements Management.” “Model at a high level of management maturity” “Gives me High confidence level in meeting quality,cost,schedule targets,CTQs, SLAs and customer expectations ” “I wish I had this tool for my last project also.” “Going forward all my Projects will be Kicked-off with the Requirement Stability predictor tool only”
Limitations/Improvement Opportunities :• Ratings for some criteria have a subjective component. This is Mitigated by Providing Clear, well defined guidelines for administering the ratings.Gage R&R and Audit exercises are periodically conducted Look and feel of Tool to be improved. Tool to have graphs/trends Tool to be web-enabled
• • •
Continuous improvement of model involving users
Road Ahead :• • Integrate the Requirement Stability predictor tool with the Project Management Tool Extend the Model to Other Areas
• Based on above details it is evident that promising results were found after applying this model in projects. According to the project managers predicting value of Requirement Stability upfront,measuring the voice of process and the expert system’s advise on suitable level of control actions, has helped him to more effectively and efficiently control the Requirement Management, there by achieving a better quality within cost and schedule budget.The model was found very useful for taking appropriate decisions on the Requirement Management aspects of the project at correct juncture.. This helps to end up a good amount of savings in fire fighting rework efforts and hence cost savings. Thus enhances product quality, customer satisfaction and profitability overall
REFERENCE :• • • Mastering the Requirements Process : Contemporary Decision Making, by Suzanne Robertson, James Robertson.- Indian reprint 2000 Software Requirements , by Karl.E.Wiegers 1999 www.chemeng.ed.ac.uk/ecosse/control/map/ZN/opennotes.html