stringtranslate.com

Compañía de software

Una empresa de software es una organización, ya sea de propiedad estatal o privada, establecida con fines de lucro cuyos productos principales son diversas formas de software , tecnología de software, distribución y desarrollo de productos de software. [1] Constituyen la industria del software .

Tipos

Existen varios tipos diferentes de empresas de software:

Roles comunes en una empresa de software

Organizar una empresa de software es un tipo de habilidad de gestión muy especializada, donde personas con experiencia pueden convertir el problema organizacional en un beneficio único. Por ejemplo, tener subequipos repartidos en diferentes zonas horarias puede permitir una jornada laboral de 24 horas en la empresa, si los equipos, sistemas y procedimientos están bien establecidos. Un buen ejemplo es el equipo de prueba en una zona horaria 8 horas por delante o por detrás del equipo de desarrollo, que corrige los errores de software encontrados por los evaluadores.

Una empresa de software profesional normalmente consta de al menos tres subequipos dedicados:

En las empresas de software más grandes se emplea una mayor especialización y, con bastante frecuencia, también se dan:

Estructura

El gerente de una empresa de software generalmente se denomina Jefe de Desarrollo (HOD) [2] y reporta a las partes interesadas . Él o ella dirige los subequipos directamente o a través de los gerentes/líderes, según el tamaño de la organización . Normalmente los equipos de hasta 10 personas son los más operativos. En organizaciones más grandes, existen en general dos modelos de jerarquía:

Estructura típica de una empresa de software.

Todos los equipos son totalmente independientes y trabajan por separado en los diferentes proyectos. La estructura es bastante simple y todos los empleados dependen de una sola persona, lo que deja la situación bastante clara; sin embargo, no es una buena solución en términos de intercambio de conocimientos y uso óptimo de los recursos humanos.

Estructura matricial

En este modelo hay gerentes/líderes dedicados para cada especialización principal, que "alquilan" a su gente para proyectos particulares liderados por gerentes de producto/proyecto, quienes formal o informalmente compran a la gente y pagan por su tiempo. Esto lleva a que cada empleado privado tenga dos jefes: el director de producto/proyecto y el director de "recursos" especializado. Por un lado, optimiza el uso de los recursos humanos, por otro, puede dar lugar a conflictos sobre cuál de los directivos tiene prioridad en la estructura.

También hay varias variantes de estas estructuras, y varias organizaciones tienen esta estructura distribuida y dividida en varios departamentos y unidades.

Metodologías

Las empresas de software pueden utilizar diversas metodologías para producir el código. Estos pueden incluir:

También existen algunas metodologías que combinan ambas, como el modelo en espiral , Rational Unified Process (RUP) [7] o MSF . [8]

Ciclo de vida del producto

Independientemente de la metodología utilizada, el ciclo de vida del producto siempre consta de al menos tres etapas:

Lo ideal es que cada etapa tome el 30% del tiempo total y el 10% restante esté reservado.

El diagrama de secuencia UML de interacción entre estos grupos puede verse así:

La interacción general entre los cuatro grupos principales.

En cada etapa un grupo diferente juega un papel clave, sin embargo cada tipo de rol debe estar involucrado durante todo el proceso de desarrollo:

Sistemas y procedimientos

Las empresas de software poseen varios sistemas y procedimientos implementados y funcionando internamente en todos los subequipos. Éstas incluyen:

Analistas de negocios

Programadores

Probadores

Gerentes de proyectos/productos

También existe la gestión del ciclo de vida de las aplicaciones (ALM), que incorpora algunas de estas funcionalidades en un paquete y se utilizan en todos los grupos. Los entregan varios proveedores como Borland , ECM o Compuware .

Auditorías de eficiencia

Las empresas de software bien establecidas suelen tener alguna forma de medir su propia eficiencia. Esto generalmente se hace definiendo el conjunto de indicadores clave de desempeño (KPI), como

Pirámide que muestra el riesgo, el tiempo y el costo financiero de introducir cambios.

Varias organizaciones se centran en alcanzar el nivel óptimo del Modelo de Madurez de Capacidades (CMM), donde "óptimo" no significa necesariamente el más alto. También existen otros sistemas como el SEMA de la Universidad Carnegie-Mellon o determinadas normas ISO . Las pequeñas empresas de software suelen utilizar enfoques ligeros en sus procesos, formalizados o no. Cada organización elabora su propio estilo, que se sitúa en algún punto entre la tecnocracia total (donde todo está definido por números) y la anarquía total (donde no hay ningún número). Cualquiera que sea el rumbo que tome la organización, consideran la pirámide que describe el costo y el riesgo de introducir cambios en los procesos de desarrollo ya iniciados como un verdadero modelo para gestionar los cambios.

Ver también

Referencias

  1. ^ "¿Qué es una empresa de software hoy?". Monje rojo. 2014 . Consultado el 2 de junio de 2017 .
  2. ^ Luz verde: desarrollo de ideas de televisión factual/realidad desde el concepto hasta el lanzamiento p.12
  3. ^ Gestionar proyectos exitosos con PRINCE2
  4. ^ Manual de usuario de la guía PMBOK
  5. ^ Planificación de programación extrema
  6. ^ Gestión ágil de proyectos con Scrum
  7. ^ El proceso unificado racional simplificado: una guía para profesionales del RUP
  8. ^ Microsoft Solutions Framework (MSF): una guía de bolsillo