diversification in software engineering

41 downloads 576 Views 375KB Size Report
k. Mobile or wireless software engineering [3]. These are the various factors which are responsible for the diversity in the software engineering. Driving Forces of ...
Er.Kirtesh.Jailia.et. al. / International Journal of Engineering Science and Technology Vol. 2(6), 2010, 2001-2007 

 

DIVERSIFICATION IN SOFTWARE ENGINEERING  (A new approach “CRD” Model)  Er.Kirtesh Jailia1, Mrs Manisha Jailia 2,Er Pramod Kumar 3,Mrs Manisha Agarwal4 [email protected], Student of M.Tech(SE) II yr,IT&SE Deptt.,ITM Gurgaon) [email protected], Sr.Asst.Prof. CSE DEPTT. Banasthali University, Tonk (Rajasthan). [email protected], Lecturer CSE deptt. MVN Faridabad (Haryana). [email protected], Sr.Asst.Prof.CSE DEPTT,Banasthali University, Tonk (Rajasthan). ABSTRACT In this paper we examine the factors that have promoted the diversification of software process models. The intention is to understand more clearly the problem-solving process in software engineering & try to find out the efficient way to manage the risk. A review of software process modeling is given first, followed by a discussion of process evaluation techniques. A taxonomy for categorizing process models, based on establishing decision criteria, is identified that can guide selecting the appropriate model from a set of alternatives on the basis of model characteristics and software project needs. We are proposing a model in this paper, for dealing with the diversification in software engineering. INTRODUCTION Change is the need of nature, this sentence is also worthy in the field of software engineering. In this field we have seen various changes in the development process as from waterfall to agile.and we are expecting lot more to come. But the main concern is that whether these changes are providing efficient risk reduction or not, hence for this purpose the diversification strategy is introduced in the field of strategic software development. Now first of all let us see that, what are the basic terms over which we are going to deal in our paper. 1.

RISK :There are several definitions are already given , but here in our concern we are defining the risk as “The future event having uncertainty to occur, but if occurs than either LOSS or GAIN may takes place.” This definition is somewhat different from the previous given risk definition, in which the more emphasis is given over the –ve part i.e. on LOSS part. Our view of risk is SPECULATIVE, not HAZARDOUS.

2.

DIVERSIFICATION: Reducing business risk and expanding market size.[1]

3.

CORE COMPETNECY: A core competency is a specific factor that a business sees as being central to the way it, or its employees, works. It fulfills three key criteria: a. It provides consumer benefits b. It is not easy for competitors to imitate c. It can be leveraged widely to many products and markets.[2]

These three terms will play an important role in our research paper, so it is better to understand these three terms, Our model i.e. CRD is also the acronym of Core competency Risk Diversification. DIVERSIFICATION TYPES Basically we can divide the diversification in two types & in three forms as Types: 1. Related Diversification: Having direct impact. 2. Unrelated Diversification: Having Indirect impact.

ISSN: 0975-5462

2001

Er.Kirtesh.Jailia.et. al. / International Journal of Engineering Science and Technology Vol. 2(6), 2010, 2001-2007 

  These are the two sorts of diversification; now let’s see the three forms of diversification Forms of diversification: 1. 2. 3.

Vertical integration – along your value chain. Horizontal diversification – moving into new industry. Geographical diversification – open up new markets. These are the three forms of diversification. Means of achieving diversification include internal development, acquisitions, strategic alliances, and joint ventures. As each route has its own set of issues, benefits, and limitations, various forms and means of diversification can be mixed and matched to create a range of options. [4]

DIVERSIFICATION IN SOFTWARE ENGINEERING Diversification in software engineering is an important term, in software engineering the diversification can be understood by dividing the software engineering into two parts as: 1. Problem level software engineering. 2. Solution level software engineering. In problem level the diversity is driven due to: a. Scope and complexity of problems b. Types of requirements and forms of problems c. Need to learn and apply new capabilities d. Challenges of continuous change e. Impact of the consumer economy and interdisciplinary effects f. Development of e-business applications g. Multiplicity of stakeholders, project team skills, background Requirements and business goals [3] In solution level the diversity is driven due to: a. Project management approaches b. General standards c. Quality-assurance standards d. Hardware and software tools e. Networking tools f. Data mining and automation tools g. Nature, scope, and domain of applications h. Need for business-driven software engineering i. Secure software engineering j. “Killer” applications k. Mobile or wireless software engineering [3] These are the various factors which are responsible for the diversity in the software engineering. Driving Forces of Diversity in Development Strategies Diversity is a prevalent characteristic of the software process modeling literature. This reflects the evolution in software development in response to changes in business requirements, technological capabilities, methodologies, and developer experience. Process diversity also reflects the changing dimensions of project requirements, with process models maturing over time in their ability to address evolving project requirements. Diversification is also driven by the increasing importance of interdisciplinary views in modeling software processes.[3]

ISSN: 0975-5462

2002

Er.Kirtesh.Jailia.et. al. / International Journal of Engineering Science and Technology Vol. 2(6), 2010, 2001-2007 

  Diversity can be acquired through inheritance as well as by overriding the presuppositions that derive from inheritance. Cultural differences are examples of inherited characteristics that affect the degree of diversification in an environment. Scientific, social, political, psychological, philosophical, experiential, and other differences modulate acquired diversity through exposure to values, education, involvement, and interaction.[3] The culture difference, technology difference etc leads to diversification, but at the same time such differences or changes will also leads to increase in “RISK”. Hence it is important to deal with the diversification to improve the market stability, while at the same time reducing the risk. Diversification : An important asset Diversity is an organizational asset. It embodies the hidden value of differences: a value that is frequently underestimated, underutilized, or obscured in traditional approaches. Appreciating diversity is the only way in which one can successfully implement interdisciplinary thinking in software engineering. Diversity investment leads to a wider understanding of the role of diversity in software engineering and bringing it to bear on issues identified during the problem-solving process. It also implies identifying new, unrecognized, or underutilized areas of knowledge and exploring new aspects of problem definition. EFFECT OF DIVERSIFICATION ON CORE COMPETENCY Before discussing about the effect of diversification on core competency, let’s find out that what is the need of diversification? The two principal objectives of diversification are 1. improving core process execution, and/or 2. Enhancing a business unit's structural position.[4] The fundamental role of diversification is for corporate managers to create value for stockholders in ways stockholders cannot do better for themselves. The additional value is created through synergetic integration of a new business into the existing one thereby increasing its competitive advantage. As we all know that core competencies are the most significant value creating skills within your corporation and key areas of expertise which are distinctive to your company and critical to the company's long term growth Company's core competencies are the things that you can do better than your competitors in the critical, central areas of your company where the most value is added to your products. These areas of expertise may be in any area from product development to employee dedication. A competence which is central to your business's operations but which is not exceptional in some way should not be considered as a core competence, as it will not generate a differentiated advantage over rival businesses. It follows from the concept of Core Competencies that resources that are standardized or easily available will not enable a business to achieve a competitive advantage over rivals. Diversity leads to attain the above cited objectives, but in some cases the improper diversification will also leads to more risky working, and in critical working if the diversity in the software engineering is uncontrollable than it may possible that rather than achieving the stability, you may lose your position. So better is to go with diversification but not with the “Equilibrium disturbance”. Hence here in this paper we are proposing a model in which the work is carried out to maintain the equilibrium in between the Core competency, Risk & Diversification.

CRD MODEL

ISSN: 0975-5462

2003

Er.Kirtesh.Jailia.et. al. / International Journal of Engineering Science and Technology Vol. 2(6), 2010, 2001-2007 

  CRD is the short form of Core competency, Risk & Diversification. In this model various phases are present such as. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.

Preliminary phase. Problem Phase. Innovation Phase. Strategy phase. Pre testing Phase. Development phase. Post testing phase. Execution phase. Strategy ping phase. Soil feed phase. Sale phase & Master Phase. These are the basic phases of the “CRD” model. Let’s discuss each phase & try to understand the working of “CRD” model.

The figure above shows the outlay of the “CRD” model. There is several color schemes present in the figure. Each color scheme has its own phases.

1.

Preliminary phase:

ISSN: 0975-5462

2004

Er.Kirtesh.Jailia.et. al. / International Journal of Engineering Science and Technology Vol. 2(6), 2010, 2001-2007 

  In this phase the top management find out that what are the various problems present in the market, over which they can work and earn money. For this purpose they used to do market surveys , polls etc. This phase is so important because here the money flow is done only to select the work, not the actual work is carrying out in this phase. Hence it is better to emphasize on this phase with great care so that in 1 sot the organization find out “Problem”. 2.

Problem phase:

Though in preliminary investigation we know that what to do, but in order to specify the goal we have to perform some feasibility test such as technical, ethical, logical, etc. to confirm the “GOAL”. In problem phase the Top management works out with the team leaders, the leaders are the first seed of the diversification…they may be from different locations, different cultures so it is the duty of the top management to unite their thinking in one single “GOAL”. 3.

Innovation phase;

