Boğaziçi University
Department of Management Information Systems
MIS 463 Decision Support Systems for Business
PROJECT FINAL REPORT
A DSS FOR RESOURCE ALLOCATION
Project Team No:02
Gökdal Alıcı
Burcu Balım
Mehmet Nuri Can
Mustafa Yörük
Instructor : Aslı Sencer Erdem
İstanbul –21 December, 2008
Table of Content
Table of Content
I. INTRODUCTION
I.1 The Decision Environment
I.2 Mission of Project
I.3 Scope of Project
I.4 Methodology
II. LITERATURE SURVEY
III. DEVELOPMENT OF THE DSS
III.1. DSS Architecture
III.2 Technical Issues
III.3. Model and Algorithms
Resource Allocation
III.4. Data Source and Flow Mechanisms
III.4.1 Steps of a CRM Project in Cynda Company and Their Related Skills
III.4.2. Emloyees’ Knowledge of Skills
III.5. User Interface and Reports
III.5.1. Main Page of the system
III.5.2. New Project Page
III.5.3. Add Skill
III.5.4. DSS is Ready to Run
III.5.5. Output Page
III.5.6. Output Graph
III.5.7. Available Projects
III.5.8. Employees
III.5.9. Tasks
IV. ASSESSMENT
V. CONCLUSION
REFERENCES
Bibliography
I. INTRODUCTION
As a group 02, we developed a Decision Support System Model in order to solve recourse allocation problem of Cynda Company. Cynda is IT Consultancy Company and cannot effectively tap into its employees and resources to its current projects. Therefore; it loses potential incomes.
To improve the effective and efficient work system we are developing a DSS for Human Resource Allocation. With this DSS Model, project managers will choose the best-fitted employees for the current and forthcoming projects.
I.1 The Decision Environment
Cynda is a company which provides IT consultancy services to its customers in different areas of technology. CRM software consultancy is one of its core areas. The Cynda is a certified gold partner of Microsoft and it is marketing Microsoft CRM product.
There is a CRM team which comprises 21 members and 1 team manager in the Cynda company. Most of the members are developers; however there are 3 analysts and one sales director in that team.
Nowadays CRM is a very popular issue and several companies want to buy a CRM software package under the effect of this trend. Moreover, the Cynda has a positive reputation in its sector. Because of those reasons, there are many potential and existing CRM customers for the Cynda Company. Nevertheless, the Cynda has some efficiency problems. Although there are many potential and existing customers as mentioned above, profit level of the projects is not satisfactory.
According to the company managers, there are two main reasons of this problem. First one is nonefficient project management. The Cynda is working on a software project management methodology and wants to adopt it to the CRM projects. Second reason is about employee, in other words resource allocation.
Resource allocotion in CRM team is done by classical methods. Whenever a new project starts, members are asked if they are available for the time. If there are enough available members, no problem occurs. However, most of the time all 21 members are busy with on-going projects and it is not possible to start a new project immediately. Moreover, exact available times of employees are not clear, and to determine this information repetitively is a loss of time and energy.
Another critical problem in resource allocation is about specialities of CRM team members. Each of 21 members has different capabilities and excellence. However, specialization level of members is not measured in a meaningful way. Of course, there is an impression for the speciality of each member in the head of the team manager, but this is strongly a subjective measurement. That situation causes some difficulties to anticipate the duration of the projects. A project which can be completed in 30 days by 2 experienced members can be completed in, for example, 60 days by 2 inexperienced members or in 45 days by 1 experienced and 1 inexperienced member, but it is not possible to determine those numbers without using an objective measurement methodology. This uncertainity can cause a negative difference between planned and actual time of the projects and that means a profit loss for the Cynda Company.
I.2 Mission of Project
This project aims at desiging and developing a decision support system for resource allocation problem in the Cynda Company. Developing a rule to determine the level of specialization in CRM team is one of the important steps of the project. To be able to track exact avaliable times of employees is another critical step.
After completion of this project, the Cynda plans to find a useful solution to its resource allocation problem and not to loose more time or energy to do this job.
I.3 Scope of Project
Basically, this project is a part of the steps to improve the employee efficiency of the Cynda Company, but it is not the only step. There are complementary parts of reaching this goal. In other words, “A DSS for Resource Allocation” solely contains the subjects which affect resource allocation in CRM projects. In other words, the project is applied to the Cynda’s consltancy department and its members who are responsible for CRM projects. The Improvement in project management methodology or other solutions of increasing efficiency are not in the scope of this project.
I.4 Methodology
The main problem of the Cynda Company stems from using labour resources in an unefficient methodology and here we try to put work distribution in a right order. We aim to optimize using of labour resources of company and operation researh tecniques is the right solution for us.
The trigger of the system is a new project registration. A project basically has some parameters such as complexity, importance, required man hour to develop, expected finish time and so on. We must determine these values for all projects with a measurable number interval. Constraints of system come from situation of employees and complexity of the project. Work intensity, seniority and skills are main constraints. All these constraints must have quantitative values to be distinguished effectively.
All of these parameters must be used in decision phase to reach an optimum role distribution. End of the process, we must get an output of allocation with the information of project team leader, project members and project time.
During our literature survey, we have found and red many benefical articals. One of them called “A systematic approach for resource allocation in software projects” was really helpful to adopt a model to our case. The problem described in that paper have lots of similarities with the situation of Cynda Company. So, we decided to apply this allocation method to our model by changing some of its parts which we have to do because of case specific issues those will be explained in the development of DSS part.The model mentioned in this article is called Best-Fitted Resource and it is derived by using linear programming.
II. LITERATURE SURVEY
Copmleting a software project within given time and budget is one of the main problems for the Software Companies.Lingberg states that, Only about 16% of software projects are on time and within budget.(Lingberg, 1999)
Software development projects are continually be set with serious and persistent problems, such as significant overruns in cost and schedule, poor reliability,and user dissatisfaction with the product. Increasingly, effective project management is an important prerequisite for the successful delivery of software systems on budget and on schedule. (Sengupta, Abdel-Hamid, & Bosley, 1999) One of the most critical factors driving the cost of software projects: the staffing decision. (Jeffery, 1987)
Brooks described the difficulty that managers have in making staffing decisions. (]F.Brooks, 1975) As projects slipped behind schedule, managers would attempt to increase the staff at fairly late stages in order to speed up the project. However, employing more people would resultin higher communication and training overheads, thereby affecting adversely the productivity of the existing staff, and setting the project back even further. (Sengupta, Abdel-Hamid, & Bosley, 1999)
To assign right person to the right project is a complicated decision. Major contributors to the outcome of software projects are personnel assignment decisions. (Abdel-Hamid, 1989)
Productivity and efficiency of projects are strongly related to task durations. An expected benefit from improving resource allocation processes is decreased tasks’ durations, which will allow companies to be more productive. (Kolisch, 1999)
Despite all the research and advances in the field, managing software personnel remains a very complicated endeavor. A major contributor to this complexity is the increased demand for specialized individual skills in the workforce, which results from high turnover rates and the fast pace at which new technologies and techniques are being developed. As a result of higher demands, candidates with exact required skills to work tasks are usually not available. Due to the lack of proper methods to assess personnel capabilities, decision makers are forced to assign resources to tasks based on subjective measures only. This results in excess training times that significantly affect the schedule of projects. Therefore, further studies of processes and techniques for personnel management are necessary to provide better solutions in terms of quality, cost, and schedule. (Otero, 2008)
Training time of employees is another critical issue in software projects and this subject is a factor of duration of the projects. One specific characteristic in software projects is that tasks are usually not expedited by adding extra resources (Plekhanova, 1999), since there is significant overhead training and communication time required for resources to get familiarized with tasks (Abdel-Hamid, 1989). Another specific characteristic in software projects is that estimates of tasks’ durations are very imprecise, since they depend on a set of factors that are hard to estimate such as capabilities of developers. (Plekhanova, 1999)
Because a resource allocation methodology in software projects is not common and well-determined, most managers make allocation decisions in a highly subjective mannet. According to Acuna et al. software managers typically make assignments based on ‘‘their experience, heuristic knowledge, subjective perception, and instinct" (Acuna, Juristo, & Moreno, 2006)
III. DEVELOPMENT OF THE DSS
III.1. DSS Architecture
Our DSS model is based on the Best-Fitted Resource methodology. It is a new allocation model developed in United States by Luis Daniel Otero et al. We will made some changes to adopt this model to the resource allocation problem of Cynda.
Our inputs will be produced by determination of core skills and related skills for a CRM project. Defining tasks of a CRM software project is another major part to clearly list the inputs.
Details of our model will be explained in the models and algorithms part.
III.2 Technical Issues
Determining the right technical environment for managing and developing a software project plays a crucial role to accomplish a solution that exactly suits the business requirements. So, we concluded the following technical issues that we should handle with appropriately:
- establishing the range of decision making requirements needed;
- specification of the prototype DSS - architecture, standards, interface, data extraction and transfer methods;
- Definition of standard or compatible models of data collection.
The project team undertook the following phases to handle the technical issues:
- A research phase which developed baseline requirements and assessed the use made of DSS.
- Specification and development of the prototype, undertaken jointly by two employees working for the Cynda Company. An iterative rapid prototyping methodology was followed, instead of the original plan of detailed user specification and subsequent development.
- Field-testing in real-time decision making and management environments in the Cynda Company.
- Finalization of the prototype and definition of standard models of data collection, extraction, interpretation and presentation for DSS.
These phases enable the project team to have some control over adaptability and use of DSS software by choosing appropriate software tools and hardware that are useful enough to provide the desired facilities. Therefore, DSS project team decided to develop software on following technical environment.
- Platform: Windows XP professional
- Tool : MS Office Excel 2003
Languages: MS Visual Basic and VBscript
III.3. Model and Algorithms
As it is mentioned before, we will use a base methodolgy called Best-Fitted Resource(BFR) which is developed by Luis Daniel Otero et al. However we will make a minor change in that methodology to adopt it into our case.
Basically BFR was developed to solve resource allocation problem in software projects. It assumes that there can be diversified projects in a software company. Task and abilities needed can change according to the nature of the specific project. So, this model is designed to be implemented in software projects which have different tasks and needs different skills.
However the Cynda case is a little bit different from that assumption. Cynda CRM team has several projects, their contents are not totaly the same, but most of the content in other words tasks and skills needed are the same. The steps of a CRM project are clearly known which means all tasks are already determined. Skills needed for a CRM project are also known very well, and they are not varying too much. So, we decided to fix our tasks and assume that there will not be any different task in a CRM project. If there becomes, the model which we offer can be updated for the new task. Briefly we use BFR methodolgy on task basis, not on project basis, and we assume that our tasks are not changeable.
In this method, the definition of skills needed for a project is very important. Possible skills needed for a CRM project are;
- C# knowledge
- Analysis ability
- SQL knowledge
- Reporting Services knowledge
- Presentation Skills
- SQL Server knowledge
- Java Script knowledge
- VB Script Knowledge
- MS CRM knowledge
Those skills can be enhanced or narrowed.
Clearly defining tasks is another critical point of our method. We divided a CRM project to 5 steps for the moment. They are;
- Analysis & Basic Customizations
- Installation & Configuration
- Development & Implementation
- Documentation
- Training
BFR also asseses related skills to our core skills. For example C# knowledge is a must for implementation task. Let’s say one of Cynda’s resources does not know C# very well, but he has a perfect Java knowlegde. Those coding languages are very similar, and we can assume that this employee can easily use C# because of his excellence in Java. Listing all available skills which exist in Cynda CRM team is another prerequisite for our model.
So, we aim to evaluate employee skills in Cynda CRM team according to the project tasks. After this evaluation employees will be assigned to the tasks of projects if they are available.
BFR methodolgy defines many inputs and allocate the resources to the projects by using linear programming. The summary of these inputs and related outputs are listed below. The details are available in the following pages.
Hsetofallskills
H (t)setofrequiredskills fortaskt
ejtexpecteduseofskilljontaskt.Assigned values rangefrom 0
to1
1= highly used
0=notused
cjtcomplexity ofskill jontaskt.Assigned values rangefrom 0
to1
1= highlevel ofcomplexity on thetaskforthisskill
0=nocomplexity
sjtsignificance ofskill jontaskt=cjpejp.Calculated values rangefrom 0to1
1= critically important
0=notimportant
rjkrelationshipbetweenthelevel ofknowledge ofknownskillj andthelevel ofknowledge forrequiredskill k.Assigned values rangefrom 0to1
1= strongrelationship
0=norelationship
ifj= kandthelevel ofknowledge ofbothjandkareequal, thenrjj =1
lyjlevel ofknowledge ofresourceyforskill j.Assigned values
rangefrom 0to1
1= expert
0=noknowledge
byjrelationshipbetweenresourceyanditsknownskills and skill jcalculatedvalues rangefrom 0to1
1= strongrelationship;resourceyisanexpertintheskill orahighly relatedskill
0=noknowledge intheskill orinarelatedskill
fytfitofresourceytotaskt.Calculated values rangefrom 0to1
1= strongfit
0=resourceisabadfitforthetask
There are 5 steps to describe those inputs and to find outputs;
- Task Required Skills(TSR) – TSR Table
- Skill Relationships(SR) – SR Table
- Resources’ Skill Set(RSS) – RSS Table
- Best-Fitted Resource(BFR) – BFR Table
- Resource Allocation to Multiple Tasks (RA)
Graphical representation of these steps has been showed below.
The Steps of Best-Fitted Resource Methodology
Note: Most of the following part which describes the model eleborately is taken from “A systematic approach for resource allocation” paper.
Thefirst stepoftheprocess istodefine levels ofskills required for atask. Each skill level isspecified intermsofitsexpected use(ejt)andcomplexity(cjt). For simplicity andflexibility, bothejtandcjt aredefined subjectively by decision makerswithdiscrete values ranging from 0 to1.Default levels for ejtandcjtareas follows:
Forejt,defaultvalues are:
Little use= 0.3
Significant use=0.7
Extensive use= 1.0
Forcjt,defaultvalues are:
Simple = 0.2
Complex = 0.5
Very challenging =1.0
Thesignificance ofeachrequiredskill fora task, representedas sjt,iscalculatedastheproductoftheexpecteduseindextimesthe complexityindex.
Theobjective oftheSR Table istoshowthelearning curve relationships(rjk)betweenknownandunknownskills. Decision makerssubjectively define learningcurve relationshipswith discretevalues ranging from0 to1.Default values for rjk values areasfollows:
Norelationship=0
Weak = 0.2
Intermediate= 0.5
Strong =1.0
Thethirdstepoftheprocess isto prepareatabularrepresentationoftheknowledge ofavailable resourceswithdiscretevalues ranging from 0to1.These values arealso subjectively defined by decision makers. Default values areasfollows:
Noknowledge = 0
Low= 0.2
Intermediate= 0.5
High=1
Thefourthstepoftheprocess istosetupaBFRtabletodeterminethesuitabilityofavailable resourceswiththeskills required foratask. Themostsuitableresourcewillmostlikely taketheleast amountoftrainingtime.Forarequiredskillk, therearetwofactors consideredforeachresourcey.Thefirst factor isthelevel ofknowledge ofresourceyintherequiredskill, denotedbylyk.Thesecond factor isthelevel ofknowledge ofresourceyinallotherpossible skills andtheirrelationshipto thedesiredskill,obtainedbymultiplying lyh*rhk,wherehEH. The capability of aresourceinarequiredskill, whichis anindicatorof theexpectedtrainingtime, isdefined as: