stringtranslate.com

Empresa de software

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

Tipos

Existen distintos tipos 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, en la que personas con experiencia pueden convertir el problema organizativo en un beneficio único. Por ejemplo, tener subequipos distribuidos 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 pruebas en una zona horaria 8 horas por delante o por detrás del equipo de desarrollo, que corrige los errores de software que encuentran 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, muy a menudo, también hay:

Estructura

El gerente de una empresa de software suele denominarse Jefe de Desarrollo (HOD, por sus siglas en inglés) [2] y rinde cuentas a las partes interesadas . Lidera los subequipos directamente o a través de los gerentes/líderes, según el tamaño de la organización . Por lo general, los equipos de hasta 10 personas son los más operativos. En las organizaciones más grandes, en general, existen 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 distintos proyectos. La estructura es bastante sencilla y todos los empleados dependen de una sola persona, lo que hace que la situación sea bastante clara, pero no es una buena solución en términos de intercambio de conocimientos y uso óptimo de los recursos humanos.

Estructura de la matriz

En este modelo hay gerentes/líderes dedicados a cada especialización principal, que "alquilan" a su personal para proyectos específicos dirigidos 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 gerente de producto/proyecto y el gerente de "recursos" especializado. Por un lado, optimiza el uso de los recursos humanos, por otro lado, puede dar lugar a conflictos sobre qué gerente tiene prioridad en la estructura.

También hay una serie de 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 distintas metodologías para producir el código, entre ellas:

También existen algunas metodologías que combinan ambos, como el modelo espiral , el Proceso Unificado Racional (RUP) [7] o el 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 ocupe el 30% del tiempo total, quedando el 10% restante en reserva.

El diagrama de secuencia UML de la interacción entre estos grupos podría 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 a lo largo de todo el proceso de desarrollo:

Sistemas y procedimientos

Las empresas de software cuentan con diversos sistemas y procedimientos implementados y en funcionamiento interno en todos los subequipos. Entre ellos se incluyen:

Analistas de negocios

Programadores

Probadores

Gerentes de proyectos/productos

También existen los sistemas de gestión del ciclo de vida de las aplicaciones (ALM), que integran algunas de estas funcionalidades en un solo paquete y se utilizan en todos los grupos. Los ofrecen distintos proveedores, como Borland , ECM o Compuware .

Auditorías de eficiencia

Las empresas de software consolidadas suelen tener alguna forma de medir su propia eficiencia. Esto se hace normalmente definiendo el conjunto de indicadores clave de rendimiento (KPI), como

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

Muchas 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 normas ISO específicas . Las pequeñas empresas de software suelen utilizar enfoques livianos para sus procesos, formalizados o no. Cada organización desarrolla su propio estilo, que se encuentra en algún punto entre la tecnocracia total (donde todo se define por números) y la anarquía total (donde no hay números en absoluto). Sea cual sea el camino que tome la organización, considera la pirámide que describe el costo y el riesgo de introducir cambios en procesos de desarrollo ya iniciados como un verdadero modelo para gestionar los cambios.

Véase también

Referencias

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