You are on page 1of 6

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/233529733

Software Risk Identification and Mitigation in Incremental Model

Conference Paper · December 2009


DOI: 10.1109/ICIMT.2009.104

CITATIONS READS
14 384

3 authors:

Basit Shahzad Ihsan Ullah


National University of Modern Languages Technological University Dublin - City Campus
79 PUBLICATIONS   533 CITATIONS    39 PUBLICATIONS   186 CITATIONS   

SEE PROFILE SEE PROFILE

Naveed Khan
Ulster University
24 PUBLICATIONS   58 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

IEEE Access Special Issue View project

International Research Group (IRG) - Security and Trust Management Schemes for Cognitive & Intelligent Communication View project

All content following this page was uploaded by Ihsan Ullah on 11 February 2014.

The user has requested enhancement of the downloaded file.


2009 International Conference on Information and Multimedia Technology

Software Risk Identification and Mitigation in Incremental Model

Basit Shahzad
Department of Computer Science
King Saud University
Riyadh, KSA
Basit.shahzad@gmail.com

Ihsan Ullah Naveed Khan


Department of Computer Science Department of Computer Science
King Saud University King Saud University
Riyadh, KSA Riyadh, KSA
ih_afridi@hotmail.com Naveed283@gmail.com

Abstract—Software risk are hard to find and harder to manage. Following measures are proposed to either avoid or militate
This paper focuses on the identification of software risk in against this risk factor.
incremental model of software development. A thorough Taking in to consideration the disability of mentioning all
handling and avoidance strategy is proposed for the the requirements at one time it is proposed that both teams
identification of risk factors when the incremental model is can come to a conclusion to determine that how much the
used for software development. The risk factors identified may project can change over a specific period of time and also the
also exist in other software development processes but there broader outlines of the software may also be determined.
existence in incremental model is not only obvious and justified, The development team must clarify that the changes
and hence, have been discussed for avoidance and mitigation.
disturbing the architecture of the system will only be done on
additional payment.
I. INTRODUCTION The requirement provider/customer should have adequate
knowledge of the domain and should be able to describe
Software risk management has proven its importance by about his requirements about the software.
attracting a huge attention in the last decade. In order to help The customer and development team must insure the
the software industry to succeed in the projects, the usage of Facilitated Application Specification Technique
researchers have devoted their efforts to investigate the risk (FAST) / Joint Application Development (JAD). The usage
factors that have the impact on software development life of FAST/JAD helps in identifying requirements about the
cycle. Huge contribution in this domain has been made by system under consideration.
identifying the relative impact ratio technique of risk The customer must allow the development team to have a
management [5] and also many others have worked in the flexible schedule if the requirements are expected to change
area of software risk management by using the waterfall during the SDLC.
model. In the proceeding sections of the paper 26 risk factors,
specially related to incremental model of software B. Project size estimation
development have been identified and discussed. The experienced professionals, available in the
development firm can help in identifying the actual scope of
II. RISK IDENTIFICATION AND MITIGATION
the project and ensure that it is not under estimated. [1].At
In the proceeding subsections, we discuss the risk factors the same time the capabilities of the development team must
identified by literature survey and the mitigation strategies not be over estimated.
are also proposed. The availability of reusable code must be adequately
estimated to ensure the smooth working of SDLC.
A. Few Requirement Description
Software size estimation tools/matrices may be used to
It has been observed through experience that the determine the exact scope of the project.
customer is unable to describe all the requirements in the The development team may find itself unable to scrub the
beginning of the project. As a consequence the requirements requirements [12] once they have been finalized by both
keep on originating during the software developing process sides.
as well. The studies show that even learned customer can not
explicitly mention more than 60% of requirement before the C. Project Funding Uncertainty
project starts [1,2]. This risk factor can have a very high The in-time development would ensure that the
impact on the Software Development Life Cycle (SDLC). development team is not required to beg any favors from the

978-0-7695-3922-5/09 $26.00 © 2009 IEEE 366


