Descripción general de Microsoft Solutions Framework (MSF)

Microsoft Solutions Framework (MSF) es un enfoque personalizable para entregar con éxito soluciones tecnológicas de manera más rápida, con menos recursos humanos y menos riesgos, pero con resultados de más calidad. MSF ayuda a los equipos a enfrentarse directamente a las causas más habituales de fracaso de los proyectos tecnológicos y mejorar así las tasas de éxito, la calidad de las soluciones y el impacto comercial.

MSF se centra en:

  • Alinear los objetivos de negocio y de tecnología

  • Establecer de manera clara los objetivos, los roles y las responsabilidades

  • Implementar un proceso iterativo controlado por hitos o puntos de control

  • Controlar los riesgos de manera proactiva

  • Responder con eficacia ante los cambios

Los principales elementos de MSF que se tratan en este artículo son:

  • Principios fundamentales y actitudes en el contexto de MSF para orientar y guiar a los equipos y sus miembros en el trabajo en colaboración para entregar una solución

  • El modelo de equipo de MSF permite escalar los proyectos, garantiza que los equipos satisfacen diversas necesidades de las partes interesadas y define roles y responsabilidades controlados por objetivos

  • El modelo de gobernanza de MSF (llamado anteriormente modelo de proceso de MSF) permite obtener resultados rápidos y de alta calidad por medio de un ciclo de vida de proyecto comprobado que identifica actividades clave del proyecto

Principios fundamentales y actitudes en el contexto de MSF

Microsoft Solutions Framework (MSF) se asienta sobre una base de principios y actitudes que representan años de experiencia. Estos principios y actitudes, destilados en conceptos que se sostienen en los distintos modelos, procesos y disciplinas de MSF, son la base de MSF. Aunque son conceptos de sentido común, comprenderlos e implementarlos correctamente puede llegar a ser complicado. No obstante, una vez que se comprendan, el equipo podrá crear productos de calidad.

Principios fundamentales

