Thursday, December 4, 2014

Introduction to software development approaches

As the world around us grows more complex, custom software development companies in India strive to build more complex products. In parallel with the growth of complexity, there has been a need for increased predictability, predictability, risk management, and control—both of the development processes itself and the resultant products. At the same time, our need to be flexible, nimble and adaptable has increased. As of now, more organizations are employing agile processes and techniques to develop and sustain complex products than those that continue to employ more traditional techniques. Of those using agile techniques, 84% of them employ an agile framework process, Scrum (Elizabeth Woodward, Steffen Surdek, and Matthew Ganis, 2010).

Software Engineering is an engineering discipline which concerns the entire process of software production from setting up requirements to testing and maintaining the system. Problems existed such as high maintenance costs, late deliveries, communication gaps, over-budget projects and low reliability. This resulted in a search for increasing quality and number of tools and methods for software engineering. Software processes became a helpful approach for controlling the process from creating requirements through the testing and maintenance of the final system. A software process entails a set of methods, activities, practices and transformations that are used within the process of producing a software product. The success of using a software process for a software project heavily depends on the characteristics of the project itself and the characteristics of the process in use.

A survey was conducted four years before for the methodology used for the product. (Cranky, 2008). The different software methodologies involved in the survey were Waterfall, Scrum and agile methodologies which were not scrum. In 2006, it was reported that a sizable majority of product development used a waterfall methodology (55%), with Scrum garnering a mere 7%.  Software development companies in India have started giving more emphasis and importance to SCRUM and Agile development methodologies.

Wednesday, November 12, 2014

Risk Management Process

Risk Management Process
We discussed that risk management implies proactively identifying, analyzing, planning, tracking and controlling the risks so as to reduce the probability and the impact associated with the risk. Risk Management is done throughout the life cycle of a project. Following flowchart describes the process that is followed by many custom software development companies in India.

Fig 1 : Risk Management Process


Project Initiation: Project Kick-off meeting is scheduled on the initiation of every project followed by knowledge transfer between Client and PM. During this stage important aspects of the project and the requirements are exchanged. Risk checklist is used by project managers to identify initial risks in the project.

Project Analysis: Based on the information exchanged with the client, appropriate functional specifications and technical specifications are laid down. Based on the analysis carried out, technical tasks to be carried out as listed and assigned to developers. Project Plan is submitted to the client at this stage.

Risk Identification: During the analysis phase of the project, various risks related to the project are identified and recorded. Risks are typically classified based on the categories and factors associated to each category.

Probability and impacts are two factors on which risks are quantified.

Mitigation Strategy and contingency planning: Once the risk is recorded along with its severity, appropriate mitigation strategy and contingency planning are necessary to devise in order to eradicate or minimize the probability of the unfortunate event in the project. Mitigation strategy and contingency planning are linked to risk and monitored throughout the project life cycle.

Above process can help software companies in India to deliver projects within time and budget with required quality standards.

Tuesday, November 11, 2014

Importance of risk management in Project management and construction Industry


What is Risk?

Every human endeavour or action involves risk. In our daily life, one faces a variety of situations involving many unknown, unexpected, frequently undesirable and often unpredictable factors. These factors can be conveniently compiled under the category of risk (Hertz and Thomas, 1983). Custom software development companies in India have started giving importance to risk management and consider an important aspect of project management.

Risks in Construction Industry

Construction risks are generally perceived as events that influence project objectives of cost, quality and time. Some of the risks associated with the construction process are fairly predictable or readily identifiable; others may be totally unforeseen. Al-Bahar (1990) provides different categories of risks often encountered in construction projects are shown in Figure 1.


Figure 1. Types of risks in the construction industry (Al-Bahar, 1990)



Risk Management in Construction

Risk management may be defined as a process to control the level of risk and to mitigate its effects and impacts on overall project. It is a systematic and well-structured approach for identifying, evaluating and responding to risks encountered and identified in a project (Nummedal et al., 1996). In Figure 2, the risk management life cycle is shown. If maintained, this cycle yields a controlled risk environment (Baker et al., 1997).







In project management terms, the most serious effects or impacts of risk can be summarized as follows:
·         Cost deviations
·         Project timeline deviation
·         Quality deviation

The purpose of risk analysis and management is to help stakeholders to avoid these failures
(Thompson and Perry, 1992).



Process Management Process

