El efecto del desarrollo ágil [visualización de imágenes]
Agile está más en línea con las leyes del desarrollo de software
1. Ola de desarrollo ágil
Mire las empresas que utilizan el desarrollo ágil
Proceso de desarrollo ágil: es un modo de desarrollo que nos permite completar las necesidades del usuario tanto como sea posible [darse cuenta rápidamente del software que los usuarios quieren], ya sea un gran equipo de cientos de personas o un pequeño equipo de unas pocas o dos personas.
- El estándar ISO 9000 (edición 09) agregará principios ágiles a los ocho principios originales
- En 2000, el estándar de desarrollo de software militar de EE. UU. (DOD 5000.2) recomendó la iteración como el modo preferido de desarrollo de software
- El American Baldrige National Quality Award más influyente del mundo considera la agilidad como uno de los once principios fundamentales
2. La historia del desarrollo ágil : [ el desarrollo de software se adapta a los cambios de los tiempos, de proceso pesado a ágil ligero ]
Taller de software en la década de 1960 | El software es de pequeña escala y se ha desarrollado principalmente en talleres [ Por ejemplo, dos personas desarrollan un proyecto, siempre que el proyecto se complete en estrecha comunicación, incluso si hay un gran cambio, debido a que el software es relativamente pequeño, es un gran problema volver a escribirlo Todo posible ] |
La crisis del software de la década de 1970 | El rápido desarrollo del hardware y el rápido aumento de la escala y la complejidad del software han desencadenado una crisis de software [El desarrollo al estilo de un taller no está a la altura del momento, el software es cada vez más grande y más exigente, sin una buena gestión de procesos y un proceso de desarrollo científico Muy desordenado. Por ejemplo, en una guerra, las tropas están dispersas, y tal vez todos huyeron en la guerra, aquí también es similar. Los programadores eluden las responsabilidades de los demás. Tal vez más tarde, los productos escritos no sean lo que los usuarios quieren] |
Control de procesos de software en la década de 1980 | Introducir los métodos de gestión de fabricación maduros de la industria de fabricación y controlar el desarrollo de software en etapas con el "proceso como centro" (modelo en cascada [proceso aproximado: análisis de demanda -> diseño -> codificación -> prueba -> producto]), que se alivia en cierta medida La crisis del software [divide el software en varias etapas, y el trabajo de cada etapa es diferente, pero el proceso del modelo en cascada es más complicado y el costo es correspondientemente alto (debido a que cada proceso puede aumentar muchas restricciones y restricciones, es difícil de controlar ) 】 |
Proceso pesado en los 90 | La experiencia de fallas de software ha provocado un aumento de las limitaciones y restricciones en el proceso. El proceso de desarrollo de software se ha vuelto cada vez más "pesado", la eficiencia del desarrollo ha disminuido y la velocidad de respuesta ha disminuido; [si los usuarios quieren cambiar sus necesidades, se vuelve muy difícil-difícil, tal vez esperar al desarrollo , El software está desactualizado, por lo que este método no es muy flexible] |
2001- Agile es popular hoy | Con el advenimiento de la era de la información, los requisitos pueden cambiar rápidamente, y el ciclo de entrega [cuanto más rápido sea el software, mejor ] se ha convertido en el núcleo de la competitividad de la empresa. El método de desarrollo ágil y ligero que es más adaptable a los cambios generalmente se reconoce y cambia. Se hizo popular rápidamente. |
3. El Manifiesto Ágil revela mejores métodos de desarrollo de software
Estamos revelando mejores métodos de desarrollo de software a través de la práctica y ayudando a otros a practicar. A través de este trabajo, creemos que:
[Manifiesto ágil-valores]
1. Interacción individual [comunicación entre el cliente y el desarrollador && equipo de desarrolladores] |
Golpear | Procesos y herramientas [Agile también tiene procesos y herramientas, pero la interacción es más importante] |
2. Software que puede funcionar [La documentación está escrita en su totalidad, pero nuestro objetivo es hacer software y proporcionar a los usuarios un software utilizable. El usuario dijo: Esto no es lo que quiero, esto no es lo que quiero, nosotros Al iterar el software, el software final está más en línea con las necesidades del usuario] | Golpear | Documentación completa |
3. Cooperación del cliente [En caso de que exista una diferencia entre el documento y la comprensión de los requisitos del cliente, evite que el software salga, se rompa, se agite y se comunique con el cliente con una mentalidad cooperativa] | Golpear | Negociación de contrato |
4. Responder a los cambios [En el menor tiempo posible, responda a los cambios en las necesidades de los usuarios, para no seguir los cambios según lo planeado, y los usuarios sienten que han gastado mucho dinero para conseguir un pedazo de basura] | Golpear | Sigue el plan |
4. Doce principios de desarrollo ágil [ Principios rectores, pero no estáticos ]
- 1. Nuestro mayor objetivo es satisfacer a los clientes mediante la entrega de software valioso lo antes posible y de forma continua. [En la etapa inicial, creamos la versión para realizar la mayoría de las funciones principales y permitir que los usuarios las usaran para ver sus sugerencias u opiniones ]
- 2. Los cambios en los requisitos son bienvenidos , incluso en las últimas etapas del desarrollo del proyecto. Debemos utilizar bien los cambios en la demanda para ayudar a los clientes a obtener una ventaja competitiva. [ Debido a que el mercado está cambiando muy rápidamente, se dice que antes de que otros clientes tengan este software similar, el mercado para los clientes que utilizan este software no es tan grande, por lo que los usuarios pueden proponer cambios ]
- 3. Para ofrecer software utilizable de forma continua, el ciclo varía de unas pocas semanas a unos meses, y cuanto más corto, mejor. [ Propósito: modificar el software de acuerdo con las sugerencias y comentarios del usuario, en la medida de lo posible para satisfacer al usuario ]
- 4. Durante el proyecto, el personal comercial [ entendiendo los requisitos ] y los desarrolladores deben trabajar juntos. [Si hay un problema, búsquelo a tiempo y modifíquelo a tiempo ]
- 5. Sea bueno para motivar al personal del proyecto, bríndeles el entorno y el apoyo que necesitan, y crea que pueden completar la tarea. [ Solo ordeña ]
- 6. Ya sea dentro de un equipo o entre equipos, el método de comunicación más eficaz es la conversación cara a cara. [ Intercambio de documentos, todos saben que la cultura china es extensa y profunda, y los mismos caracteres chinos pueden malinterpretarse ]
- 7. El software disponible es el principal indicador de progreso. [ No utilice documentación o módulos de software para medir el progreso del software, sino el software disponible ]
- 8. Los procesos ágiles promueven el desarrollo sostenible. Las partes del proyecto, los desarrolladores y los usuarios deben poder mantener un ritmo de progreso constante y estable. [Consulte con el usuario, confirme inmediatamente si hay algún problema y modifíquelo inmediatamente ]
- 9. El refinamiento de la tecnología y la mejora continua del diseño mejorarán la agilidad [ más y más funciones, más y más tecnologías involucradas, el diseño perfecto puede mejorar la eficiencia ]
- 10. Ser conciso, es decir, minimizar el trabajo innecesario. Esto es un arte. [ Cada módulo se implementa de forma sencilla ]
- 11. La mejor arquitectura, requisitos y diseño provienen de un equipo autoorganizado. [Todo el mundo de forma espontánea, haciendo las cosas de forma más consciente, en lugar de un equipo comandado, la calidad del corazón no es buena: eliminar directamente la biblioteca y salir corriendo, etc.]
- 12. El equipo debe reflexionar periódicamente sobre cómo puede ser más eficaz y ajustar el comportamiento del equipo en consecuencia. [ No hay mejor, solo mejor. Por ejemplo: así podemos, pero cuáles son las deficiencias y las mejoras ]
5. Agile ha mejorado significativamente la productividad, la calidad, la satisfacción y el costo.