You are on page 1of 2

International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)

Web Site: www.ijettcs.org Email: editor@ijettcs.org, editorijettcs@gmail.com Volume 3, Issue 1, January February 2014 ISSN 2278-6856

Software project planning using genetic algorithm


*Deepak Kumar, Assistant Professor
Directorate of Distance Education, Kurukshetra University Kurukshetra

Abstract: Software project management deals with the


software project planning. It starts with a set of activities that are summarily called Project planning of a software development project. Before initiation of a software development process the manager of the software development development team make an initial estimation that how much work is to be done regarding the achievement of the desired goal i.e. completion of the task of software development. This frame work requires a healthy project planning that the working of the project meet the desired result or goals. Today every software project involves initial estimation and on the basis of it every individual phase can be scheduled easily and in very efficient manner.

documenting a list of specific project goals, deliverables, tasks, costs and deadlines. The documentation of a projects scope, which is called Scope Statement, terms of reference or statement of work, explains the boundaries of the project, establishes responsibilities for each team member and set up procedures for how completed work will be verified and approved, during the project, this documentation helps the project team with guidelines for making decision about change requests during the project. Effective scope management requires good communication to ensure that everyone in the team understands the scope of the project and agree upon exactly how the projects goal will be achieved. Good communication among the team members enables the liveliness of the project and increases the chances of the achieving desired goals and outputs. Planning initiation: The software project planning process begins with the planning initiation step. Here a software project manager is selected and resources and budget are allocated for the planning activity. Requirements play an important role in the software project planning and also in the planning process. Without requirement it is not known that what is to plan and what the estimate is. Planning initiation includes size, cost and schedule estimation process. A possible future event that, if it occurs, will lead to an undesirable outcome [2] Cost Estimation Observation: It is to be known that for a given set of requirements how much it will cost to develop the software to bring up the achievement of the desired goal and how much time it will take. These estimations are needed before development is started. Once the requirements are completely specified, more accurate cost estimates can be made compared to the estimates after the feasibility study. Early cost estimation done by software development team may also increases the chances of achieving more profit and delivering the project successfully. Genetic algorithm is used to solve the optimization and searching problems. Genetic algorithm belongs to the evolutionary algorithms which are used to generate the solution of the optimization problems using techniques of natural evolution like inheritance, selection, mutation, and crossover. In genetic algorithm there is a population which consists of candidate solutions for an optimization problem which is evolved towards the better solution. In Page 221

Keywords: Software project management, development, cost estimation etc.

1. Introduction:
A software project is very dense and systematic project. It covers a lot of phases in itself like- Software requirement and specification, Project planning, Designing, Coding, Testing, Debugging, Delivery and Maintenance etc. A software project has to go through all these phases step by step. The completion of a step leads to the initiation of the next step. Perhaps this shows the stringent nature of a software development process. Suppose no proper planning has done before the initiation of the software development project then it is quite sure that somewhere in any individual phase, fault or failure can be occurred. This probability may disturb the software development process and surely the time frame setup for this complete process may be drastically exceeds. This result into some kind of obstacles in the development process and the software project may be out of the track of the goal. The objective of software project planning is to provide a framework that enables the manager to make reasonable estimates of resources, cost, and schedule. These estimates are made within a limited time frame at the beginning of a software project and should be updated regularly as the project progresses [1]. The purpose of project planning is to identify the scope of the project, estimate the work involved and accordingly create a project schedule. Project planning begins with requirements that define the software to be developed. The project plan is then developed to describe the tasks that will lead to completion Project Scope: Basically project scope is an integral part of project planning that involves determining and documenting and Volume 3, Issue 1 January February 2014

International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)


Web Site: www.ijettcs.org Email: editor@ijettcs.org, editorijettcs@gmail.com Volume 3, Issue 1, January February 2014 ISSN 2278-6856
genetic algorithm there is a population of randomly generated individuals, the fitness of every individual is calculated; the best fit individual will be selected from the current population. Each individuals genome is mutated or recombined to form a new population. The new population is used in the next iteration of the algorithm. The algorithm will terminate when the satisfactory level of fitness is reached. IT projects (including software projects) can be vehicles of delivering IT-enabled organizational change, so achieving business objectives can be critically dependent upon their success [3]. Similarly in the case of software development if we use the concept of genetic algorithm we must ensure the rate of the success of the software project is meeting the expectation of the software developer or not. And this process should be applicable before the initiation of the development of the software i.e. at the time of planning phase. The different plans are considered at the time of planning phase and these different plans must go through the process as same as in the genetic algorithm i.e. fittest survival. As suggested below in the figureAs shown in the figure. 1.2 The method of finding best outcome of the process using genetic algorithm. Here the primarily task is to suggest some cost estimation plans and with the help of optimization technique we can find out the best plan. To do this task we must have to define all the resources used by the system. Genetic algorithm is very effective optimization technique i.e. imitate genetics and natural selection by a computer program. This concept is same used in the finding of the best plan for the cost estimation before getting started to the software development. Benefits of using GA in Software project planningThis method is very liable and best traditional method to find out the best out of all possible results. This technique is very practical and orthodox and quite suitable for every field where this kind of outcome is needed. By finding the best outcome this is for sure that the cost of the project is approximately estimated and the growth rate of the system goal is rising high because the other parameters supports only if the initial plan is better.

Conclusion:
Using the Genetic Algorithm approach one can find out the best possible outcome among the all cases. Same case is in the software development process i.e. there are too many phases in the development process like- Planning, Requirement analysis, Designing, Coding, Testing & Debugging and Maintenance and Delivery of the software. If we are able to choose the best plan then these phases can works suitably under the suggested environment. To accomplish this task of finding out the best plan we can use the approach of Genetic Algorithm of best fittest survival.

Figure 1: Genetic Algorithm Cycle In the case of software development project our primarily task is to satisfy the need of the customer and to develop the project within an estimated cost. To maximize the profit we must have to minimize the cost with the help of the genetic algorithm.

References:
[1] Pressman S. Roger, Software engineering 5th edition page no 115. Software project planning Mcgraw hill. [2] Leishman, T. R., and VanBuren, J. 2003. The Risk of Not Being Risk Conscious: Software Risk Management Basics, STSC Seminar Series, Hill AFB, UT. [3] Paul L. Bannerman The Journal of Systems and Software 81 (2008) 21182133 NICTA, Australian.

AUTHOR
Deepak Kumar received MCA degree from Kurukshetra University, Kurukshetra in 2011. In 2008, he was Gold medalist in PG Diploma in Internet Journalism of KUK. He has published 6 papers in the journals of national and international repute. FIGURE 2: Flow chart of optimizing cost using genetic algorithm. Volume 3, Issue 1 January February 2014 Page 222

You might also like