SlideShare una empresa de Scribd logo
Costes del desarrollo de softwarePor el 17 de diciembre de 2007
EN: SIN CATEGORÍA
La métrica del software es un factor realmente importante en el análisis
de un proyecto. Hay distintos métodos de estimación de costes de
desarrollo de software, también conocido como métrica del software.
La gran mayoría de estos métodos se basan en la medición del número
deLíneas de Código (LDC) que contiene el desarrollo (se excluyen
comentarios y líneas en blanco de los fuentes).
Entre estos métodos está el COCOMO (COnstructive COst
MOdel)desarrollado por por Barry M. Boehm. Un método de estimación
de coste de desarrollo no es otra cosa que establecer una relación matemática entre el esfuerzo
y el tiempo requerido para desarrollar un producto / proyecto.
Lo primero que necesitamos saber es el tipo de proyecto del que estamos hablando, hay tres
tipos diferentes:
 Orgánico: proyectos relativamente sencillos, En este modo, un pequeño grupo de
programadores experimentados desarrollan software en un entorno familiar. El tamaño del
software varía de unos pocos miles de líneas (pequeño) a unas decenas de miles de
líneas (medio).
 Semi-acoplado: proyectos intermedios en complejidad y tamaño. En este tipo, el proyecto
tiene unas fuertes restricciones, que pueden estar relacionadas con el procesador y el
interface hardware. El problema a resolver es único y es difícil basarse en la experiencia,
puesto que puede no haberla.
 Empotrado: proyectos bastante complejo, en los que apenas se tiene experiencia y se
engloban en un entorno de gran innovación técnica. Además se trabaja con unos
requisitos muy restrictivos y de gran volatilidad.
Ahora por otro lado tendríamos los diferentes modelos que define COCOMO: Modelo básico,
Modelo Intermedio y Modelo Avanzado.
En este punto quiero recordar que este tipo de modelos están orientados a la magnitud
del producto final, midiendo el tamaño del proyecto en líneas de código principalmente, por el
hecho de realizarse en base al número de líneas de código se mide el producto y su tamaño pero
en ningún momento podremos llegar a medir la productividad.
Dificultad de un proyecto en función sus líneas de código
Categoría Programadores Duración
Líneas de
código
Ejemplo
Trivial 1
0 – 4
semanas
< 1k Utilidad de ordenación
Pequeño 1 1 – 6 meses 1k – 3k Biblioteca de funciones
Media 2 – 5 0,5 – 2 años 3k – 50k Compilador de C
Grande 5 – 20 2 – 3 años 50k – 100k SO pequeño
Muy grande 100 – 1000 4 – 5 años 100k – 1M Grandes SO
Gigante 1000-5000 5 – 10 años > 1M Sistema de Distribución
Tabla: “Dificultad de un proyecto en función de sus líneas de código
Ejemplo práctico
Supongamos que queremos estimar el “Coste de desarrollo” de un proyecto que
posee menos de 50.000 líneas de código y que por lo tanto y según hemos podido ver se
trata de un Proyecto Orgánico.
“Proyecto prueba” = 9.200 líneas de código
La ecuación del esfuerzo de COCOMO es:
E = Esfuerzo = a KLDC b (persona x mes)
KLCD es el número de líneas de código en miles
La ecuación del tiempo de desarrollo es:
T = Tiempo de duración del desarrollo = c Esfuerzo d (meses)
Ahora necesitamos una tabla para obtener los coeficientes (a, b, c, d) que aparecen en las
fórmulas citadas, estos coefcientes se obtienen de manera empírica y por lo tanto se basa en la
experiencia de datos anteriores.
Proyecto de software a b c d
Orgánico 2,4 1,05 2,5 0,38
Semiacoplado 3,0 1,12 2,5 0,35
Empotrado 3,6 1,20 2,5 0,32
Tabla “Coeficientes COCOMO”
Por lo tanto el tamaño de nuestro “Proyecto prueba” como hemos visto es de 9,2 miles de líneas
de código, si aplicamos las fórmulas:
Esfuerzo realizado = 2,4 * 9.2 1,05
= 25,77 personas / mes
T = 2,5 * 25,77 0,38
= 4,86 mes
Nº de personas para desarrollar el proyecto = E/T= 21,9 / 8,1 » 5 personas
Por lo tanto y con estos resultados diríamos que el “Proyecto Prueba” debería terminarse
enaproximadamente 5 meses por un equipo de 5 personas.
Información adicional
Por cierto buscando algo de información sobre este método he encontrado esta página que
contiene un formulario con el que calcular rápidamente los diferentes datos de estimación de
coste de desarrollo de un proyecto basándose en el método COCOMO.
He encontrado también una comparativa de las líneas de código algunos “Sistemas
Operativos actuales y antiguos” (Pueden servirte como ejemplos para porbar las fórmulas
anteriormente citadas).
Sistema Operativo Líneas de Código
Microsoft Windows 3.1 (Abril de 1992) 3.000.000
Sun Solaris (Octubre de 1998) 7.500.000
Microsoft Windows 95 (Agosto de 1995) 15.000.000
Red Hat Linux 6.2 (Marzo de 2000) 17.000.000
Microsoft Windows 2000 (Febrero de 2000) 29.000.000
Red Hat Linux 7.1 (Abril de 2001) 30.000.000
Microsoft Windows XP (2002) 40.000.000
Red Hat Linux 8.0 (Septiembre de 2002) 50.000.000
Fedora Core 4 (Mayo de 2005) 76.000.000
Debian 3.0 (Julio de 2002) 105.000.000
Debian 3.1 (Junio de 2005) 229.500.000
Antes de saber Cuanto gana un programador tenemos que saber que hace un
programador. El programador es aquel especialista en el manejo de softwares que
permiten realizar distintas funciones desde las instrucciones para un robot, un simple
algoritmo para computadora que permita hacer matematicas de forma más simple
hasta programar redes en la internet en distintos lenguajes de programacion que
maneja como C++, HTML, Joomla, Javascript, PHP entre otros cientos de lenguajes
útiles.
En general existen dos formas de trabajo por parte de un programador las que son de
planta en un negocio que requiere de sus servicios constantes hasta
los freelancers que crean pequeños trabajos para quien lo necesite y permite un
mayor desarrollo por parte del programador para adaptarse a trabajos pequeños que
te remuneran por el trabajo.
En la actualidad los programadores son tan indispensables en las industrias para
manejar máquinas, y redes para desarrollarse en la web mediante impacto social, es
muy cierto que el programador hoy día es mas aclamado para trabajos en la Internet
que trabajos fuera de ella. Pongamos ejemplos de trabajos de un programador fuera
de la red, estos son desde programar funciones de un robot, máquinas y el desarrollo
o actualización de paquetes de software instalables a las computadores mediante el
uso de lenguajes de programación para ejecutar funciones básicas de la empresa
como operaciones matemáticas, registros automáticos de dinero, entre otros.
El medio de la red es quizá el lugar perfecto donde se desarrolla el programador
trabajando para una empresa o como freelancer para pequeños proyectos ya que son
los encargados de desarrollar y configurar diseño de páginas web, funciones de webs
y scripts especiales y hoy en día para móviles y sus aplicaciones. Debido a la gran
demanda de distintos proyectos los programadores tienden a especializarse en dos o
tres lenguajes de programación.
Debido a la gran demanda de programadores por parte de empresas grandes en la
internet como Google, Facebook, Yahoo y Microsoft es que los programadores son
tan indispensables pero realmente cuanto gana un programador de este tipo. En
Estados Unidos el salario promedio de un programador es de $5000 – $9000 usd al
mes esto varia desde el puesto que desarrolle, así como el sector y empresa para la
que trabaje.
Por otro lado en latinoamérica los programadores reciben la cantidad promedio
de $600 – $1500 usd al mes es una realidad la diferencia de sueldos entre estados
unidos y latinoamérica. Por otra parte el Freelancer suele tener un sueldo
dependiendo de la cantidad de trabajos que realice al mes así como la complejidad de
los mismo en general un programador freelancer cobra de $100 – $3000 usd por un
trabajo de programación que puede llevar de un día hasta dos semanas o el mes
completo donde se requiere de diseño, programación de scrpts en webs entre otros.

Más contenido relacionado

Similar a Costes del desarrollo de software

Cocomo
CocomoCocomo
Cocomo
Hugo Galvan
 
Exposicion cocomo
Exposicion cocomoExposicion cocomo
Exposicion cocomo
AdrianGalarza
 
COCOMO
COCOMOCOCOMO
Cocomo 1
Cocomo 1Cocomo 1
Cocomo 1
Letty Uceda xD
 
Cocomo 1 y cocomo 2
Cocomo 1 y  cocomo 2Cocomo 1 y  cocomo 2
Cocomo 1 y cocomo 2
Carlos Xavier
 
Microsoft Project
Microsoft Project Microsoft Project
Microsoft Project
MavaRomero1
 
Cocomo
CocomoCocomo
Cocomo
UTPL
 
Programación extrema [XP]
Programación extrema [XP]Programación extrema [XP]
Programación extrema [XP]
Agustín
 
Estimacion De Proyecto
Estimacion De ProyectoEstimacion De Proyecto
Estimacion De Proyecto
javier
 
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
Jordi Cabot
 
Introducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptxIntroducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptx
DavidGarca147527
 
Cocomo II
Cocomo IICocomo II
Aprende programar-6330
Aprende programar-6330Aprende programar-6330
Aprende programar-6330ANDRAM1224
 
Cocomo2
Cocomo2Cocomo2
Cocomo2
arteaga22
 
2. Administración de Proyectos de Software (UTM 2071)
2. Administración de Proyectos de Software (UTM 2071)2. Administración de Proyectos de Software (UTM 2071)
2. Administración de Proyectos de Software (UTM 2071)
Mario A Moreno Rocha
 

Similar a Costes del desarrollo de software (20)

Cocomo
CocomoCocomo
Cocomo
 
Exposicion cocomo
Exposicion cocomoExposicion cocomo
Exposicion cocomo
 
COCOMO
COCOMOCOCOMO
COCOMO
 
Cocomo 1
Cocomo 1Cocomo 1
Cocomo 1
 
Cocomo 1 y cocomo 2
Cocomo 1 y  cocomo 2Cocomo 1 y  cocomo 2
Cocomo 1 y cocomo 2
 
Microsoft Project
Microsoft Project Microsoft Project
Microsoft Project
 
Estimación De Proyectos De Software
Estimación De Proyectos De SoftwareEstimación De Proyectos De Software
Estimación De Proyectos De Software
 
Cocomo
CocomoCocomo
Cocomo
 
Programación extrema [XP]
Programación extrema [XP]Programación extrema [XP]
Programación extrema [XP]
 
Estimacion De Proyecto
Estimacion De ProyectoEstimacion De Proyecto
Estimacion De Proyecto
 
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
 
Introducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptxIntroducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptx
 
Cocomo II
Cocomo IICocomo II
Cocomo II
 
Cocomo
CocomoCocomo
Cocomo
 
Cocomo
CocomoCocomo
Cocomo
 
Cocomo (1)
Cocomo (1)Cocomo (1)
Cocomo (1)
 
Aprende programar-6330
Aprende programar-6330Aprende programar-6330
Aprende programar-6330
 
Aprende programar-6330
Aprende programar-6330Aprende programar-6330
Aprende programar-6330
 
Cocomo2
Cocomo2Cocomo2
Cocomo2
 
2. Administración de Proyectos de Software (UTM 2071)
2. Administración de Proyectos de Software (UTM 2071)2. Administración de Proyectos de Software (UTM 2071)
2. Administración de Proyectos de Software (UTM 2071)
 

Más de Wilber Vidm

Practica ciclo de deming
Practica ciclo de demingPractica ciclo de deming
Practica ciclo de deming
Wilber Vidm
 
Deming
DemingDeming
Deming
Wilber Vidm
 
Marcos de trabajo
Marcos de trabajoMarcos de trabajo
Marcos de trabajo
Wilber Vidm
 
Triptico 19770
Triptico 19770Triptico 19770
Triptico 19770
Wilber Vidm
 
Expopcision iso 19770
Expopcision iso 19770Expopcision iso 19770
Expopcision iso 19770
Wilber Vidm
 
Marcos de trabajo
Marcos de trabajoMarcos de trabajo
Marcos de trabajo
Wilber Vidm
 
Triptico 19770
Triptico 19770Triptico 19770
Triptico 19770
Wilber Vidm
 
Expopcision iso 19770
Expopcision iso 19770Expopcision iso 19770
Expopcision iso 19770
Wilber Vidm
 
Reporte wilber
Reporte wilberReporte wilber
Reporte wilber
Wilber Vidm
 

Más de Wilber Vidm (9)

Practica ciclo de deming
Practica ciclo de demingPractica ciclo de deming
Practica ciclo de deming
 
Deming
DemingDeming
Deming
 
Marcos de trabajo
Marcos de trabajoMarcos de trabajo
Marcos de trabajo
 
Triptico 19770
Triptico 19770Triptico 19770
Triptico 19770
 
Expopcision iso 19770
Expopcision iso 19770Expopcision iso 19770
Expopcision iso 19770
 
Marcos de trabajo
Marcos de trabajoMarcos de trabajo
Marcos de trabajo
 
Triptico 19770
Triptico 19770Triptico 19770
Triptico 19770
 
