Software Development

: Software development is a rigorous process used in the creation and maintenance of software. In this paper the systems development lifecycle (SDLC) has been explored as the universal model upon which other models are based. Examples of software crises emerging from software failures and errors have also been discussed in a bid to aid in the appreciation for the need software development lifecycle process. The SDLC phases i.e. planning, analysis, design and implementation are discussed in much detail and the importance of each of this process right from when the software is conceived as an idea by the project sponsor, to when the software is actually installed and used to add value to the organization. The paper also depicts the SDLC as a general software development lifecycle model that can be enhanced to create context specific software process models. In fact, most software process models such as waterfall, incremental and prototyping models all have aspects of the four phases in the SDLC but with unique variations to suit software development needs of each project. The development of highly reliable, quality and cost-effective software also relies on the application of good project management practices in the SLDC to ensure all technical, functional and organizational requirements are met.


Introduction
Open source is a software development approach to design the soft wares, development of a software, and free distribution of software (source code), offering free access to the source code of that software.To make source code of a software available to any one at no cost with the permission of changing The code according to any one's requirement is open source approach.The term "open source" also used as a single term that fits for the following valuable conditions: (1) non-time delimited, complete software for which source code is openly available for (re)distribution without any cost to the user at any time, (2) forces minimal, non-restrictive licensing environments, and (3) is itself either based on technologies which are non-proprietary or on the technologies which are proprietary that conform to (1) and ( 2) (Thomas and Hunt, 2004).The use of OSS in the field of computer science education has been highlighted in recently years (Attwell, 2005).Developing OSS could also assist learners in their future career paths, suggested by (Cusumano, 2004).The OSS components reuse of saleable software is rising and in many cases a lawful choice in commercial application (Stone, 2002).As the source code for open source software is available, so any one can revolutionize this code, fix errors or bugs and get better the developed software from the giving source code.This means any one can change the open source software according to his/her requirements.This is the great facility in open source soft wares.It is also easy to decide what to reuse and where to reuse and when to reuse open source software.In the last few years this way of building software, the open source process, has gained disrepute just as the products of this process have gained market share across key segments of the information economy.Moral values of open source are divides into two different strands: 1. Open Source Ethics as an Ethical School.