Risk analysis helps in estimating potential impacts of risk and in making decisions regarding which risks to retain and which risks to transfer to other parties. Below is a systematic 6-steps approach of risk analysis proposed by Flanagan and Norman (1993).

STEP 1 - All the various options should be considered

STEP 2 - Consider the risk attitude of the decision-maker

STEP 3 - Consider what risks have been identified, which are controllable and what the impact is likely to be

STEP 4 - Measurement, quantitative and qualitative

STEP 5 - Interpretation of the results of the analysis and development of a strategy to deal with the risk

STEP 6  - Decide what risks to retain and what risks to allocate to other parties

Case Study

A construction project is selected to understand what kind of risks are encountered during the project development life cycle. Following risk management register explains complete risk management cycle that was used in this project. It also helps to understand how risks are managed and controlled during the project life cycle.


Risk Management Register
Risk Identification
Qualitative Risk Assessment
Risk Response Plan
Monitoring and Control
#
Risk Event
Effect
Threat or Opportunity
 Primary Objective
Probability
Impact
Risk Matrix
Response Strategy
Response Actions
Responsibile   Entity
Interval or Milestone Check
1
Delay in approval and permissions
Delay in time
Threat
Time
Medium
Medium
Probability
VH





Accept
Attempt for approval to the Higher Authority
Government

H





M


X


L





VL






VL
L
M
H
VH


Impact
2
ROW Acquisition Risk
Delay in time
Threat
Time
Medium
High
Probability
VH





Transfer
Consultation/ concurrence
Government

H





M



X

L





VL






VL
L
M
H
VH


Impact
3
Risk in Traffic Diversion works
Delay in time
Threat
Time
High
High
Probability
VH





Mitigate
Traffic diversion plans Alternatives
Government

H



X

M





L





VL






VL
L
M
H
VH


Impact
4
Risk in Utility shifting works
Cost Increase
Threat
Cost
Medium
Medium
Probability
VH





Mitigate
Prior Notice before commencing work for Utility shifting


H





M


X


L





VL






VL
L
M
H
VH


Impact
5
Risk in Excavation works
Cost Increase
Threat
Time
Low
Medium
Probability
VH







Contractor

H





M





L


x


VL






VL
L
M
H
VH


Impact
6
Political Risks
Cost Increase
Threat
Scope
Low
Medium/High
Probability
VH





Mitigate
Accept/Transfer
Government

H





M





L



x

VL






VL
L
M
H
VH


Impact
7
Testing Commissioning of materials
Cost
Threat
Quality
Low
Medium
Probability
VH









H





M





L


x


VL






VL
L
M
H
VH


Impact
8
Geo-technical Risks
Cost Increase
Threat
Cost
Medium
Medium
Probability
VH





Accept



H





M


x


L





VL






VL
L
M
H
VH


Impact
9
Technical uncertainities
Delay in time
Threat
Time
Medium
High
Probability
VH





Mitigate

Contractor

H


x


M





L





VL






VL
L
M
H
VH


Impact
10
Major / Minor Accidents during Execution

Threat
Cost
Low
Medium
Probability
VH





Mitigate
Precautive Safety Measures
Contractor

H





M





L


x


VL






VL
L
M
H
VH


Impact
11
Site Communication

Threat
Cost
Low
Low
Probability
VH









H





M





L

x



VL






VL
L
M
H
VH


Impact
12
Force Majeure Risks like Flood, Rain, Earthquake etc.
Cost/Time
Threat
Cost
Low
High
Probability
VH







Contractor

H





M





L



x

VL






VL
L
M
H
VH


Impact
13
Labor Agitation and Strikes

Threat
Cost
Low
Medium
Probability
VH





Mitigate

Project Manager

H





M





L


x


VL






VL
L
M
H
VH


Impact

 


Conclusion

No Construction Project is Risk free. Risk can be managed, minimized, shared, transferred or accepted. It cannot be ignored. Risk management is an integral part of project management and it helps to achieve project objectives and targets. There are some limitations of risk management. If Risks are improperly assessed or prioritized, time can be wasted in managing risks. Spending too much time assessing and managing unlikely risks can divert focus of resources to unnecessary things. Unlikely events do occur, it may be better to simply retain the risk and deal with the result if the loss does in fact occur. Software companies in India consider risk management as an integral  part of project development life cycle and gives due importance to ensure timely, qualitative and within budget project delivery.