Gestión del proceso de desarrollo de software

Encontré uno en línea del que puedes aprender. Es muy agotador escribir este tipo de cosas. Acéptelo si está satisfecho. Gracias

Una breve discusión sobre la gestión de procesos de software en el Sur

"Si no sabes hacia dónde vas, puedes elegir cualquier camino. Si no lo sabes dónde estás, mapa. Es inútil". Esta es la frase inicial de "Gestión de procesos de software". Su significado más profundo es que todo tiene una dirección de desarrollo, y debes ser bueno controlándolo para que se desarrolle en una dirección beneficiosa en lugar de dejar que se desarrolle. Otra frase es que para conocer la dirección del desarrollo de las cosas, también es necesario conocer el estado de las cosas, para poder utilizar herramientas y sabiduría para guiar el correcto proceso de desarrollo. Después de casi diez años de desarrollo de software, a menudo me pierdo en el complejo proceso de desarrollo de software. Siempre siento que hay un camino amplio que conduce a la sabiduría, pero en mi búsqueda no creo haberlo encontrado todavía.

Si observa atentamente el desarrollo de Southern Software en los últimos años, encontrará que lo que hemos estado trabajando arduamente para mejorar es nuestro modelo de desarrollo de software y gestión de procesos. Ya sea estableciendo un proceso de desarrollo de software o implementando ISO, todo es para hacer que nuestro software tenga mejor calidad y que nuestro trabajo de desarrollo y marketing sea más racional y científico.

Aquí me gustaría compartir brevemente con ustedes mis puntos de vista y pensamientos sobre el proceso de desarrollo de software. El desarrollo de software del que habitualmente hablamos en realidad consta de dos procesos: el proceso de desarrollo y el proceso de gestión. La idea tradicional de la ingeniería de software es desarrollar software basado en ideas de ingeniería. Presta más atención a la tecnología y metodología de desarrollo de software y al uso de herramientas, como cómo obtener los requisitos y luego qué método utilizar para analizar los requisitos. Y finalmente derivar Un documento de análisis de requisitos que todos puedan comprender juntos, y luego cómo realizar la transición sin problemas a varias etapas, como diseño, codificación y pruebas. Estos procesos tienen métodos, modelos y herramientas correspondientes. Pero confiar únicamente en el pensamiento de ingeniería no puede resolver todos los problemas en el proceso de desarrollo de software. Con el desarrollo de la tecnología, la complejidad del software es cada vez mayor y cada vez hay más personas involucradas. El trabajo colaborativo se vuelve cada vez más difícil durante el proceso de desarrollo. Esto da lugar al proceso de gestión del software. Todos trabajamos juntos y todos tenemos diferentes experiencias de vida y conocimientos. Todos tenemos nuestros propios hábitos de comportamiento y formas de expresión, pero aún necesitamos comunicarnos, comprendernos y coordinarnos entre nosotros, lo que requiere un estándar y un código de conducta unificados. , de estas normas y especificaciones se derivan sistemas de gestión, instituciones de gestión y procesos de gestión. A través del proceso de gestión anterior, trazamos el proceso de gestión del desarrollo de software. Si varias personas desarrollan el mismo proyecto, deben tener la misma comprensión de los requisitos, el contenido, las tareas, los objetivos finales y los límites de tiempo del proyecto, por lo que deben utilizar técnicas unificadas. especificaciones y procesos estándar para trabajar juntos.

Nuestro objetivo actual al implementar el proceso de desarrollo de software es establecer un proceso estándar y mejorarlo continuamente para que este proceso estándar pueda mejorar la calidad y la eficiencia en el futuro trabajo de desarrollo de software. El efecto real de reducir los costos. es lograr el propósito de mejorar la eficiencia. Todavía recuerdo lo que dijo el Sr. Ma cuando describió el Departamento de Importaciones y Exportaciones a finales de 2006: "Unas pocas personas en el Departamento de Importaciones y Exportaciones pueden producir tanto valor en un año". Esto es alta eficiencia, que es el objetivo que los sureños deberían perseguir, y también es el objetivo que nosotros, la gente del software, deberíamos perseguir. En este punto, creo que probablemente entiendo hacia dónde nos dirigimos. Entonces, ¿cómo hacerlo? Analicemos nuestro estado actual de la gestión de procesos de software y el trabajo que queda por hacer. Presto más atención a los siguientes cuatro aspectos.

En primer lugar, la gestión de la demanda. Los requisitos cambian constantemente, y es este requisito cambiante el que dificulta que el modelo en cascada en ingeniería de software se adapte al desarrollo de software actual. Nuestro primer objetivo en la gestión de la demanda es controlar las demandas cambiantes, priorizar el desarrollo de piezas más estables y reducir los riesgos e impactos de los cambios en la demanda a través de un proceso de desarrollo iterativo. Otro objetivo es alinear el proceso de desarrollo con los requisitos del sistema. Esto se puede lograr utilizando una hoja de seguimiento de requisitos o una matriz de seguimiento.

En pocas palabras, haga una lista para anotar los requisitos que se deben cumplir, verifique el trabajo de todos con regularidad para ver si están haciendo el trabajo requerido por el software y compárelo con la tabla de seguimiento de requisitos para ver si falta algún trabajo.

En segundo lugar, plan de proyecto. Hemos hecho muchos planes de proyectos y algunos de ellos se han hecho bastante bien. El propósito de la planificación del proyecto es establecer un plan razonable e implementable para coordinar el trabajo de los participantes. Al planificar, primero se debe estimar el alcance, la escala y la carga de trabajo del proyecto. La estimación del rango se puede realizar utilizando la función de descomposición WBS. La estimación de escala puede basarse en los resultados de WBS, lo que permite a cada miembro estimar la cantidad de líneas de código o la cantidad de clases, objetos, etc. necesarios para varios módulos o componentes funcionales. El director del proyecto establecerá los resultados de cada estimación. para cada uno El coeficiente de familiaridad de los miembros con el proyecto se utiliza como promedio ponderado. La estimación del esfuerzo consiste en reemplazar los resultados de la estimación del tamaño con personas/día o personas/mes. Después de terminar, simplemente divida el trabajo de la WBS y organice la carga de trabajo en el diagrama de Gantt de acuerdo con el tiempo requerido por el proyecto. La precisión del plan mejora al acumular experiencia en el proyecto. Cuanto más planes se hagan, más rica será la experiencia y mayor será la precisión.

En tercer lugar, el seguimiento del proyecto. Nuestro seguimiento de proyectos se basa principalmente en registros y bitácoras semanales. A través de registros semanales, puedes saber si el estado del proyecto es normal. La carga de trabajo real y los costos principales del proyecto se pueden calcular a través del registro. En términos de seguimiento de proyectos, hemos recopilado una gran cantidad de datos y los procesos posteriores se pueden mejorar utilizando estos datos para mejorar la precisión de los planes del proyecto y la predicción de riesgos. Otra función del seguimiento del proyecto es que el director del proyecto puede comparar el plan del proyecto con los resultados del seguimiento. Cuando se descubre que el trabajo real se desvía seriamente del plan, se pueden tomar algunas medidas correctivas o cambios en el plan de manera oportuna. que el trabajo de todos pueda volver a coordinarse y sincronizarse.

Cuarto, gestión de la configuración. La gestión de la configuración tiene cuatro partes: gestión de versiones, control de configuración, gestión de cambios y seguimiento de problemas. La gestión de versiones es el control de las versiones históricas de varios archivos que componen el software, de modo que aunque modifiquemos los archivos por error, podamos restaurar las versiones anteriores. En términos de gestión de versiones, hemos utilizado algunas herramientas de gestión durante mucho tiempo, por lo que la gestión del código es muy buena. Actualmente estamos planificando y construyendo soluciones para el control de configuración, gestión de cambios y seguimiento de problemas. El control de configuración es simplemente el mismo software. Debido a que existen diferentes requisitos de personalización y actualización, se requieren diferentes métodos de configuración. Por ejemplo, los clientes del software XX en Beijing solicitan una función especial, a la que llamamos versión XX Beijing. Los clientes en Shanghai no quieren esta función pero quieren agregar otra función, a la que llamamos versión XX Shanghai. El software XX debe actualizarse continuamente. Todos ellos se basan en diferentes versiones del software XX. ¿Cómo gestionar tantas versiones diferentes? La gestión de la configuración consiste en identificar qué archivos y versiones se utilizan en la versión de Beijing, qué archivos y versiones se utilizan en la versión de Shanghai y qué versiones se utilizan en la versión actualizada en la biblioteca de archivos del software XX. De esta forma, podemos configurar diferentes versiones del software según los requisitos para facilitar la entrega, restauración y mantenimiento del software. Dije antes que los requisitos cambian de vez en cuando. De hecho, en el desarrollo de software, no solo cambian los requisitos, sino que también cambiarán el diseño y el código. El llamado control de cambios significa tener un proceso de procesamiento adecuado cuando ocurren cambios y utilizar diferentes métodos de procesamiento y niveles de aprobación según las diferentes situaciones. No podemos evitar los cambios de software, por lo que debemos encontrar formas de controlar estos cambios y minimizar el impacto negativo de los cambios en la calidad del software y la implementación del proyecto. El seguimiento de problemas puede verse como el seguimiento de proyectos más ligero. Una vez que se aprueba la solicitud de cambio o se descubre un defecto de software, quién lo resolverá, cuándo se resolverá, qué tipo de método de revisión se utilizará y el registro de estado de los resultados, etc. Esto constituye un proceso simple de seguimiento de problemas. .

Las anteriores son algunas perspectivas sobre la gestión de procesos de software. También existen métodos de análisis de requisitos, métodos de diseño de software, métodos de prueba, etc. en el proceso de desarrollo de software. El uso correcto de estos métodos puede mejorar la calidad del software y la eficiencia del desarrollo en un nivel específico. Con respecto al proceso de desarrollo de software, nuestra empresa cuenta con muchos expertos técnicos autorizados, por lo que no entraré en detalles aquí.

Establezca metas y encuentre la dirección correcta. Con los esfuerzos conjuntos de la gente del Sur, creo firmemente que el software del Sur funcionará cada vez mejor.