An Implementation of Software Project Scheduling and Planning using ACO & EBS 1 Prof. DadaramJadhav, 2 Akshada Paygude, 3 Aishwarya Bhosale, 4 Rahul Bhosale SavitribaiPhule Pune University, Dept. Of Computer Engineering, Trinity College of Engineering & Research, Pune, India dadaram.jadhav@gmail.com 1 akshada.b.p@gmail.com 2 aishwarya.j.bhosale@gmail.com 3 raahulbhosale10@gmail.com 4 Abstract:With increasing use of software s in all fields the need to automate every single activity in a project whether it s a project related to civil, mechanical or medical fields planning and scheduling the project without much human intervention has become vital and easy too. In order to automate these activities a system has to be developed which takes into consideration not only planning, scheduling but efficient resource allocation & cost minimization too. Our system aims at monitoring and scheduling the tasks in any project with task ordering and employee 1. INTRODUCTION: Automated project scheduling systems are used in every field to manage and configure the project requirements, handle staff or estimate resources, time& cost. Existing systems are developed with the assumption that each employee can only be assigned a single job at a time which reduces the flexibility of resource allocation. We have considered all the scenarios for example, an employee can be a part of various development tasks simultaneously and it is possible that he may stop his current work and switch to a more crucial and emergency task. Understanding this situation, we have designed a system with more focus on Task preemption. Efficient project execution comes with proper skill proficiency, timely schedule, employee management and customer satisfaction. We have seen that traditional techniques like PERT, RCPSP, CPM regard task scheduling and human resource allocation as two separated activitiesand leave the job of human resource allocation to be done by project managers manually, resulting in inefficientresource allocation and poor management performance. The two algorithms namely ACO and EBS are used in our system to coordinate these two important aspects. Using ACO algorithm we are able allocation using Ant Colony Optimization algorithm and event basedscheduler. Our implementation covers the key areas such asthe beginning and completion time of the project, task preemption, flexibility in human resource allocation, adjustment of the work load and coordination between the tasks and the employees. Keywords: Software planning and staffing,employee allocation, Ant colony optimization, Eventbased Scheduler to create a task list of the project and employeeallocation matrix. EBS deals with timely coordination of several activities such as making new assignments at event of adjusting the workload. Software Project planning and scheduling System has following stages: (1) Requirement gathering from clients (2) Planning project activities and workload and attendance management (3) Examining employee skills (4) Preparing Task list and project Schedule (5) Assignment of employees based on the schedule and task list (employee allocation matrix) (6) Maintaining Status reports. Customer satisfaction is of utter importance so understanding the exact needs of clients and implementing them is major responsibility. First stage consists of requirement gathering from clients. The second stage aims at converting the client requirements into project activities so as to produce workload schedule.examining employee s skills for performance appraisal and task assignment is the third stage. In fourth stage we prepare an ordered task list, and estimate the schedule. Assignment of employees to best fitted task depending on their skills, tasks and working hours is the fifth stage.after employees are allocated with task they are required to give a timely update of their completed work, extra 29
time, etc. Our system also maintains an attendance management department. 2. PROPOSED SYSTEM In this paper we are trying to create a proper system for software project scheduling and staffing using ACO and EBS algorithms. We will maintain a database for all the users of the system. The users of the system are Administrator, Project Manager, Client and Employees. Each user has a login and related responsibilities. The admin and project has the control over the system. We gather need from the clients and give them separate logins for project information and updates. Employee/client registration, task management, status reports, attendance management, employee leave are the different important modules. 2.1 System Design and Implementation: System design consists of the user machines interacting with each other. Fig. 1.System Architecture Every software project requires the SPSP model for defining the data requirements, maintaining information or preparing plans and schedule. Our system will maintain and update information regarding:[1] (1) Description of employees - We maintain employee details such as wages, skills & working constraints. We have a record of the basic salary, normal working hours, overtime and other personal information. (2) Description of tasks- The description of task is given by the Task Precedence graph, a task is any activity involved in the project. The several attributes of task are like the Time required for the task to complete, work effort in person-months, various skills required, skill set of the employees, maximum headcount (number of employees working on same task), deadline and penalty. (3) Planning objective- Our system has a well-defined plan and schedule of the project which involves start time, end time, working hours required, required labor. Important modules & functions Login our system has separate logins for different users like Admin, Project Manager, Employee and Client. Functions related to users 30
2.1.1 Admin Admin performs the tasks of registering new employees or managers, maintaining status reports of task, employee and the overall project also attendance and Leave management. 2.1.2 Project Manager Add client and project details. Generate or update tasks and task list. Employee allocation and preemption (Busy buttons, switch mode) Produce reports 2.1.3 Employee Check task list Update task status Notify project manager Task preemption if requiredleave application 2.2 Implementation We use Task Precedence Graph (TPG) technique for constructing the task list. It defines a precedence constraint that says a task can only start when all its direct predecessor tasks have completed. For preparing a preordered task list we can use either of the two positioning models: 1) absolute 2) relative. In our system we have used absolute positioning model as it indicates the desirability of putting a task to a certain position using summation rule instead of using relative position as it is not necessary that two tasks will always be related to each other. The task list is prepared taking into consideration the priority of each task and checking its dependents.then the construction of Employee allocation matrix. The employee allocation matrix is given by: whijin is the actual working hours of the ith employee for tj [1] (2) Pheromone management - pheromone values are updated according to the performance of the solutions built by ants. Better performed solutions can be used later also. (3) Daemon actions Daemon actions are optional and are used in improving performance. E.g. local search procedure. The application is developed in a simple manner. First of all we collect client requirements and have a brief idea on how the project will be? What modules will be involved? We prepare a preordered task list which is a list of the several tasks involved in the project and an employee allocation matrix which shows the mapping of employees to aparticular task. The algorithms for constructing and coordinating the Task list and Employee allocation matrix are Ant Colony Optimization Algorithm and Event Based Scheduler. 3. ALGORITHMS 3.1Ant Colony Optimization Algorithm The ant colony optimization algorithm is used for preparing task list and employee allocation matrix. It depicts the foraging behavior of ants and builds the required solution. The pheromone is considered as record of the past results and experience of ants and this pheromone is used as a parameter in the algorithm for building further solutions. The three main procedures of the algorithm are: 3.1.1Solution construction (1) Construction of task list: Fig. 2. Flow of ACO [10] 3.2Event Based Scheduler The event based scheduler is used to maintain coordination between the task list and employee allocation. It maps the employee allocation matrix to the task list prepared. In the EBS, the beginning time 31
of the project, the time when resources are released from finished tasks, and the time when employees join or leave the project are regarded as events. The EBS is characterized by making new assignments at events and adjusts the workload. 4. EXPERIMENTAL RESULTS Using ACO and EBS we are able to develop a system which covers the problem of employee task preemption our application provides the functionality of Busy and Switch task mode for employees so that an employee having multiple skills can work simultaneously on multiple tasks thus reducing cost and need for extra resources. We classify the users of the systems depending on their responsibilities making it easier for handling the system. The employees are rated based on their skills so that they can be allocated to best fitted tasks. Proper plan of the project involving time schedules (start and finish dates), flexibility in updating tasks and employees, automatic adjustments corresponding to events prove to reduce the overall cost of the project and efficient execution. Cocomo model is used for cost estimation.[10] Fig. 3.Screenshot 1 Fig. 4.Screenshot2 32
5. CONCLUSION We developed a system which uses ACO and EBS algorithms which overcomes the challenges proposed by traditional techniques. We have covered issues regarding manual employee allocation and efficient utilization of human resources. Our system is a complete package which focuses on employee management, efficient task ordering and cost reduction, thus making software project planning and scheduling easier and efficient. 6. ACKNOWLEDGMENT We here taking the opportunity in thanking all the people who helped is for completing out project, it would not have been possible to complete this project without them. Firstly we would thank our supportive guide, Prof. DadaramJadhav, for their never ending guidance at all times and providing the guideline without any complaints at any time and also all of the ideas and effort they put into our project. We would also like to thank Prof. S. B. Chaudhari (HOD Comp.) for his interest & cooperation for the project. Expressing our sincere gratitude to TCOER, Pune, for providing us the facilities like Library & Internet. Also thanking all the people who have helped directly or indirectly in completing our project. Satisfaction and Optimization-Based approach, Computers & Operations Research, vol. 35, pp. 3073-3089, 2008. [6]K.N.Vitekar,S.A.Dhanawe,D.B.Hanchate, Review of Solving Software Project SchedulingProblem with Ant Colony Optimization, International Journal of Advanced Research in Electrical, Electronics and Instrumentation EngineeringVol. 2, Issue 4, April 2013 [7] A. Shtub, J.F. Bard, and S. Globerson, Project Management: Processes, Methodologies, and Economics, second ed. Prentice Hall, 2005. [8] O. Bellenguez and E. Ne ron, Methods for the Multi-Skill Project Scheduling Problem, Proc. Ninth Int l Workshop Project Management and Scheduling, pp. 66-69, 2004. [9] AvinashMahadik, An Improved Ant Colony Optimization Algorithm for Software Project Planning and Scheduling, International Journal of Advanced Engineering and Global Technology Vol-2, Issue-1, January 2014 [10] Prof. DadaramJadhav, AkshadaPaygude, AishwaryaBhosale, Rahul Bhosale Analysis on Software Project Scheduling and Planning using ACO and EBS International Journal of Advent Research in Computer and Electronics (IJARCE) Vol-1, Issue 7, November 2014 REFERENCES [1] Wei-Neng Chen and Jun Zhang, Ant Colony Optimization for Software Project Scheduling and Staffing with an Event-Based Scheduler, IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 39, NO. 1, JANUARY 2013 [2]Ms.MinalC.Toley, Prof.V.B.Bhagat, An Application of Ant Colony Optimization for Software Project Scheduling with Algorithm In Artificial Intelligence, International Journal of Application or Innovation in Engineering & Management (IJAIEM) Volume 3, Issue 2, February 2014 [3] J. Duggan, H. Byrne, and G.J. Lyons, A Task Allocation Optimizer for Software Construction, IEEE Software, vol. 21, no. 3, pp. 76-82, May/June 2004. [4] R.-G.Dingand X.-H.Jing, Five Principles of Project Management in Software Companies, Project Management Technology (in Chinese), vol. 1, 2003. [5] A. Barreto, M. de O. Barros, C.M.L. Werner, Staffing a Software Project: A Constraint 33