Expopcision iso 19770
Expopcision iso 19770Expopcision iso 19770
Expopcision iso 19770
 
Reporte wilber
Reporte wilberReporte wilber
Reporte wilber
 

Último

Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
jmorales40
 
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCIONCAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
MasielPMP
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
Profes de Relideleón Apellidos
 
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdfT3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
eliecerespinosa
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
SandraBenitez52
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
YolandaRodriguezChin
 
El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
Alejandrino Halire Ccahuana
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
El Fortí
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
YasneidyGonzalez
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
danitarb
 
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
MaribelGaitanRamosRa
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
BetzabePecheSalcedo1
 
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
Alejandrogarciapanta
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
DIANADIAZSILVA1
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
Demetrio Ccesa Rayme
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
arleyo2006
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
FelixCamachoGuzman
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
YasneidyGonzalez
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
Martín Ramírez
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Demetrio Ccesa Rayme
 

Último (20)

Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
 
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCIONCAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
 
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdfT3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
 
El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
 
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
 
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
 

Costes del desarrollo de software

  • 1. Costes del desarrollo de softwarePor el 17 de diciembre de 2007 EN: SIN CATEGORÍA La métrica del software es un factor realmente importante en el análisis de un proyecto. Hay distintos métodos de estimación de costes de desarrollo de software, también conocido como métrica del software. La gran mayoría de estos métodos se basan en la medición del número deLíneas de Código (LDC) que contiene el desarrollo (se excluyen comentarios y líneas en blanco de los fuentes). Entre estos métodos está el COCOMO (COnstructive COst MOdel)desarrollado por por Barry M. Boehm. Un método de estimación de coste de desarrollo no es otra cosa que establecer una relación matemática entre el esfuerzo y el tiempo requerido para desarrollar un producto / proyecto. Lo primero que necesitamos saber es el tipo de proyecto del que estamos hablando, hay tres tipos diferentes:  Orgánico: proyectos relativamente sencillos, En este modo, un pequeño grupo de programadores experimentados desarrollan software en un entorno familiar. El tamaño del software varía de unos pocos miles de líneas (pequeño) a unas decenas de miles de líneas (medio).  Semi-acoplado: proyectos intermedios en complejidad y tamaño. En este tipo, el proyecto tiene unas fuertes restricciones, que pueden estar relacionadas con el procesador y el interface hardware. El problema a resolver es único y es difícil basarse en la experiencia, puesto que puede no haberla.  Empotrado: proyectos bastante complejo, en los que apenas se tiene experiencia y se engloban en un entorno de gran innovación técnica. Además se trabaja con unos requisitos muy restrictivos y de gran volatilidad. Ahora por otro lado tendríamos los diferentes modelos que define COCOMO: Modelo básico, Modelo Intermedio y Modelo Avanzado. En este punto quiero recordar que este tipo de modelos están orientados a la magnitud del producto final, midiendo el tamaño del proyecto en líneas de código principalmente, por el hecho de realizarse en base al número de líneas de código se mide el producto y su tamaño pero en ningún momento podremos llegar a medir la productividad. Dificultad de un proyecto en función sus líneas de código Categoría Programadores Duración Líneas de código Ejemplo Trivial 1 0 – 4 semanas < 1k Utilidad de ordenación Pequeño 1 1 – 6 meses 1k – 3k Biblioteca de funciones Media 2 – 5 0,5 – 2 años 3k – 50k Compilador de C Grande 5 – 20 2 – 3 años 50k – 100k SO pequeño Muy grande 100 – 1000 4 – 5 años 100k – 1M Grandes SO Gigante 1000-5000 5 – 10 años > 1M Sistema de Distribución Tabla: “Dificultad de un proyecto en función de sus líneas de código Ejemplo práctico
  • 2. Supongamos que queremos estimar el “Coste de desarrollo” de un proyecto que posee menos de 50.000 líneas de código y que por lo tanto y según hemos podido ver se trata de un Proyecto Orgánico. “Proyecto prueba” = 9.200 líneas de código La ecuación del esfuerzo de COCOMO es: E = Esfuerzo = a KLDC b (persona x mes) KLCD es el número de líneas de código en miles La ecuación del tiempo de desarrollo es: T = Tiempo de duración del desarrollo = c Esfuerzo d (meses) Ahora necesitamos una tabla para obtener los coeficientes (a, b, c, d) que aparecen en las fórmulas citadas, estos coefcientes se obtienen de manera empírica y por lo tanto se basa en la experiencia de datos anteriores. Proyecto de software a b c d Orgánico 2,4 1,05 2,5 0,38 Semiacoplado 3,0 1,12 2,5 0,35 Empotrado 3,6 1,20 2,5 0,32 Tabla “Coeficientes COCOMO” Por lo tanto el tamaño de nuestro “Proyecto prueba” como hemos visto es de 9,2 miles de líneas de código, si aplicamos las fórmulas: Esfuerzo realizado = 2,4 * 9.2 1,05 = 25,77 personas / mes T = 2,5 * 25,77 0,38 = 4,86 mes Nº de personas para desarrollar el proyecto = E/T= 21,9 / 8,1 » 5 personas Por lo tanto y con estos resultados diríamos que el “Proyecto Prueba” debería terminarse enaproximadamente 5 meses por un equipo de 5 personas. Información adicional Por cierto buscando algo de información sobre este método he encontrado esta página que contiene un formulario con el que calcular rápidamente los diferentes datos de estimación de coste de desarrollo de un proyecto basándose en el método COCOMO. He encontrado también una comparativa de las líneas de código algunos “Sistemas Operativos actuales y antiguos” (Pueden servirte como ejemplos para porbar las fórmulas anteriormente citadas). Sistema Operativo Líneas de Código Microsoft Windows 3.1 (Abril de 1992) 3.000.000 Sun Solaris (Octubre de 1998) 7.500.000 Microsoft Windows 95 (Agosto de 1995) 15.000.000 Red Hat Linux 6.2 (Marzo de 2000) 17.000.000 Microsoft Windows 2000 (Febrero de 2000) 29.000.000 Red Hat Linux 7.1 (Abril de 2001) 30.000.000 Microsoft Windows XP (2002) 40.000.000 Red Hat Linux 8.0 (Septiembre de 2002) 50.000.000 Fedora Core 4 (Mayo de 2005) 76.000.000 Debian 3.0 (Julio de 2002) 105.000.000
  • 3. Debian 3.1 (Junio de 2005) 229.500.000 Antes de saber Cuanto gana un programador tenemos que saber que hace un programador. El programador es aquel especialista en el manejo de softwares que permiten realizar distintas funciones desde las instrucciones para un robot, un simple algoritmo para computadora que permita hacer matematicas de forma más simple hasta programar redes en la internet en distintos lenguajes de programacion que maneja como C++, HTML, Joomla, Javascript, PHP entre otros cientos de lenguajes útiles. En general existen dos formas de trabajo por parte de un programador las que son de planta en un negocio que requiere de sus servicios constantes hasta los freelancers que crean pequeños trabajos para quien lo necesite y permite un mayor desarrollo por parte del programador para adaptarse a trabajos pequeños que te remuneran por el trabajo. En la actualidad los programadores son tan indispensables en las industrias para manejar máquinas, y redes para desarrollarse en la web mediante impacto social, es muy cierto que el programador hoy día es mas aclamado para trabajos en la Internet que trabajos fuera de ella. Pongamos ejemplos de trabajos de un programador fuera de la red, estos son desde programar funciones de un robot, máquinas y el desarrollo o actualización de paquetes de software instalables a las computadores mediante el uso de lenguajes de programación para ejecutar funciones básicas de la empresa como operaciones matemáticas, registros automáticos de dinero, entre otros.
  • 4. El medio de la red es quizá el lugar perfecto donde se desarrolla el programador trabajando para una empresa o como freelancer para pequeños proyectos ya que son los encargados de desarrollar y configurar diseño de páginas web, funciones de webs y scripts especiales y hoy en día para móviles y sus aplicaciones. Debido a la gran demanda de distintos proyectos los programadores tienden a especializarse en dos o tres lenguajes de programación. Debido a la gran demanda de programadores por parte de empresas grandes en la internet como Google, Facebook, Yahoo y Microsoft es que los programadores son tan indispensables pero realmente cuanto gana un programador de este tipo. En Estados Unidos el salario promedio de un programador es de $5000 – $9000 usd al mes esto varia desde el puesto que desarrolle, así como el sector y empresa para la que trabaje. Por otro lado en latinoamérica los programadores reciben la cantidad promedio de $600 – $1500 usd al mes es una realidad la diferencia de sueldos entre estados unidos y latinoamérica. Por otra parte el Freelancer suele tener un sueldo dependiendo de la cantidad de trabajos que realice al mes así como la complejidad de los mismo en general un programador freelancer cobra de $100 – $3000 usd por un trabajo de programación que puede llevar de un día hasta dos semanas o el mes completo donde se requiere de diseño, programación de scrpts en webs entre otros.