Los siguientes principios y conceptos de MSF sirven de guía al equipo de proyecto para entregar una solución de calidad. Cada miembro del equipo deberá comprender y aplicar estos principios en sus interacciones con otros miembros del equipo, con la organización y con las partes interesadas. MSF se basa en nueve principios fundamentales:

  1. Fomentar una comunicación abierta. Para que el equipo sea eficaz y eficiente, tanto usted como su equipo deben compartir niveles de información apropiados entre los miembros del equipo y en toda la empresa. El equipo debe comprender la naturaleza de lo que se debe hacer y el modo en que se comunican los miembros del equipo y los contactos externos. Lo difícil es determinar un nivel apropiado para cada relación y qué información se debe compartir.

  2. Intentar lograr una visión compartida. El hecho de tener una visión compartida empodera a los miembros del equipo y les permite actuar con agilidad para poder tomar decisiones rápidas pero bien fundadas con el objetivo de lograr una visión. Al tener una visión compartida, los miembros del equipo pueden ir satisfaciendo los requisitos a medida que se vayan detectando.

  3. Empoderar a los miembros del equipo. Empoderar a los miembros del equipo no solo es una de las muchas maneras de sobrevivir en un entorno en constante cambio, sino que los miembros del equipo también aprenden a encontrar modos de alcanzar el éxito de manera creativa y a ayudarse unos a otros. Si no se permite a los miembros del equipo dar lo mejor de sí mismos, no solo disminuye su creatividad, sino que también pueden sufrir de baja moral y ser incapaces de contribuir a crear un equipo de alto rendimiento.

  4. Establecer responsabilidades claras y compartidas. A menudo, los miembros del equipo empoderados se sienten más responsables de sus decisiones y están dispuestos a ser corresponsables de un proyecto. A mayor responsabilidad de los miembros del equipo, mayor calidad. Por ejemplo, si un miembro del equipo afirma que ha completado una tarea pero se detecta que no tiene el nivel de calidad adecuado, ese miembro del equipo es responsable de resolver este problema de manera que la tarea completada tenga los niveles de calidad indicados. Si se fomenta el crecimiento positivo y la responsabilidad en lugar de castigar tales deslices, el miembro del equipo comparte la responsabilidad de la solución general y sus entregas. Esto fomenta la motivación entre los miembros más sólidos del equipo para ayudarse mutuamente a dar lo mejor de sí mismos.

  5. Ofrecer valor incremental. Este principio tiene dos facetas:

    1. Asegurarse de que lo que se entrega tiene un valor óptimo para las partes interesadas.

    2. Determinar los incrementos óptimos en los que se entregará valor (o la "frecuencia de entrega").

  6. Mantenerse ágil, esperar cambios y adaptarse a ellos. Como los cambios pueden darse a menudo y en el peor momento posible, disponer de una manera ágil de manejarlos ayuda a minimizar los trastornos habituales que provocan. Mantenerse ágil significa que una organización está preparada para los cambios y puede adaptarse y ajustarse sin contratiempos.

  7. Invertir en la calidad. Muchas organizaciones adoptan el principio de calidad, a menudo con una definición bastante difusa, pero no saben cómo cuantificarla. La calidad es algo que se debe incorporar de manera proactiva al ciclo de vida de entrega de la solución y no es algo que aparezca de la nada.

  8. Aprender de todas las experiencias. Si todos los niveles de una organización no aprenden de lo que funcionó y lo que no funcionó anteriormente, ¿cómo se puede esperar que mejoren la próxima vez? Los miembros del equipo deben comprender y darse cuenta de que el aprendizaje se da en todos los niveles:

    • A nivel de proyecto, como por ejemplo, al perfeccionar un proceso válido para todo el proyecto

    • A nivel individual, como por ejemplo, al buscar la manera de interactuar mejor con otros miembros del equipo

    • A nivel de la organización, como por ejemplo, al ajustar las métricas de calidad que se recopilan para cada proyecto

  9. Colaborar con clientes internos y externos. Las probabilidades de éxito del proyecto aumentan cuando el cliente trabaja con el equipo del proyecto. Eso no quiere decir que los clientes tengan que hacer el trabajo de un equipo. Sin embargo, cuando los clientes colaboran estrechamente y de manera incremental con un equipo de entrega, la solución satisface mejor sus expectativas. Colaborar con los clientes es ventajoso para ambas partes, ya que ayuda a reducir la incertidumbre, reduce el tiempo necesario para resolver temas de requisitos y aumenta la comprensión por parte del equipo de las propuestas de valor de la solución por medio del contacto periódico.

Actitudes

Mientras que los principios fundamentales explicados más arriba sirven de guía para orientar a un equipo para lograr el éxito al máximo, las actitudes permiten orientar a los miembros del equipo como individuos para lograr el mayor éxito. Cada actitud ayuda a los miembros del equipo a hacer realidad la entrega de su solución concreta. Idealmente, los miembros del equipo acaban estando tan cómodos con estas actitudes que las usan tanto en el trabajo como en la vida personal. A continuación se incluyen unas cuantas actitudes que debe internalizar cada miembro del equipo:

  • Fomentar un equipo de iguales. Si su organización es capaz de encarnar los principios fundamentales de MSF, en especial el empoderamiento y la responsabilidad, ¿tiene sentido ejecutar un proyecto con una estructura jerárquica? Si todo el mundo comprende tanto la misión como sus objetivos para tener una visión compartida y sus roles y responsabilidades en la entrega de una solución, todos actúan como iguales y se les puede tratar por igual. Con esto no se propone ningún tipo de anarquía ni comité, sino que todos compartan la responsabilidad de entregar correctamente una solución. A nivel individual, cada rol es responsable de los aspectos que le corresponden en un proyecto y, en conjunto, es responsable del proyecto como un todo. Como verá, sigue habiendo un rol de Administrador de programas, pero ese rol se encarga de entregar un proyecto dentro del plazo establecido, pero no de administrar los miembros del equipo.

  • Centrarse en el valor empresarial. El éxito se mide en términos de entrega de valor empresarial. Esto no solo significa entregar algo que los clientes necesitan, sino también entregar lo que los clientes desean y valoran. Para entregar valor, todos los integrantes de un equipo deben comprender qué es lo que los clientes consideran valioso. Si no se proporciona a los clientes valor empresarial, el proyecto peligra: corre el riesgo de desviarse de sus objetivos, de invertir mal el tiempo, el esfuerzo y el dinero, e incluso corre el riesgo de terminar cancelándose.

  • Mantener la perspectiva de la solución. Debido al tamaño y la complejidad de la mayoría de proyectos, cuando se visualiza una solución examinando sus partes procesables, a veces los miembros del equipo examinan con demasiado detenimiento pequeños detalles y olvidan tener en mente la solución final. Por eso se da tanta importancia al principio de tener una visión compartida. Cuando los miembros del equipo entregan sus partes, deben tener en cuenta la misión, los objetivos y la visión generales de una solución. Con demasiada frecuencia, un equipo secundario optimiza su parte creyendo que actúa por el bien común, pero descubre que tiene que rehacer aspectos importantes para que vuelva a estar en sintonía con una solución: se enreda en los detalles y pierde de vista la solución.

  • Enorgullecerse por el trabajo realizado. Un equipo no solo debe invertir en calidad, sino que sus miembros también deben darse cuenta de que la calidad es tan responsabilidad suya como de los otros miembros del equipo y no debe delegarse o pasarse a otra persona. La calidad no es sino responsabilidad de todos durante todo el ciclo de vida de entrega de la solución. Esta actitud no solo abarca el aumento de la calidad en las entregas de un miembro individual del equipo, sino que también abarca el aumento de la calidad de la ejecución de procesos y la gobernanza del proyecto. Esta actitud mental también anima a cada miembro del equipo a ampliar sus conocimientos sobre las habilidades necesarias para cumplir su misión general. Si observan su propia calidad y entregan el mejor trabajo posible, los miembros del equipo pueden facilitar mejoras continuas en el producto final.

  • Aprender continuamente. A veces, no basta con enorgullecerse de sus habilidades y de las de su equipo para alcanzar el objetivo final. Los miembros del equipo deben aprender nuevas habilidades para ser mejores integrantes del equipo. Dado que la mayoría de proyectos, equipos y entornos son únicos, cada proyecto presenta oportunidades de aprendizaje, experimentación e innovación de habilidades, procesos y procedimientos. Para sacar provecho de estas oportunidades, el aprendizaje y la adaptación deben ser continuos en todos los niveles de una organización y no limitarse únicamente a los miembros del equipo.

  • Internalizar la Calidad de servicio. La Calidad de servicio (QoS) define las características operativas de una solución, como su nivel de disponibilidad esperada. Es fundamental que las partes interesadas y los miembros del equipo, no solo los arquitectos, comprendan la QoS y cómo el hecho de cumplirla puede afectar a las entregas. De lo contrario, es probable que las partes interesadas y los miembros del equipo hagan suposiciones implícitas sobre el comportamiento esperado de la solución. Como estas suposiciones raramente son las mismas, cada miembro del equipo debe tomar decisiones explícitas sobre el diseño desde el principio para garantizar que se satisface la QoS. De ese modo, las suposiciones implícitas se convierten en requisitos de QoS explícitos. Así, la QoS se diseña de manera explícita en la solución desde el principio y no se trata como algo a posteriori.

  • Ser cívico. Desde el punto de vista del desarrollo de software, ser cívico significa ser digno de confianza, honrado, responsable y respetuoso en todos los aspectos del trabajo. Esto incluye, entre otros aspectos:

    • El modo en que interactúa con los otros miembros del equipo, con una organización y con las partes interesadas.

    • La manera en que participa en un proyecto y contribuye a entregar una solución, incluido el hecho de ser el encargado de confianza de los recursos corporativos, los del proyecto y los recursos informáticos. Esto incluye compartir recursos, información y conocimientos de manera abierta y voluntaria. Las personas que son cívicas actúan por y para el bien común.

  • Cumplir los compromisos. A pesar de los numerosos controles y contrapesos integrados, MSF se alimenta de la confianza y el empoderamiento que los miembros del equipo se ganan, en parte, a base de cumplir sus compromisos. MSF establece un entorno en el que los miembros del equipo y las partes interesadas pueden confiar en que los otros miembros del equipo cumplirán lo que afirman que van a hacer. Como un proyecto es una colección de actividades interdependientes, cuando un miembro del equipo incumple sus compromisos, desequilibra y pone en peligro todo el proyecto.

