Disribuing Human Resources among Sofware Developmen Proecs Macario Polo, María Dolores Maeos, Mario Piaini and rancisco Ruiz Summary This paper presens a mehod for esimaing he disribuion of human resources o be assigned o developmen proecs. The esimaion calculaes he opimal disribuion from he economical poin of view (i.e.: ha which less coss). To accomplish his, we buil an economical model o disribue human resources among proecs in one organisaion. The equaions and algorihms used o do his are presened in he paper. We also briefly presen a ool which does hese esimaions.. Inroducion In he las few years, an increasing demand for personnel qualified in Informaion Technologies has been observed, which grealy exceeds he offer: in 998 here was in Europe 500,000 free posiions in IT, wih an expeced increase of up o 2.4 million people for he year 2004 []. Some repors from he European Commission also confirm his endency [2][3], which is reviewed by daily newspapers almos every monh. The siuaion in he U.S.A. is quie similar: he yearly number of visas for foreigners qualified in Informaion Technologies has been increased o he poin of 300,000 ones, alhough big sofware organizaions have solicied a greaer number of licenses. Wih his siuaion, sofware organizaions mus do an adequae planning of heir human resources among he differen proecs ha hey are carrying ou. An addiional difficuly is o fix he number of developmen proecs o be acceped by a sofware organizaion, when many imes i is known ha he organizaion has no (and will no have) people enough o execue all he proecs in ime and budge. However, he reecion of a sofware proec will cause probably he loss of ha cusomer for he organizaion, and maybe a negaive impac on oher poenial cusomers. Therefore, i is imporan o accep proecs, bu i is also a basic aciviy o disribue he human resources in an adequae way among all of hem, and his one is he main goal of his paper. We propose o make an economical model of he porfolio of sofware developmen proecs, in order o esimae he opimal quaniy of human resources o be devoed o each proec, during every day of he considered period. We have successfully esed he mehod wih several proecs which use differen life cycle models, alhough we have reasons o believe ha i can be easily adapable o sill-non-sudied life cycles. This mehod is a very advanced evoluion of he work presened las year in his same forum [4]. The paper is organized as follows: Secion 2 explains he model we use o represen a porfolio of developmen proecs from an economical poin of view, which includes several equaions. In Secion 3, an algorihm o calculae he disribuion is presened, as This work is par of he MPM and MATIS proecs. MPM is developed wih Aos ODS, S.A. and parially suppored by he Miniserio de Ciencia y Tecnología, Programa de Tecnologías de la Información y las Comunicaciones (IT-070000-2000-307); MATIS is parially suppored by he European Union and CICYT (D97-608TIC).
well as CRED, a ool we have developed o do esimaions. Secion 4 exposes our conclusions and fuure and immediae work lines. 2. Economical model of a porfolio of developmen proecs One of he primary goals of he sofware organizaion is o obain economical benefis from he developmens. Independenly of he life cycle seleced for a given proec, his one can be considered as he union of several subproecs. Someimes, he consecuion of a subproec will be a mus o sar anoher one (in he waerfall life cycle model, he requiremen analysis comes before he design phase), bu oher imes, he life cycle seleced allows o develop in parallel differen pars of he sysem. Depending on he conrac beween he cusomer and he supplier organizaions, maybe some of hose subproecs mus be delivered according o a previously signed scheduling. or example, a sysem developed using he Unified Process can be delivered in several releases, each one wih some incremen of funcionaliy wih respec o he previous one. These successive releases consiue parial resuls whose dae of deliver, prize and possible sancions by delay may be covenaned in he developmen conrac. 2.. Maximizaion equaion The sofware organizaion mus ake ino accoun all hese facors o do an adequae resource assignmen o each proec and subproec, wih he primary goal of maximize is economical benefis. This can be represened by he following equaion: Max B = I C = i= ( Ii Ci) Eq. In Eq.., B represens he benefis produced by he developmen proecs in he porfolio; I and C respecively are he oal incomes and coss, whereas Ii and Ci represen he incomes and coss of he i-h proec. As every proec is an aggregaion of subproecs, Eq. can be rewrien in his way: Max B i = i= = ( Ii Ci) Eq. 2 In Eq. 2, i is he number of subproecs if he i-h proec, and Ii and Ci are, respecively, he incomes and coss of he -h subproec of he i-h proec (hereinafer, he i subproec). Depending so on he conrac as on he seleced life cycle, someimes Ii will be zero, since no all subproecs will be delivered o he cusomer and hey will no produce any income. In he oher side, Ii is ypically covenaned in he developmen conrac, since he cusomer organizaion needs o know he proec budge before is assignmen o he developmen organizaion. Coss of each subproec are differen: each one akes more or less ime han anoher one, and he people in charge of hem have differen levels and salaries (analyss, programmers, ess engineers...). Anoher influencing facor on he coss of a subproec (and, herefore, on he coss of he complee proec) is he exisence of delays in he dae of delivering and of sancions by delays. Wih his assumpion, coss of he i proec can be represened in his manner: Ci = Ri + Qi Eq. 3
Ri are he coss of he resources devoed o he subproec, whereas Qi is he quaniy o be paid by sancions due o delays in he i subproec. We suppose ha a subproec needs only one ype of resource (analyss, for example): oherwise, i could be divided ino more subproecs. Wih his consideraion, Ri can be expressed in his way: Ri = ( Ti h) = Eq. 4 In Eq. 4, Ti is he number of hours of he -h resource needed o execue he i subproec; is he number of differen resources (analyss, programmers, es engineers, ec.); h represens he cos of one hour of resource of he ype. The second variable of Eq. 3, Qi, depends on he scheduled dae of delivering (or scheduled duraion) for he i proec and on he real dae (or real duraion). A a firs sigh, Qi can be expressed in his way: Qi = Si ( Ei Pi) Eq. 5 In Eq. 5, Si is he covenaned sancion for he i subproec (obviously, if such subproec will no be delivered, i will no have any sancion, alhough i could have some influence on nex subproecs). Ei isherealnumberofdaysusedofinishhei proec, whereas Pi is he scheduled duraion, also in days, which depends on he oal number of hours of effor required by he i proec (Ti ). = Pi was esimaed by he sofware organizaion using some esimaion mehod and is covenaned in he conrac. The value of Ei depends on he number of hours devoed o he subproec. In a given subproec, we will reach he value of Ei when he sum of he hours devoed each day o he i proec will be equal o he number of required hours of he -h resource, Ti. In oher words: Ei = m m / e ik = Ti Eq. 6 k = = = In Eq. 6, e ik is he number of hours of he -h resource devoed o he i proec in he k-h day. A his poin, we have characerized all he variables we need o rewrie Eq. : Max B = I C = = i= i i Ii ( Ti h) Si ( Ei Pi) i= = = ( Ii Ci) = i= = ( Ii Ci) = i i= = [ Ii Ri Qi] = Eq. 7 In Eq. 7, he only unknown quaniy is Ei, since he res have previously assigned values. 2.2. Consrains To esimae he opimal disribuion of resources, we mus idenify now he possible consrains o be applied o Eq. 7.
The firs consrain represens he fac ha he sum of he hours of a given resource devoed during a concree day o all subproecs canno be greaer han he available number of hours of ha kind of resource in ha day (A, A 2 ): e + e2 +... + e A [, ], e 2 + e2 2 +... + e 2 A 2 [, ],... The subindex is used o group resources by is ype (i.e.: analyss, programmers...). Eq. 8 summarizes he previous equaions: i= eik AK,, k Eq. 8 The nex consrain means ha he ime devoed o a subproec mus be equal o he ime required by i: i = eik = Ti, k, Eq. 9 The following simple consrains deermine he minimal values of he variables ha inervene in Eq. 7: Ii 0 hi 0 Si 0 T e i A ik K 0 0 0,, k, k Eq. 0o5 2.3. Complee model (for reference) Wih all he equaions saed in he previous subsecions, he porfolio of proecs can be modelled wih he following equaion:
i Max B = Ii i subec o : eik AK,, k i= eik = Ti, k, = Ii 0 h 0 Si 0 Ti 0, eik 0, k AK 0, k = = = ( Ti h) Si ( Ei Pi) The meaning of each variable in he lef side is he following: = number of proecs in he porfolio i = number of subproecs in he i-h proec Ii = incomes by he i subproec =number of differen ypes of resources Ti = number of hours required of resource ype by he i subproec h = cos of each hour of resource devoed o he i subproec Si =sancionobepaidbyeachdayofdelayinhedeliverofhei subproec Ei = real number of days used o finish he i proec Pi is he scheduled duraion (in days) of he i subproec e = resources devoed he k-h day o he i subproec i A K = available resources of he ype in he k-h day I is imporan o remember he following definiion of Ei (Eq. 6): Ei = m m / e ik = Ti. This equaion is he basis o esimae he opimal disribuion of resources. k = = = 3. Resources esimaion All we need o esimae he resources o be assigned o every developmen proec in he porfolio is o resolve he equaion shown in Secion 2.3. As no all he consrains are lineal (see Eq. 6), he simplex mehod canno be used. Some of he candidae mehods o resolve his kind of equaions are Geneic algorihms or Simulaed annealing. However, as he number of unknown values is very lile, we can find a very good approximaion o he opimal soluion esing all he possible combinaions.
3.. Algoryhm A coarse version of he algorihm could be he following: max =-MAXDOUBLE for k=0 o maxduraion for i= o do for = o for e=0 o A[,k] e[i,,k,]=e if Benefi()>max hen max=benefi() saveparameers(i,,k,e) endif end end end end igure. irs version of he algoryhm. Obviously, he code in igure can be very opimized hrough he applicaion of he consrains and some oher rules. or example: We will assign resources (assignmen of values o he e arrayinigure) when: o o The i proec needs hem In he k-h day, here are available resources of he ype which is being esed. We will calculae he benefi (Eq. 7) when he curren combinaion which is being esed implies he finalizaion of all he proecs in he porfolio. The e array can be a vecor (wih he consequen memory saving): only some ransformaion rules are required. 3.2. CRED: a ool for esimaing resources disribuion In order o do he auomaic esimaion of resources, we have developed CRED, a ool which helps in he calculus of he resources disribuion. I implemens an opimised version of he algorihm previous. igure 2 shows one he CRED s screens, in he momen of doing an esimaion. igure 2. CRED during he calculus of a disribuion.
CRED allows he racking of he proecs, o change he assignaion, ec. In his manner, several kind of repors, saisics and graphics can be obained, in order o analyze effors, resources, ec., and compare hem agains a baseline. igure 3 shows he screen used o change he emporary availabiliy of resources. igure 3. Changing resources availabiliy. igure 4 shows a view of he class diagrams used o build he ool: resources needed by a subproec are deermined by he associaion wih he Resourceecessiy class. Porfolio 0..* -mproecs Proec -m Subproecs..* Subproec -mrequired Resourceecessiy -mresource Resource..* igure 4. Concepual diagram. 3.3. Conex of CRED CRED is now being adaped o allow is full inegraion in MATIS [5], an inegral environmen for managing mainenance proecs. MATIS uses XMI o exchange informaion among he ools ha compose i. In his conex, CRED should be capable of sending is informaion o MATIS in a sandardized forma based on XML, which is one of our curren works.
4. Conclusions and fuure work This paper has presened a mehod and a ool o esimae he disribuion of resources o be assigned o developmen proecs. The esimaion aemps o assure an opimal disribuion from he economical poin of view. Boh he mehod and he ool mus be modified in order o ake ino accoun: Dependencies (i.e.: a subproec canno begin before he end of anoher one) Indirec coss (i.e.: he organizaion canno accep a proec because i will no have available resources) 5. References [] Bourke, T.M. (999). Seven maor ICT companies oin he European Commission o work owards closing he skills gap in Europe (Press Release). Available also a (ov., 7, 2000): hp://www.career-space.com/whas_new/press_rel.doc [2] European Commission (999). The compeiiveness of European enerprises in he face of globalisaion. Available a (ov, 7, 2000): hp://europa.eu.in/comm/research/pdf/com98-78en.pdf [3] European Commission (2000). Employmen in Europe 2000. Available a (ov., 7, 2000): hp://europa.eu.in/comm/employmen_social/empl&esf/docs/empleurope2000_en.pdf [4] Polo, M., Piaini, M. and Ruiz,. (2000). Planning he non-planneable mainenance. Proec Conrol, The Human acor: Proceedings of he ESCOM-SCOPE 2000 Combined Conference. Munich, Germany. [5] Ruiz,., Piaini,. and Polo, M. (200). An Inegraed Environmen for Managing Sofware Mainenance Proecs. In van Bon (Ed.): World Class IT Service Managemen Guide, 2 nd ediion. Addison Wesley.