This phase is really important because, this is the phase which act as a seed (in many cases) in the software engineering. Innovation is really very vital part of the software engineering. Through innovative ideas the new ways can be found. Each success story has innovation in its root, but innovation must have a real base. Once you talk about innovation the risk always comes into play, means for getting advantage over your competitors ….you are going to use innovation but it doesn’t come alone , it comes with thorns of “RISK”. So what we get? A core competency with risk due to diversity through innovative thinking….Hence for this purpose the model “CRD” works. 4.

Strategy phase:

Strategy phase decides the way of working through which you want to convert your problem, innovations etc into the real product. Here in our case it is software product. This phase requires too much attention because in this phase you have to decide that up to what amount you are going to diversify? Means in this phase diversification get its road to software development. For e.g. this time you want to prepare the software by your subordinates which are distributed worldwide, than on name of diversification they suggest you the technologies in which they are acquaint. Now it’s your duty to develop the strategy through which you can unified such diversified suggestions, working practices etc into one single product. 5.

Pre testing phase:

Pre testing phase is the rechecking phase of your innovations, strategies, organization structure build etc. In pre testing phase the work has to be done for the sake of development road clearance, means the small pebbles of difficulties are trying to be removed. 6.

Development phase:

This phase deals with the actual mapping of tested strategies into the real world, here the talk of core Competencies, risk management etc. plays an important development starts. In this phase the most important thing is to adhere with the quality so that the forthcoming product is of good quality. Core competency is the real thing which motivates the organization to diversify its development strategies. Various strategies (for development at different locations by different managers ) can be used, these strategies are simply leads to diversification.

7.

Post testing phase:

ISSN: 0975-5462

2005

Er.Kirtesh.Jailia.et. al. / International Journal of Engineering Science and Technology Vol. 2(6), 2010, 2001-2007 

  This is phase which deals with the in house checking of the developed product, here the top managers verified the developed product. Incase if they feel the developed product lags in quality etc than they conduct a meeting with the developers. Such meetings will decide what to add or what to remove? 8.

Execution phase:

In this phase the management verified newly developed product is executed in front of in house reliable members, Their open suggestions are welcomed….as we do in @ testing. This phase is also very important because as we know “mother can’t see the weakness of her child”, similarly the developer’s organization can’t see those faults what others can see? 9.

Strategy ping phase :

PING as we all know…is a computer network administration utility used to test whether a particular host is reachable across an Internet Protocol (IP) network. In strategic ping phase of the software development, the organization checks that what are the various problems, addition, removals, etc are carried out till date...i.e. after execution phase. All these factors act as strategic ping factors. Through scanning of such factors we can check that how well our strategies connect to the developed product…we can verify that whether the strategy used was effective or not? Whether the diversified ideas, technologies were good or not? In this phase the main emphasis is given over the diversification & its effect on core competency. 10. Soil feed phase: Diversification….is done to increase the market share, but at the end top management decides that whether they get benefitted or not. If they get benefitted, it’s time to feed the soil…here soil feeding can be understood as the market capturing by offering new schemes etc. Once you achieve the greater field (market), you need more soil feeding…same case is present in the software engineering. Feed your soil till you get benefit. 11. Sales phase; The finished product (software) is now ready to travel in the market boat, it get its port when someone purchase it. Here also diversity plays an important role. For e.g. if you want to sell your product in US than more important thing is the features, speed, quality….money factor doesn’t matters too much for them but if you want to sell it in India than money is the biggest factor. Hence it is very important to know the type of market you are targeting. 12. Master phase: As the term suggests in this phase the overall impact of diversification, its causes & its impacts are analyzed, so that in future if same sort of circumstances come, it can be handled easily. Master phase provides the library material , the outcome of this phase tells us the story , strategy of either excellent , good or worst working operation. CONCLUSION While concluding this paper we can say that it’s good to use diversification, but in controlled manner. Risk reduction can be done through diversification if and only if it is in proper control. The “CRD” model is the first step toward the understanding of diversification & its effects on the core competency etc. In future we would like to enhance “CRD” model by working over its phases so that we can generate a new version of it. At last we hope that this paper plays an important tool for software professionals & beginners also.

REFERENCES

ISSN: 0975-5462

2006

Er.Kirtesh.Jailia.et. al. / International Journal of Engineering Science and Technology Vol. 2(6), 2010, 2001-2007 

  1. 2. 3.

http://en.wikipedia.org/wiki/diversification. http://en.wikipedia.org/wiki/Core_competency Strategic software engineering by Deek, Mchugh,Ejiburi pp 218. 4. http://www.1000ventures.com/business_guide/im_diversification_strategies.html

ISSN: 0975-5462

2007