Modelo de equipo de MSF

El modelo de equipo de MSF segmenta las actividades y responsabilidades típicas de entrega de una solución en siete grupos de propugnación. Estos grupos son interdependientes y multidisciplinares. Como se puede observar en la tabla siguiente, para conseguir un enfoque equilibrado, cada uno de estos roles aporta una perspectiva exclusiva sobre lo que se necesita, lo que debe propugnarse y cuáles deben ser los objetivos asociados con la entrega de una solución. Estos roles se pueden combinar para situaciones de equipos pequeños y ampliar para situaciones de equipos grandes.

Estos roles no dan a entender ni sugieren ningún tipo de organigrama ni conjunto de cargos, porque varían enormemente según la organización y el equipo. En la mayoría de casos, los roles se distribuirán entre distintos grupos de una organización de TI y a veces con la comunidad de usuarios empresariales, así como con consultores y asociados externos.

Rol

Objetivos

Áreas funcionales

Administración de productos

  • Garantizar que la solución ofrece valor empresarial

  • Definir la solución dentro de las restricciones del proyecto

  • Garantizar que se satisfacen las necesidades y expectativas de los clientes

  • Marketing/Comunicaciones corporativas

  • Análisis de negocio

  • Planeación del producto

Administración del programa

  • Entregar la solución dentro de las restricciones del proyecto

  • Configurar los medios por los que se satisfarán las necesidades y expectativas de los patrocinadores

  • Administración de proyectos

  • Administración del programa

  • Administración de recursos

  • Control de procesos

  • Administración de calidad de proyectos

  • Operaciones de proyectos

Arquitectura

  • Diseñar una solución para satisfacer objetivos de negocio dentro de las restricciones del proyecto

  • Arquitectura de la solución

  • Arquitectura técnica

Desarrollo

  • Compilar la solución según las especificaciones

  • Desarrollo de soluciones

  • Consultoría tecnológica

Experiencia del usuario

  • Maximizar la facilidad de uso de la solución

  • Mejorar la preparación y eficacia para los usuarios

  • Garantizar que se satisfacen las necesidades y expectativas de los usuarios

  • Accesibilidad

  • Internacionalización

  • Comunicaciones de soporte técnico

  • Aprendizaje

  • Facilidad de uso

  • Diseño de la interfaz de usuario

Prueba

  • Aprobar la solución para su lanzamiento solo tras asegurarse de que todos los aspectos de la solución satisfacen o superan sus niveles de calidad respectivos y definidos

  • Pruebas de regresión

  • Pruebas funcionales

  • Pruebas de facilidad de uso

  • Pruebas del sistema

Lanzamiento/Operaciones

  • Implementación y transición a operaciones sin problemas

  • Garantizar que se satisfacen las necesidades y expectativas de TI y operaciones de negocio

  • Administración de versiones

  • Infraestructura de entrega

  • Operaciones

  • Administración de compilaciones

  • Administración de herramientas

Modelo de gobernanza de MSF

El modelo de gobernanza (llamado anteriormente modelo de procesos) está diseñado para proporcionar una guía adecuada a las personas apropiadas en el momento oportuno. Está estructurado para permitir a un equipo entregar partes fundamentales de una solución más rápido de lo que sería posible si se centrara primero en las características de mayor prioridad y pasara las menos importantes a versiones posteriores. El modelo está estructurado para ayudar a un equipo a llegar rápidamente a un consenso compartido sobre cómo entregar los distintos aspectos de una solución. El modelo de gobernanza es un componente flexible de MSF que se ha usado con éxito para mejorar el control del proyecto, minimizar los riesgos, mejorar la calidad de la solución y aumentar la velocidad de desarrollo. Como MSF es totalmente personalizable, cabe esperar que una organización adapte el modelo de gobernanza para que se ajuste a sus procesos de negocio y metodologías de entrega de soluciones existentes.

