Académique Documents
Professionnel Documents
Culture Documents
Money, so they say / Is the root of all evil / Today Pink Floyd "Oh dear! Oh dear! I shall be too late!" White Rabbit Alice In Wonderland
!Cunto cuesta desarrollar soft"are# $ !%u& costos 'ay asociados al desarrollo de un (roducto de soft"are#
Costo y el Esfuerzo
Costos de Hardware y Software Costos de Viajes y Aprendizaje Costos de Esfuerzo Sueldos Ingenieros Gastos de Seguros, Seguridad Social, etc, Costos de Alquiler, Condominio, uz, impieza, Ser!icios Varios Costos de "edes y Comunicaci#n Costos de "ecursos Compartidos, Administraci#n, Salas de "euni#n, etc$tera
Costo y el Esfuerzo Para calcular los costos de un sistema es necesario calcular) entre otras cosas su tamao y en consecuencia el esfuerzo necesario (ara desarrollarlo
Mtricas Qu son y por qu son necesarias? Mtricas de Software: una m&trica es cual,uier medida o con/unto de medidas destinadas a conocer o estimar el tama.o u otra caracter0stica de un soft"are o un sistema de informacin) +eneralmente (ara realizar comparati!as o (ara la planificacin de (royectos de desarrollo
75iles de 80neas de Cdi+o9 *:8;C<=mero de Clases e >nterfaces
Puntos de Funcin
*tras+++
(uente) 'tt(122es3"i4i(edia3or+2"i4i25&trica6*informtica-
Un (ro+rama escrito en CAA tiene C003000 lineas de cdi+o *C00 KLOCUn (ro+rama escrito en Assembler tiene D003000 lineas de cdi+o *D00 KLOC%Cu,l de los dos programas es m,s grande' %Cu,l de los dos requiri# m,s esfuerzo'
Un (ro+ramador escribe unas -... lineas de cdi+o a la semana *en Assembler;tro (ro+ramador escribe unas /.. lineas de cdi+o a la semana *en CAA%Cu,l de los dos programadores es el m,s producti!o'
peor a0n+++
Un (ro+ramador escribe unas /.. lineas de cdi+o a la semana *en CAA;tro (ro+ramador escribe unas 1/. lineas de cdi+o a la semana *en CAA%Cu,l de los dos programadores es el m,s producti!o' %Se pueden considerar otros factores para comparar a los programadores'
por ejemplo+++
as l7neas de c#digo en si mismas no son una m$trica adecuada para medir el tama&o de un sistema Es necesaria una m$trica que sea independiente de la tecnolog7a utilizada
Puntos de Funcin Es una m&trica ,ue sirve (ara estimar el tamao de una a(licacin de forma independiente del len+ua/e de (ro+ramacin o las tecnolo+0as utilizadas 8os requisitos funcionales del sistema son identificados y clasificados dentro de cada uno de los si+uientes cinco ti(os1 entradas, salidas, interacciones con el usuario, interfaces externas y arc i!os utilizados por el sistema 8a m&trica fue fundamentalmente dise.ada (ara sistemas de informacin de +estin *de ne+ocios) em(resariales) etc&tera-
Es decir) ; os puntos de funci#n miden el tama&o de un sistema en t$rminos de la cantidad de funcionalidad del sistema<
Puntos de Funcin ! Co"ponentes #$sicos% $ntradas: >U $G *Arc'ivos 2 ED 2 ;tros FistemasSalidas: *Arc'ivos 2 ED 2 ;tros Fistemas- $G >U "nteracciones # Consultas: >U $G Arc'ivos 2 ED $G U> "nterfaces $xternas: >nte+racin con otras a(licaciones) bases de datos) etc&tera eBternas al sistema %rc i!os &"nterfaces' "nternos: >nte+racin con fuentes de datos internas
Puntos de Funcin PF% Cada uno de los elementos de las cate+or0as anteriores se vuelve a clasificar se+=n su com(le/idad en sim(les) (romedio y com(le/o) asi+nando (esos adicionales ,ue van de I a C *res(ectivamenteCategor7a Entradas Falidas >nteracciones >nterfaces EBternas Arc'ivos >nternos Cantidad @otal H I H C 2 Simples -BI 4BI :BI 4BI :BI >romedio :BJ .BJ .BJ -BJ .BJ Complejos -B C .B C :B C -B C .BJ >untos de (unci#n IA HA CK4: DA0A0KA LAI0K49 DAJA CK4LA0A0K9 --?
2 I H C L J M D 0 2 I H
CA7 8 & 9: ; & &/ < N CA7 8 & 9: ; & &/ < 43 CA7 8 1.08 CA( puede !ariar entre .+9/ 2todos los ratings en .6 Fasta -+4/ 2todos los ratings en /6
< CA7
%Bui$n decide cu,ntas S *C por >( se !an a tener por cada >('
(uente: 'tt(122"""3,sm3com2resources2function$(oint$lan+ua+es$table2indeB3'tml
Es posi5le calcular la cantidad de l7neas de c#digo 2Source ines *f Code 8 S *C6 que tendr, la aplicaci#n) SLOC 8 LAN>?7ACTO@ < =7 SLOC 8 :: < /A, SLOC 8 90A&
Puntos de Funcin
Puntos de Funcin
Puntos de Funcin
+++ mucFos de los factores que afectan estas preguntas dependen de la tecnolog7a utilizada y de la eLperiencia y Fa5ilidades del equipo de desarrollo
$stad1sticas/// >nformacin de (royectos anteriores ,ue sirva como base (ara realizar estimaciones confiables ,ue tomen en cuenta los factores or+anizacionables no contem(lados 'asta los momentos
Puntos de Funcin
*ien+ su(oniendo ,ue nues!ros c-$cu$os . es!i"aciones sean correc!as+ nues!ro sis!e"a !iene (!endr- /01 (un!os de funci2n . si $o i"($e"en!a"os en Java !endr- cerca de 3405 $6neas de c2digo...
7778 ,u9:::
Puntos de Funcin
+a e,trate&ia de PF ,e ba,a en la e'(eriencia del -.e calc.le lo, PF /0.nda1ental1ente2 y en el conoci1iento y &rado de correcta a3licaci4n de lo, criterio, .,ado, 3ara calc.larlo,
Puntos de Funcin
Adems... 5on lo, PF o la cantidad de l(nea, de c4di&o no reso$ve"os e$ (ro#$e"a de deter1inar el co,to de .na a3licaci4n666
Fi se (uede tener una estimacin del tama.o de la a(licacin) entonces es (osible calcular el esfuerzo re,uerido (ara desarrollar el sistema con una frmula como la si+uiente1 EsfuerBo8A < TamaCoD < E
2C
20
0 0 20 I0 H0 C0 L0 J0 M0 D0 00
?ama.o *PF-
COCOMO &Constructi!e Cost Model': Es una estrate+ia basada en el modelado al+or0tmico de costos) desarrollada en DM (or Earry R3 Eoe'm Fe bas en el estudio de LI (royectos de soft"are desarrollados fundamentalmente usando el modelo de (roceso en cascada y ,ue oscilaban entre las 23000 a las 003000 l0neas de cdi+o
&:
< E
)royectos Moderados: A(licaciones ms com(le/as en las ,ue el e,ui(o de desarrollo tiene eB(eriencia limitada en el ti(o de sistema en cuestin
/A
< E
)royectos 2$mpotrados3: Proyectos com(le/os donde la a(licacin es (arte de un fuerte aco(lamiento de soft"are) 'ard"are y re+las o(eracionales
A&
< E
A!ri#u!os de sof!>are
A!ri#u!os de ?ard>are
Re,triccione, de 1e1oria %irt.al F?;N <olatilidad de la 1)-.ina %irt.al Q>N? :ie13o de re,3.e,ta 5a3acidad de an)li,i, =*3eriencia en la a3licaci4n 5alidad de lo, 3ro&ra1adore, =*3eriencia en la 1)-.ina %irt.al =*3eriencia en el len&.a8e :>cnica, act.ali?ada, de 3ro&ra1aci4n @tili?aci4n de herra1ienta, de ,o0tAare Re,triccione, de tie13o de de,arrollo ?UN< ACAP AEPP PCAP QEPP 8EPP 5;DP ?;;8 FCED
A!ri#u!os de (ersona$
(uente) 'tt(122es3"i4i(edia3or+2"i4i2C;C;5;
Modelo 4,sico: 5K Modelo "ntermedio: 5 K NE8S T DA?A T CP8P T ?>5E T F?;N T Q>N? T ?UN< T ACAP T AEPP T PCAP T QEPP T 8EPP T 5;DP T ?;;8 T FCED
COCOMO "" &Constructi!e Cost Model': Desarrollado (or Earry Eoe'm y otros autores en el a.o DDJ *(ublicado en el a.o 2000-3 >ncor(ora a C;C;5; M elementos adicionales ,ue (ermiten 'acer me/ores estimaciones en funcin a las t&cnicas y tecnolo+0as de desarrollo de soft"are eBistentes en la actualidad
'tt(122sunset3usc3edu2csse2researc'2C;C;5;>>2cocomo6main3'tml
@erramienta (ara 'acer estimacin con C;C;5; y con otros es,uemas de 5odelado Al+or0tmico de Costos1
'tt(122"""3softstarsystems3com2
IH I2 2CL 333
2D ML LH 333
I C L 333
El costo se calcula por comparacin con proyectos similares en el mismo dominio de aplicacin (Mtricas)
Ventajas) Preciso si se dis(one de datos (revios =es!entajas) >m(osible de realizar si no se 'an desarrollado (royectos com(arables3 Es necesario mantener una base de datos con la informacin necesaria3 Es necesario ,ue las condiciones +enerales de los (royectos a com(arar sean similares3
1uicio E2perto
Uno o ms expertos) tanto en desarrollo de software como en el dominio de la aplicacin usan su eB(eriencia (ara predecir los costos del soft"are3 Fe realizan iteraciones 'asta lle+ar a un consenso3
Siguiente+++ El eLperto+++
1uicio E2perto
CostoN
NHappy IonOey
566 $l $xperto777
1uicio E2perto
1uicio E2perto
CU0 CU02
actor
CU0D CU 0
CU0I CU0H
actor
CU0C CU0L
actor
CU
CU0J CU 2 CU0M
actor
El costo se puede estimar en funcin a un grupo de requisitos / casos de uso / funcionalidad inicial, la experiencia de los expertos en el dominio y la experiencia de los expertos en software
1uicio E2perto
Tie"(os / Cos!os de @esarro$$o ASis!e"a BBBC
Cos!o / ?ora *s3;+55
Tie"(o (@6as
15 10
Cos!o
;,#6"00900 ;,56200900
0;
2 2 1 3
*s/D.555+55
;,160!0900 ;,160!0900 ;,520900 ;,16560900
4
20 5
*s1./35+55
;,106!00900 ;,26600900
0;
20 0
*s/D.555+55
;,106!00900 ;,0900
Su#!o!a$
05
*s/5.155+55
F4
*s15.;35+55
1uicio E2perto
Ventajas) Fuele ser muy barato3 Puede ser muy eBacto si se cuenta con los eB(ertos adecuados3 =es!entajas) >m(osible de realizar *o muy im(reciso- si no se cuenta con los eB(ertos adecuados
Ley de Par3inson
8os costos del (royecto estn en funcin de los recursos dis(onibles) utilizando todo el tiem(o (ermitido &<ormalmente esto no es una *uena idea' Ventajas) <o realiza (resu(uestos abultados =es!entajas) El sistema normalmente no se termina *; se des(erdicia tiem(o 2 recursos-
Pricing to 4in
El costo del (royecto est en funcin de lo ,ue el cliente est dis(uesto a (a+ar &<ormalmente esto no es una *uena idea' Ventajas) 8a em(resa de soft"are consi+ue el contrato *desarrollar un (roducto ,ue vale C03000 EsF (or tan slo C3000 EsF=es!entajas) 8a (robabilidad de ,ue el cliente obten+a el traba/o es m0nima ya ,ue los costos no refle/an verdaderamente el traba/o re,uerido
Costos fi,os
Concepto Administradores Limpie a Alquiler !apeler"a Lu / Agua #edes / $omunicacin $ondominio @*@A 2A6 Costos (ijos 23000)00 >ncluye se+uro y otros as(ectos le+ales L00)00 >ncluye se+uro y otros as(ectos le+ales 23000)00 3000)00 H00)00 C00)00 200)00 9+1..,..
<o olvide calcular y contem(lar los costos fi/os de al+=n modo333 y si (uede consi+a un administrador ,ue se encar+ue de los detalles financieros
Sueldo Ingeniero 2G6 Cantidad de Ingenieros 2C6 Costos (ijos 8 Ingenieros 2=6 Costo Iensual 8 Ingeniero 2E6 Costo Hora8Hom5re 2(6
IucFos Ingenieros de Software coinciden en) ///la necesidad de profundizar en la especificacin de requerimientos &o tener al.=n tipo de requerimientos' %<>$S de e+ecutar la estimacin de plazos y esfuerzos del proyecto de software/// Simplemente, %c#mo se puede calcular el costo de un edificio sin sa5er cuantos pisos se !an a construir'
Es necesario realizar la planificacin y calendarizacin del (royecto3 Esto se lo+ra definiendo y des.losando las tareas ,ue 'ay ,ue realizar (ara (oder llevar a t&rmino el (royecto3 8ue+o se define quin realizar las tareas) qu recursos se necesitarn) cu,ndo se realizaran y cu,l ser el orden en el ,ue se realizaran3
Planificacin 6areas%
Proceso ?&cnico
Proceso ?&cnico 2
Gru(o de Procesos
Proceso A
+++
Proceso E
+++
Proceso C
+++
Fub(roceso A3
+++
Fub(roceso A3n
+++
(uente: %daptado de ?0%@ A%>CB MC>O8O 8$ 8$S%00OLLO 8$ SO(>A%0$ )%0% %)L"C%C"O<$S $M)0$S%0"%L$S # <o!iem*re DEEF
Planificacin 7itos%
Estudio de Qiabilidad
Perfilar Ne,uisitos
Desarrollo de Prototi(os
Es(ecificacin de Ne,uisitos
>nforme de Qiabilidad
Definicin de Ne,uisitos
Prototi(os
Ne,uerimientos y Funcionalidad
8a planificacin y el c,lculo de costos son (roblemas muy com(le/os con muc'as variables) (ero en +eneral) las ms im(ortantes son los m&todos y (rocesos usados) los re,uerimientos y los recursos 'umanos
N ec
ur so
Gestin de Eu+s *(lySpray) ?rac) Oira) Iantis) etcGestin de Documentos *Google=ocs) Qnowledge@ree) eGroupRare) Collanos-
otras+++
*8aunc'(ad) Atlassian *tools-) P@Pro/e4t) Gfor+e) Faros-
&lgunas 7erra"ientas de Planificacin )lanner &Li*re#$scritorio': 'tt(122live3+nome3or+2Planner Openpro+ &Li*re#$scritorio': 'tt(122o(en(ro/3or+2 8otpro+ect &Li*re#Ae*': 'tt(122"""3dot(ro/ect3net2 MG )ro+ect &)ropietario#$scritorio' ;tros333
*o're el PM#o3
'tt(122mar4et(lace3ecli(se3or+2content2saros$distributed$collaborative$editin+$and$(air$(ro+rammin+
Ultimately) everyone "ants estimates "it' t'e 'i+'est (ossibility or (robability of bein+ correct3 >f an estimate 'as an e,ual amount of (ossibility to be early as late) t'en t'is is t'e 'i+'est (robability3 >ma+ine a bell curve for a moment3 At t'e (ea4 of t'e bell curve *t'e mean value- t'e most li4ely outcome3 ?'is s'ould be t'e estimate3 >f) on t'e ot'er 'and) an estimate 'as no (robability of bein+ early) t'en it 'as /ust about zero (ercent (ossibility of actually 'a((enin+ and about 00V (robability of bein+ late3 >n ot'er "ords) t'e estimate is to t'e far left side of t'e bell curve3 A +ood estimate s'ould 'ave an e,ual (robability of bein+ early or late3 R'en an estimate is based u(on some ,uantitative (rocess) it is easier to stand be'ind t'e estimate3 R'en t'e estimate is based u(on a +uess) t'ere is more li4eli'ood to cave "'en (ressure is a((lied3 ?'e reason for t'is is sim(ly a lac4 of confidence in t'e estimatin+ (rocess3 ?'e only t'in+ to c'an+e about an estimate is t'e in(uts used to +enerate an estimate3 >f t'e estimate is too 'i+') t'en functionality needs to be reduced3
?'e reason o!ertime is rewarded is because soft"are develo(ment mana+ers Fa!e no otFer metric in (lace to measure performance3 ?'ese same mana+ers illogically conclude a (erson wFo is worOing o!ertime is a dedicated, producti!e, and Fard worOing em(loyee3
Estimates need to be non$ne+otiable3 An estimate s'ould be created usin+ a ,uantified met'od3 ?'at means t'ere is some met'od to creatin+ estimates3 Put some data into a formula and derive t'e result3 ?'e only t'in+ you s'ould be "illin+ to bud+e on is t'e in(uts3 ?'ere are several in(uts "it' an estimate includin+ size of t'e (ro/ect) deadlines) staff) so on and so fort'3 @ence) if t'e estimate is too 'i+') t'en one of t'e in(uts needs to be c'an+ed3 Unfortunately) "'at traditionally 'a((ens is t'at an estimate is not'in+ more t'an a +uess3 ?'e estimate 'as no substance at allW in ot'er "ords) it is not based u(on 'istorical (erformance or statistical modelin+3 ;ften "'en "or4in+ on a contract > as4 t'e ,uestion) 7@o" did you come u( "it' your estimate#9 5ore often t'an not t'e (erson actually admits it "as a +uess3 Anot'er common ans"er be+ins) 7based u(on my vast eB(erience as a soft"are (rofessional39 >n ot'er "ords) ,uestionin+ t'e estimate is t'e same as ,uestionin+ t'eir inte+rity3 >t is im(ortant for an estimator to be able to ,uantitatively eB(lain 'o" t'ey derived t'eir estimate3
Fuente Neboot Net'in4 2 'tt(122"""3rebootret'in43com2forcesEe'avior2non<e+otiable3('(
)racias
H?racias7