Open Source Ethics as a Professional
Body of Rules.There are many advantages of reuse which are following-reduced time to market, compact cost for development of product, increased the quality of product and increased the customer satisfaction (Madanmohan and De, 2004).Software is a digital product that can be copied an infinite number of times at zero cost and is thus purely non-rival in economic terms.There are some findings for the important Project starting points which are motivation, community, software development support, licensing and size (Gacek and Arief, 2004).These starting points must keep in mind while starting software development.First of all motivation for all the team, then for which community the software is going to develop, support for that software and at the end the licensing issues and the size of the software .Open source software is being developed in that projects where every one can contribute his best knowledge to improve the software, support and fix from errors.Such projects are called open source projects.Every one can share his/her ideas in these projects (Ruffin and Elbert, 2004 To take advantage of reuse, the development team must be aware of the realities of reused products (Samuel, 2006).In this existing research there are 6 variables which are OSS reuse factors and these variables are: 1  Is there any positive impact of OSS "select criteria" on the software economic factors? Is there any difference between the organization of small and large organizations? Is there any correlation or relationship between the OSS adoption factors and software development economic factors?

Methodology
Pakistani IT companies are the population for this research.The organizations which were targeted in the research are of different sizes.These organizations are developing the software for running the software in their organization.Some of the organizations from these organizations are developing software for the external market including the local and international market.The questionnaire was designed to conduct the survey.First developer deeply understands the complexity of software and also understands the complexity of integrating the components and merging them.He knows the pros and cons of these techniques so he can better handle the situation of reusing components in a better manner.While a developer only with some experience of reusing open source not able to understand the complexity of integrating components so much.He did not deeply know about the software complexity due to his only experience in reusing.These are the important questions to conduct this research.Research based on these questions.Is there any effect of developer's experience to software economic factors cost, time, security, quality and productivity etc? Is there any effect of OSS adoption maturity level to cost, time, quality and productivity?Is there any effect of degree of OSS components reuse adoption on software economic factors?This section defines the methodology used for the research.First of all in the research the surveys of software companies were conducted.For population we can say that software IT companies were chosen for the study.These IT companies are of different sizes.And these are developing different kind of software and also focus on open source adoption reuse at different level.
To conduct the research on this topic first a detailed study and literature was carried out.In From this population, sampling technique was applied to take random samples.Samples are not self selected but these are random.The top management was involved in this research.As above discussed more experienced persons have well known about the complexity of the software developed.Project managers and product managers are directly involved in every phase of the software development.Interview was taken by these people to clarify the objectives of OSS adoption and the reasons why they adopt OSS.Some objectives of the Interview also include the things like: How the process of OSS adoption can be done by the organization?What is the importance of developer's over all experience and how much experience is required to be fully and deeply understand the theory for OSS adoption?What skills and experience of reuse of OSS is required?Results were collected and research used the questionnaire as follows: What are the reasons that your organization use the OSS components reuse?How and from where your organization did you find OSS components to reuse in your project according to need?During project in which phase or stage your management decides to use open source components for reuse?What is the reason to use OSS in your project?
These are the important questions from different interviewee for research.

Research Hypothesis
The main objectives which are considered for the research to be conducted are the OSS adoption factors, developer's experience of development, OSS maturity level, OSS reuse experience,OSS select criteria and the difference between small and large size organizations.All the hypothesis including previous research and the new hypothesis are describe below as follows:

Developer's experience and skill
This is the point on which no one conducted research.This is the main point of this research.This is ultimately the very important point to be studied.

Degree of OSS adoption
There are many benefits of reuse software that are lower cost of software development, shorter time to market, and in most cases best quality of software (Samuel, 2006).

Software Reuse maturity level
Maturity level of OSS reuse is an important and critical point in the consideration of this research.This is important while in the development of open source projects.The other consideration includes that how much the developed software is mature to reuse.Components reuse is a powerful tool that can help significantly if employed correctly (Samuel, 2006).
Regarding maturity level there are the following hypotheses.M3 (a): Reuse maturity level for OSS reduces the cost of software development.M3 (b): Reuse maturity level for OSS helps to reduce the time of software development.

M3 (c):
There is positive relationship between maturity level and software development productivity.M3 (d): Reuse maturity level is positively related to software product quality.

Reuse experience and skill
A number of researchers have explored the reasons why systematic reuse succeeds or fails (Basili, 1996).This research was conducted in the IT industry of Pakistan.All the variables were conducted through the survey.
Questionnaire was designed and distinguished to all the software developers to get their feed backs.

Results and Discussion
The main concern of the analysis is to determine the effects of OSS components reuse on the cost of software development, software quality and software productivity.So, the purpose of research is to find the impact of open source reuse on software development economic factors.Thus, from the help of research we are able to define the between the different variables and between small to medium and large sized organizations (see Fig. 4.

1). Variables
In this section all the variables were defined which were used during the research.There are independent variables, dependent variables and control variable.The independent variables are actually the objectives of our research.We also called that these are the OSS adoption factors.

M2 model
Hypotheses M2 (a, b, c and d) were examine and the relationship between the variables were determined.Pearson Correlation was applied to test the hypotheses.Table 4.2 shows the significance relation ship between the degree OSS adoption and software economic factors (cost, time, productivity and quality).The analytical analysis shows that overall there is positive relationship between the variables.Relationship between Degree of OSS adoption and cost is negative with a correlation (r = -0.048)which means that cost will decrease if we will increase the degree of OSS adoption.
There is negative relationship between degree of OSS adoption and time second hypothesis is also negatively related which also supports the hypothesis M2 (b) with correlation = -0.234)and which means that time of development will decrease if level of degree of OSS adoption will increase gradually.The third and fourth hypotheses which are M2 (c) with a correlation (r = 0.476) and M2 (d) with correlation (r = 0.277) are positively related to the degree of OSS adoption.This means as degree of OSS adoption will increase then the productivity will increase as well as quality of the software will improve.Therefore, degree of OSS adoption affects the dependent variables to decrease the cost and time and increase the productivity and quality of the software.
What is important here is that the developers are highly motivated to reuse OSS components judging from the results in Table 4.2.The correlations are equally stronger on productivity and quality when it comes to degree of OSS adoption.