DOI 10.1109/ICIMT.2009.104
customers, neither in terms of time nor in terms of The employer depending on its available resources may
requirements scrubbing [12]. arrange tri-annually or biannually family gatherings.
The development team may wish to have adequate The employee must be provided with the over time if the
commitments from the funding agencies in the beginning of organization is using his services for extra time.
the projects so that the development team does not face any The employees must be allowed to use his extra time in
financial circumstances in case the customer plans to with consultancy, teaching, etc. if his job is not disturbed.
draw from the project at a latter stage.
F. Change in working circumstances by management
The development team must try to maintain cordial
relations with the customer. In order to cope with dynamic problems, the manager has
The customer must be updated continuously about the to change the circumstances of the project under
achievement and problems being faced at any point in time consideration. A good manager must insure that maximum
and the development team must provide a helping picture of requirements are gathered before project starts.
the project so that the customer may know about the In extreme circumstances, with out the will of the
development of the project and can continue funding for the employee, the manager should not force him to work for
project. more than his designated time. The work by force doesn’t
yield a product and rather costs for nothing.
D. Staff Inexperience Before assigning a new project the employer must ask
Organization must not miss an opportunity to hire an the employee about his availability throughout the duration
experienced person only for the sake of saving money, in of the project. The project must only be assigned to the
contrast the experienced person can help in returning much employees who are available for the life time of the project.
more revenues then being incurred on him. The role definition for each individual should be clear
The organizations must arrange seminars in the reputed and precise to show the management about the schedule of
universities/institutions in order to hire potential graduates every individual.
from the universities.
G. Staff Inexperience
The organization may arrange biweekly or monthly visits
of the reputed professionals from within the country or even The employees must be restricted for not taking out the
from the world (if resources allow). code / official documents out side the office to ensure that
The firm must arrange the programming tutorials about documents are not unlawfully transferred to the outside
the latest developments in the development environment. environment. The back up of data must be taken on daily
The employees must be provided short trainings and basis and at multiple sites. The organization may deploy the
meetings to share their thoughts with experienced recovery engineers.
professional and learn from them in a practical manner [3] The organization may opt to use the backup monitoring
system to ensure that backups are taken regularly and
E. Rapid Change Of Job
updates are made on daily basis.
The employees must be trusted and provided adequate Proper backup systems for power shortage should be
training so that they don’t think of changing the job just arranged so that no problem is caused due to electricity
because of stressful and less motivated environment. failures.
The organization must ensure that the experienced people The employees may be provided with the electronic
do not leave the organization by offering attractive perk and entrance cards and biometric identification may be used in
privileges to the employees which may include bonuses order to restrict any unlawful entry in to the organization.
housing allowance, medical allowance etc. Organization must have fire alarm to report smoke or fire
A uniform grading system may be implemented in the building.
organization wide for providing extra benefits [9]. The organization must follow some process model
The organization may opt to originate loans schemes to depending on the need and specialty of the organization. This
the employees in order to facilitate them in any will help in making the project documented and restart able
circumstances. if a problem arises at any time and point.
The employer must be aware of the current and up to date
salary packages being offered in the market. H. Low estimation of time and cost
The employer and junior employees must provide The analyst may identify the level of variation identified
adequately respectable behavior for the experienced team in the initial requirements and in the final product. This
leaders. estimate can be used for the current project to propose the
The role definition for each individual should be clear timeline for the completion of the project.
and précised. This not only helps in asserting the The organization must always be optimistic about the
responsibility but also convince the employee to work hard completion of the project. This can be done by having
for the justification of his role [9]. ultimate faith on developers and by giving them confidence.
The employees must be given importance by developing But at the same time the scope of the project should not be
cordial relations with them. under estimated.
The employees must be given access to digital library or The experienced workers should be given a chance to try
literary resources to keep themselves updated. the best of their abilities and complete more work in less

367
time. Any such effort, if successful, must not only be possible values, conditions that software is expected to
appreciated but rewarded as well. accept.
The organization may opt to scrub the requirements in The programmers are generally considered responsible
consultation with the customer. If the customer doesn’t allow for unit testing their code that they have produced.
requirement scrubbing the iterative project scheduling can be The presence of errors not only delays the testing process
used to complete the project with in time [12]. itself but also delays the software development, as a new
The programmers, analyst and team members must be iteration of module correction begins after the errors have
invited to contribute their opinion and understanding in been identified. This costs both time and resources.
defining the scope of the project. The management team can If time allows, multiple testing techniques should be
also help in this regard to estimate the project scope properly applied in iterations to identify and remove all the errors.
[10]. The correctness of errors should be done with minimum
Organization should keep backup teams which can changes in design. For this purpose it is proposed that
occupy the space and can help in reducing the burden on software architecture must be flexible to accommodate minor
prime developers, if needed. changes.
I. Hardware Default Changes L. Technology Change
The leader ship must be able to forecast the technological The programmer should be encouraged to have
advancement in the hardware and computational resources. competence in more than one tools. They must also be smart
Any commitment about the software development made now thinkers to recognize the coming trends and practices in
must also be able to run/execute on the hardware platform future software development and must also equip themselves
available for several years [6,7] with future software tools [3].
The organization may only suggest the customer to keep The organization must not impose some projects of new
the forecasted hardware changes in mind which may increase or unknown technique to the employees.
the cost of developing that software. For the purpose of training, during the training session
High budget and time should be allocated to handle such the employees may be given technical assignments in order
problems dynamically. to help them learning the tool and evaluating them in terms
In incremental model [11] the organization must of abilities to learn and suitability for the larger projects.
categorically define the hardware developments expected to New programmers who are expert in advance
be available till the completion of the product. The customer programming languages / environments may be hired to
may or may not opt to adhere to the suggested opinion but work on new projects. In an effective team structure
the responsibility of the organization is delivered by programmer working on orthodox languages/ environments
informing him about the technological advancement.[7] will be benefited.
J. Requirement Postponement M. In sufficient data handling due to over whelming
Requirements are difficult to identify and any identified acceptability of the business.
requirements should not be delayed for inclusion in the The development team must try to utilize all
coming increments. computational advancement in resources available. It is
Every possible circumstances must be estimated from the appropriate that development team also considers the fact
beginning of the iteration so that neither a requirement is left about the management of data incase the acceptability of the
nor extra load is put on the development team. product is over whelming.
Every increment should be properly tested and all the The architecture of the system should be flexible enough
bugs/errors must be fixed and must not be left for the to handle changes dynamically and meet any expansion
consequent increments. needs at runtime.
Adequate increment progress monitoring mechanism The software must be designed in a way that it can easily
should be in placed to keep a log of the development/effort be linked with other database software as well. In order to
done for the completion of the increment. The mile stone cope with the emerging needs of the data management.
definition with in the increments can help in achieving the
ultimate target more easily and in a calculated manner. N. Design and tool independence
In a team structure the manager may use the homework In software architecture, the architects strongly
pattern to complete the work in time. The employees may be encourage the high cohesiveness and discourage high
given sub tasks in the beginning of the week and by the week coupling of the modules. Loosely coupled module can be
end their work may be checked for completion and any easily modified with out affecting the functionality of the
possible errors that it may contain. system. [3].
The design of system should be independent of any tool
K. Impact full presence of bugs/errors and platform in order to generalize the design of the system
An effective and comprehensive test of a system ensures for usage against all software tools.
that the system presented to the outside world is free of bugs. The project must be designed and implemented in a way
It is therefore important that a system is tested against all that it can work on the system with ease and does not require
extra hardware or software resources to work.

368
O. Risk of Intruders (hackers, viruses, Trojan horse) R. Misleading estimation about skills of workers
The testing team must ensure the error free The management should have a concrete description
implementation of the system. The mechanism should be about the capabilities of each member of development team
developed to restrict any friendly or unfriendly software to while estimating for the scope, size, and cost of the project
access the system without permission. the abilities of the programmers should be known adequately
Licensed and updated antivirus should be installed for to help the estimation process become more realistic. The
security purposes so that the risks of intruders or other management should not be doing an optimistic estimation
unwanted activities can be minimized. and rather do a realistic estimation if not the pessimistic.
The antivirus or spy ware software must be registered In informal meetings with the programmer it can be
with the organization so that no one can copy or use it with investigated that which specific tasks he can do at his best.
out permission. The efficiency of the programmer will increase if he is
Spy ware detection software should be installed in order assigned a task in his area of specialization.
to identify and report the presence of any spy in the system. The programmers may be provided trainings and access
Scanning of the system must be done on daily/weekly to digital resources to polish themselves and to prove their
basis to handle any threat present in the system. suitability to work in a project.
P. Risk of delayed implementation S. Lack of technical feed back
Although documentation is considered highly essential The requirement gathering process requires a thorough
for the success of any project yet the time and resources consideration and effective communication at the level of the
spend on documentation should not exceed from the team leader/analyst and technical people at the customer side.
balanced amount of resources required for the documentation The head of organization must not sign a contract without
purposes [4]. consulting his technical team to minimize the chance of loss.
In incremental model [11] precisely, the delay of one It should be tried by development team to cover all
increment delays the whole system. Therefore it is of utmost requirements in the first iteration and do not leave any
importance that only already calculated amount of time is requirements un addressed.
spent on each phase of the project.
If in extreme circumstances some members of the T. Compromise on profit to save name
development team may become unavailable the manager A failed project not only harms the revenues of the firm
should try to convince the available developers to work more but also disturbs the reputation as well. Therefore the firms
in order to compensate the loss incurred by he developers try their hard not to let a project fail and even at the cost of
leaving the organization. financial losses they would like to save their name to
The reusable code and CoTS (Commercially of the Shelf maintain the reputation and goodwill of the market.
Components) should be used to minimize the development Adequate planning about the start and completion of
and testing time. each increment should be done so that no other project is
Requirement scrubbing and task iteration can also works affected because of the failure/delay of the current project
in specific circumstances [12]. and vice versa. The milestones and deliverable of an
The development team must have the surety and should increment should be managed according to the schedule to
get funding according to the already agreed schedule; the accomplish the assigned task on or before the due date.
delay in such schedule may affect the delivery schedule of It is imperative to state that a risk should always be
the product itself. identified before it actually starts harming the system. Once
the risk has shown his presence it doesn’t remain in isolation
Q. Market Acceptability and invites other risk factors to make a mesh and insure the
The development team even before starting working on a project to delay if not fail at all.
project must get a market feedback about the acceptability of
the proposed system and the system should only be U. Risk of Economy Distortion
developed if the system is highly acceptable by the local The management of software development firm must try
market. to commit advance payment from the customer if the
The experienced professionals can use their intuitions to economic situation of the country/market is not stable. In the
guide the development team about the future software economic crisis the firm must try maximizing its profit and
products that may have high impact and acceptability in the should try to provide benefits to the employees to enable
market. If a product fails in public the development team them to face the poor economic situation.
may add certain features that may increase the acceptability The deep care of the business should be kept not only by
of the product in the market. keeping the active interaction with the customer but also
The markets in different localities/cities may have some spending should be done to help the market becoming
different behavior and it is not necessary that a product out of the financial circumstances.
which is less acceptable in one market also remains less
acceptable in others.

369
III. CONCLUSION [5] Basit Shahzad, Tanvir Afzal, “Enhanced risk analysis and relative
impact factorization”, 1st ICICT, IBA Karachi, August 27-28,
It is strongly believed that success of a risk management 2005 ,pp 290-295.
system lies in the identification of all possible risks for the [6] Basit Shahzad, Javed Iqbal, “”Software Risk Management –
software under consideration. The risks, in this paper, have Prioritization of frequently occurring Risk in”, 2nd International
been identified after thorough discussion with software team Conference on Information and Communication Technology
(ICICT2007), Dec. 16-17, 2007, IBA Karchi.
leaders, academicians, and developers. The mitigation and
avoidance strategies have been advised for each risk factor. [7] Roger S. Pressman, “Software engineering: a practitioner’s approach”,
5th ed, McGraw-hill, pp 151-159.
These strategies are expected to provide a helping hand for
[8] Borland, the open alm company, A Load Testing Strategy, white
the avoidance or mitigation of a risk factor. Utmost effort has paper, April 2006,pp6
been made to address all possible risk factors, present till [9] Duport, “how to control and manage the staff
now. The list of identified risk factors may grow in future turnover ”http://www.duport.co.uk/guides/staff%20issues/Controlling
and so can be the mitigation and avoidance strategies. %20and%20managing%20staff%20turnover.htm, May 2006.
[10] Magic intuition, “definition of
REFERENCES intuition ”http://www.magicintuition.com/intuition.html”, 2009
[1] J. Rothfeder, “It’s Late, Costly, and incomplete-But Try Firing a [11] Roger S. Pressman, “Software engineering: a practitioner’s approach”,
Computer System, “ Business Week, November 7, 1988, pp. 164-65. 5th ed, McGraw-hill, Chapter 1.
[2] Coper Jones, “patterns of software success and failure”, 1996. [12] Javed Iqbal, Basit Shahzad, Iterative project Scheduling: A time
[3] Roger S. Pressman, “Software engineering: a practitioner’s approach”, bound technique, International conference on computing and
5th ed, McGraw-hill, pp 151-159. informatics, June 6th -8th 2006, Kuala Lumpur, Malaysia..
[4] Barry W. Boehm, “software risk management: principles and
practices”, pp 13.

370

View publication stats

You might also like