El modelo de gobernanza de MSF combina la gobernanza del proyecto con la ejecución de procesos. La gobernanza del proyecto se centra en optimizar el proceso de entrega de la solución y el uso eficiente y eficaz de los recursos del proyecto. La ejecución de procesos se centra en la definición, la compilación y la implementación de una solución que satisfaga las necesidades y las expectativas de las partes interesadas.

Son aspectos fundamentales del modelo de gobernanza de MSF la superposición de pistas de actividad, la sincronización de puntos de control y un enfoque incremental en la entrega de valor al cliente.

Pistas

El modelo de gobernanza de MSF facilita la gobernanza del proyecto y la ejecución de procesos por medio de pistas de actividad superpuestas. En un nivel, las pistas son agrupaciones superpuestas y coordinadas de ciertas actividades cuya finalidad es generar entregas relevantes de cada pista. No obstante, las pistas de MSF son más que eso; cada una tiene una misión distinta y representa un cambio en el ritmo y el foco de un proyecto. En las pistas se usan revisiones y puntos de sincronización denominados puntos de control (hablaremos de ellos a continuación) para poder determinar si se cumplen sus objetivos. Además, se usan puntos de control principales para cerrar cada pista, lo cual permite trasladar las responsabilidades de muchas actividades y anima al equipo a adoptar una nueva perspectiva más apropiada para los objetivos de la siguiente pista.

El modelo de gobernanza de MSF consta de cinco pistas de ejecución superpuestas y una pista de gobernanza persistente que abarca todas las pistas de ejecución.

Diagrama de la pista de gobernanza

Diagrama que muestra las seis pistas del modelo

Pista de gobernanza

La pista de gobernanza se centra en equilibrar el uso eficiente y eficaz de los recursos del proyecto y en la entrega de una solución respetando un conjunto de restricciones del proyecto que pueden cambiar. Además, la pista de gobernanza propugna la mejora continua de los procesos.

Una buena gobernanza del proyecto proporciona supervisión, procesos, instrucciones y rigor suficientes para usar de manera eficiente y eficaz los recursos del proyecto, entregar una solución y gestionar decisiones de compensación, todo ello equilibrando el respeto de un conjunto de restricciones del proyecto que pueden cambiar. La pista de gobernanza de MSF se esfuerza por proporcionar y mejorar continuamente la buena gobernanza del proyecto. Consta de actividades discretas y persistentes a lo largo de un proyecto.

Los objetivos de la pista de gobernanza son:

  • Guiar las actividades de ejecución para entregar una solución con resultados repetibles y confiables

  • Optimizar y mejorar continuamente el rendimiento y la capacidad del equipo, la calidad de las soluciones y la mejora de procesos

  • Obtener la aprobación de:

    • Usuarios (la solución satisface sus necesidades y se puede usar con suficiente facilidad)

    • Operaciones (la solución está preparada para su implementación)

    • Cliente (el proyecto se ha completado)

Pistas de ejecución

La ejecución de procesos es la secuencia detallada de pasos que sirven para definir, compilar e implementar una solución. Básicamente, las pistas de ejecución ayudan a un equipo a llegar a un acuerdo de alto nivel sobre lo que se imagina de cara al futuro y crear opciones de enfoque para hacer realidad esa visión (pista de visión); evaluar esas opciones y planear la opción seleccionada (pista de planeación); compilar la solución (pista de compilación); asegurarse de que la solución se entrega según lo esperado (pista de estabilización); y, por último, implementar la solución (pista de implementación).

Los objetivos de cada pista de ejecución son:

Visión

  • Desarrollar un entendimiento claro sobre lo que se necesita dentro del contexto de las restricciones del proyecto.

  • Reunir al equipo necesario para concebir soluciones con las opciones y los enfoques más adecuados para esas necesidades y que también satisfagan de manera óptima esas restricciones.

Planeación

  • Hacer evolucionar la solución conceptual hasta llegar a diseños y planes tangibles para que se pueda compilar en una pista de compilación.

Compilar

  • Compilar los aspectos de la solución de acuerdo con las entregas de la pista de planeación, como diseños, planes, programaciones y requisitos.

Estabilización

  • Mejorar la calidad de la solución para satisfacer los criterios de lanzamiento para la implementación en producción.

  • Validar que la solución satisfaga las necesidades y expectativas de las partes interesadas.

  • Validar la facilidad de uso de la solución desde la perspectiva de los usuarios.

  • Maximizar el éxito y minimizar los riesgos asociados con la implementación y las operaciones de la solución en los entornos de destino de la solución.

Deploy

  • Integrar una solución correctamente en producción dentro de los entornos designados.

  • Transferir la responsabilidad de la entrega restante de la solución de un equipo de proyecto a equipos de operaciones y soporte técnico tan pronto y de manera tan fluida como sea posible.

Puntos de control

Los puntos de control, que son un tema central en MSF, se usan para planear y supervisar el progreso del proyecto e informar sobre la finalización de las entregas y actividades. Los puntos de control se usan para proporcionar oportunidades explícitas para que un equipo y los clientes reconfirmen el ámbito del proyecto o para ajustar el ámbito del proyecto a fin de reflejar los cambios en los requisitos de los clientes o el negocio o a fin de dar cabida a los riesgos y problemas que se podrían materializar en el transcurso de un proyecto. Los puntos de control se usan por muchos motivos, como:

  • Ayudar a sincronizar los elementos de trabajo.

  • Proporcionar visibilidad externa del progreso y la calidad.

  • Permitir correcciones a mediados del proyecto.

  • Centrar las revisiones en los objetivos y las entregas.

  • Proporcionar puntos de aprobación del trabajo antes de avanzar.

MSF distingue entre dos tipos de puntos de control: puntos de control principales y puntos de control provisionales. Los puntos de control principales marcan la finalización de actividades y entregas principales, incluido el final de las actividades planeadas para una pista. El equipo define los puntos de control provisionales para indicar el progreso en una pista y segmentar actividades de gran envergadura en piezas viables.

Enfoque iterativo

Una solución no proporciona valor empresarial hasta que se implementa en producción y se usa de manera eficaz. Por este motivo, el ciclo de vida del modelo de gobernanza de MSF incluye el desarrollo y la implementación incrementales de una solución en producción, lo que garantiza que se haga realidad el valor empresarial, además de la visión y los objetivos estratégicos globales de un equipo. Para garantizar que los proyectos cumplen lo que promete la tecnología, MSF combina una representación de negocio multidimensional en un equipo con el foco explícito en el impacto en el negocio a lo largo de todo el proceso.

La práctica del desarrollo iterativo es un tema constante en MSF. Los documentos, diseños, planes y otras entregas se desarrollan de manera iterativa. Como cabe esperar, el modelo de gobierno de MSF tiene un enfoque iterativo.

Resumen

Microsoft Solutions Framework puede ser una herramienta eficaz para las organizaciones que desean desarrollar de manera rápida soluciones tecnológicas de alta calidad y relevantes para el negocio. Su flexibilidad permite adaptarlo de manera sencilla a la mayoría de proyectos tecnológicos, lo que ayuda a los equipos a comunicarse y coordinar las actividades más importantes.

Bibliografía

Tenga en cuenta que partes de este contenido provienen de Microsoft Solutions Framework Essentials (ISBN 9780735623538). Microsoft Press. Todos los derechos reservados.

Vea también

Conceptos

Realizar un seguimiento del trabajo con Visual Studio ALM y TFS

Trabajar con artefactos de proyecto de equipo y elegir una plantilla de proceso