M3 model
This model is about maturity level of OSS and software economic factors.This model also supports the four hypotheses.This model also helps to reduce the cost of development and reduce time to development, increase the productivity and improve the quality of the software.

5-Conclusion
All The second important variable in the research is the degree of OSS adoption by the organizations.Research results also shows that an organization can also get some economic benefits in terms of development productivity and more importantly the software quality if it implements OSS components reuse adoption in a systematic way (Samuel, 2006).This model also helps to reduce the cost of the software as shown in Table 4.2.Cost reduction by reusing OSS components is benefit for maintenance and security of the software.The research did not show any significance importance to the OSS selection criteria.This is the less important in the research.However, model (Maturity Level) also shows some significance to reduce the cost of development and to reduce the time to the development if the OSS components are more mature.This model also helps to improve the productivity and quality of the software of most mature OSS components.Finally, the impact of developer's experience and OSS components reuse on software development cost and time need to be studied separately.Development cost and time has many dimensions (developer's cost, testing cost, Analysis time, Design time, development time and testing time etc), therefore, need to be more exploration on cost and time.Cost to development and time to development are two major factors in software development economics.It has been established that (proprietary) software reuse in general contributes a lot to reduction in time to market as well as cost reduction.
-Developer's experience 2-Degree of OSS reuse 3-OSS adoption maturity level 4-OSS reuse experience and skill 5-OSS select criteria 6-Difference of small and large organization The correlation of these variables was checked with the different software development economic factors.There is no research on the developer's experience till today (Sumila, 2006).Thus the main and the core objectives of this research are to correlate different independent open source adoption factors (described above) with different economic factors.Research can analyze that there is any effect of Developer's experience of development has any positive impact on the economic factors of software like cost, quality, productivity etc. so the objectives of the research are to investigate that  Is developer's experience has any effect to software economic factors cost, time, security, quality and productivity etc?  Is there any relationship between degree of OSS components reuse adoption and software economic factors? Is OSS adoption maturity level has any effect to cost, time, quality and productivity of software?
Purpose of conducted research was to identify the relationship between the OSS reuse factors and software economic factors and to find out the effects of OSS reuse on software economic factors.Previous research targeted on some of the OSS adoption factors and some of the software economic factors.There is no research on the developer's experience till today (Sumila, 2006).All the previous research missed an important point as OSS adoption factor.No one can describe this point in any research which is "Developer's experience of development".My research focuses on OSS adoption factors which are discussed earlier along with one extra variable which is very important to be consider."Developer's experience" is very important OSS adoption factor.This factor has a great effect on the software economic factors like cost, time, productivity and quality of open source software.There are also some new software economic factors which were not described in earlier research.These missing factors are described in this research and explained in detail below.If a developer is more experienced in development then he can easily reuse the open source software.Experience developer knows very well that how to reuse an open source component and where it has to be reused because he has experience of making different components.He/she also knows that what to reuse?If a developer has less experienced as compared to first and he has only experience of reusing components then he will be not be so important to the organization as first developer.
the detailed study the focus was on the reusing the different components, development of open source software, quality of the software, productivity of the software and economic factors like security, time and cost issues etc.To collect the data for research conclusion and to design the survey questionnaire, interviews of different top management were conducted on open source reuse.Top management includes the project managers, quality managers, product managers and senior developers.By this interviews, a questionnaire was designed to take feed backs from different organizations on open source adoption.
If a developer is more experienced in development then he can easily reuse the open source software.Experience developer knows very well that how to reuse an open source component and where it has to be reused because he has experience of making different components.He/she also knows that what to reuse?The hypotheses for this point are the following: M1 (a): Developer's experience helps to reduce the cost of software development.M1 (b): Developer's experience helps to reduce the time for software development.M1 (c): Developer's experience is positively related to software development productivity.M1 (d): Developer's experience is positively related to software product quality.This point is the most important as my research was on this point.
review, and the results obtained from our study on the subject, we propose the following hypotheses: M2 (a): Degree of OSS adoption helps to reduce the cost of software development.M2 (b): The degree of OSS adoption helps to reduce software development time.M2 (c): The degree of OSS adoption and software development productivity has strong positive relationship.M2 (d): The degree of OSS adoption and software product quality are positively related to each other.
The hypotheses for this factor are the following: M4 (a): Reuse experience and skill for open source software reduce the cost of software development.M4 (b): Reuse experience and skill for open source software helps to reduce the time for software development.M4 (c): Reuse experience and skill is positively related to software development productivity.M4 (d): Reuse experience and skill is positively related to software product quality.3.5 OSS reuse selects criteria For the selection of OSS reuse adoption all the organizations have deep eye on the components for the reuse in their projects.M5 (a): OSS reuse selection criteria for open source software reduce the cost of software development.M5 (b): OSS reuse selection criteria for open source software reduce the time of software development.M5 (c): OSS reuse selection criteria and software development productivity are positively related.M5 (d): OSS reuse selection criteria software product quality is positively related.
the results and hypotheses were discussed in detail.Results show the importance of all the variables.In the previous research one model was missed and previous research declared that the most important thing is the OSS reuse factor.In this research the missed model was included in this research.This model is the "Developer's Experience" in the development of open source software.So there is positive impact of developer's experience to the different software economic factors.This is the most important factor and has more impact on the economic factor of software development process.The cost of software development process will decrease too little due to most experienced developer.The time decreases if the developer is most experienced.The productivity and quality of software increased if open source software is developed by the most experienced developer as compared to less experienced developer.From this research it is clear that all IT organizations can achieve economic benefit in terms of reduced cost to software development, reduced time for development, productivity and most important the quality of the software if organizations hire most experienced developers.This model (developer's experience) has great effect on increasing the productivity of the software and to improve the quality of software developed by most experience developer.This model also influences the time of development.Time will be reduced by the help of this model which is shown from the results in the Table 4.1.
). OSS software communities are virtual work groups consisting of different members with different skills in software development.These members work in temporary, cultural diverse, geographically dispersed, electronically communicating work groups (Maass, 2004).Based on role of every user, open source communities, are generally organized as presented below (Gabriel and Goldman, 2002).
which strongly supports the hypotheses M1a and M1b.Hypotheses M1 (a) is supported by the analysis in Table4.1 but the cost of the development not so much decreases as values shown in Table4.1.
Hypotheses M1 (a, b, c and d) were tested and Correlation Coefficient were determined to examine whether there is a positive relationship between the developer's experience and software development economic factors (cost, time, productivity, and quality of the software).Pearson correlation test (see Table4.1) was conducted.Overall analysis in Table4.1 strongly supports the 3 hypotheses M1 (a) with a correlation (r = -0.104)M1, (b) with a correlation (r = -0.371),M1(c) with correlation value (r = 0.459) and M1 (d) with a statistically significant strong correlation (r = 0.477).From the analysis it is shown that there is a strong relationship between developer's experience and dependent variables (cost, time, productivity and quality).Correlation value of hypotheses M1a and M1b is negative which means that if developer's experience increases the cost and time to the development of software decreases Fig 4.1 -Model for determining s/w development economics effect

Table 4 . 2
Correlation between the OSS adoption factors and software economic factors **. Correlation is significant at the 0.01 level (2-tailed).

Table 4 . 3
Correlation between the maturity level and software economic factors (cost/budget, time, productivity and quality)

Table 4 . 5
Correlation between the OSS selection criteria and software economic factors (cost/budget, time, productivity and quality) M5 model is the model about OSS selection criteria and software economic factors (cost, time, productivity and quality).This model has not so much impact on different economic factors.The hypotheses in this model are not significantly strong.The Table4.5 shows that there is no significant relationship between the