¿Cómo difiere el ciclo de vida de desarrollo de software (SDLC) en Google versus Microsoft?

Sé un poco sobre las metodologías utilizadas en Google y Microsoft. Y lo que sé informa lo que he escrito a continuación.

Es poco probable que la mayoría de las grandes empresas tengan un SDLC uniforme impuesto desde arriba en todos los equipos y todos los proyectos.

A pesar de que algunas empresas menos ilustradas intentan imponer un SDLC uniforme en toda la empresa, nunca es una buena idea. Las cosas funcionan mejor cuando se articulan ciertos criterios “imprescindibles”, por ejemplo, el software orientado al cliente debe tener pruebas automatizadas, y los detalles de la metodología se dejan al equipo para que los resuelva.

Por ejemplo, un proyecto greenfield es muy diferente de un proyecto de mantenimiento de aplicaciones heredado. Mucho depende de los miembros del equipo y de cuán cómodos estén o sean leales a ciertas prácticas, aunque a menudo sin evidencia suficiente para justificar tal comodidad o lealtad.

En general, la mayoría de los equipos han adoptado al menos algunas prácticas ágiles.

De lo único que la mayoría de los equipos parecen incapaces de escapar es de los requisitos documentados como requisito previo para comenzar el desarrollo.

Los equipos ilustrados saben que es probable que demasiada documentación inicial sea una pérdida de tiempo. Sin embargo, una “historia” de alto nivel sobre cada requisito es un buen requisito previo.

(SDLC) Cualquier proceso lógico utilizado por un analista de sistemas para desarrollar un sistema de información, incluidos los requisitos, la validación, la capacitación y la propiedad del usuario.

Para conocer la diferencia, uno debe entender si incluso lo usan o si SDLC es como se llama el proceso de desarrollo de software y si son estáticos o dinámicos:

Si este es el caso, las diferencias entre MS y Google serán sus diversos subprocesos y expansiones para acomodar el tipo de software que se está creando. La creación de software generalmente sigue los mismos pasos del SDLC tradicional, y solo diferirá cuando se trate de la naturaleza de dicho software.

Por ejemplo: la creación de Microsoft Access tendrá un ciclo similar al de Google Docs. La diferencia aquí probablemente estaría en Planificación (por lo tanto, hablando de subtareas del software), como las diferencias en el alcance y los recursos necesarios. Las pruebas, la implementación y el mantenimiento también tendrían procesos hermanos o subprocesos muy diferentes. Cuando digo ‘procesos hermanos, me refiero a tener tareas principales divididas en más tareas. Un ejemplo sería crear la tarea de Desarrollo a partir de la tarea de Diseño.

Pero iniciación, planificación. Diseño, (Desarrollo), Implementación, Mantenimiento son los fundamentos subyacentes de SDLC. La diferencia entre Google y Microsoft sería sus subprocesos o la expansión a procesos hermanos. Probablemente la plantilla que ve en Microsoft Project 2013 sería muy similar a la que usa Microsoft. Google, por otro lado, parece caótico con respecto a su SDLC y no tiene una forma de hacer las cosas.

Te dejaré con una publicación de desarrollador de Google para leer sobre los métodos de desarrollo de software de Google. Aquí encontrará que Google necesita ser flexible sobre los grandes proyectos en los que trabajan y, por lo tanto, profundizar en todo tipo de modelos para crear su software: Good Agile, Bad Agile. Sospecho que crean modelos a medida que avanzan para que el modelo se ajuste mejor al producto.

Microsoft tiene un ciclo de desarrollo de software que intenta abarcar también el desarrollo (por supuesto) de la seguridad, la eficiencia y el costo del software, así como su uso llamado SDL. Microsoft Solutions Framework y The Trustworthy Computing Security Development Lifecycle.