Red de conocimiento informático - Espacio del host - Ahora quiero formar un equipo de desarrollo de software para desarrollar un software de compras. ¿Qué tipos de talentos se necesitan?

Ahora quiero formar un equipo de desarrollo de software para desarrollar un software de compras. ¿Qué tipos de talentos se necesitan?

1 Prólogo

El desarrollo de software no es sólo un programador, sino que se puede dividir en diferentes roles. Las diferentes empresas de software tienen diferentes tamaños y naturalezas, por lo que las funciones que rodean al software también varían. Una gran empresa de subcontratación de software, una empresa con financiación extranjera, a menudo tiene una división del trabajo clara y detallada. Todos trabajan juntos como tornillos para hacer funcionar toda la gran máquina. En una pequeña empresa de nueva creación, una persona suele completar todo el ciclo del producto, desde el contacto con los clientes hasta el desarrollo y la entrega del producto. Sólo hay una persona para todo el ciclo del producto, o incluso para varios ciclos del producto.

2 roles del equipo de desarrollo de software

Se puede decir que un equipo de proyecto general tiene 5 roles: desarrollo (DEV), pruebas (QA), supervisión de calidad (SQA), líder técnico ( Tech-Lead), Gerente de Desarrollo (SDM).

2.1 Desarrollo (DEV)

Desarrollo es lo que todo el mundo suele llamar programadores. El trabajo principal es escribir código, seguido de comunicarse con los miembros del equipo y los clientes. La proporción entre el primero y el segundo es de aproximadamente 7:3. El desarrollo es una de las funciones más importantes de todo el equipo de desarrollo de software. La razón es simple: el producto proviene de sus propias manos. Cuando se trata de desarrollo, todo el mundo tiene la impresión de profesionales de la informática que permanecen frente a la computadora todo el día, con los ojos apagados y el cabello desordenado. De hecho, las personas que trabajan con computadoras todo el día pueden llegar a ser así fácilmente, porque el principal problema que resuelve el desarrollo es cómo utilizar las capacidades técnicas para resolver las necesidades del cliente, no cómo se ve la propia imagen. De hecho, esta situación ha mejorado mucho en los tiempos modernos y muchos profesionales de TI prestan gran atención a su propia imagen. El trabajo específico requiere no solo escribir código y usar algoritmos para implementar la lógica empresarial, sino también tener ideas de programación, desde el marco completo del programa hasta la escalabilidad y compatibilidad de un módulo pequeño, todos son aspectos importantes a considerar antes de desarrollar y escribir código. . Agrega mi falda, el frente es 257, el medio es 014 y la espalda es .001, solo combínalo. La programación actual no es tan difícil como la programación perforada del pasado. Las poderosas herramientas de programación (IDE) desarrolladas por los principales fabricantes hacen que la programación sea más efectiva con la mitad del esfuerzo. Sin embargo, mientras la tecnología es cada vez más sencilla, las necesidades de los clientes se vuelven cada vez más complejas. La tecnología consiste en realizar la lógica empresarial y expresar el modelado abstracto de la lógica empresarial en forma de programas de computadora. Por lo tanto, un desarrollador que no comprende la lógica empresarial no comprenderá cómo funcionan juntos los módulos, lo que plantea grandes dificultades para el trabajo. . Y si un desarrollo sólo se centra en la implementación detallada dentro de cada módulo, en realidad no es un buen desarrollo, al menos no un desarrollo útil.

En términos de comunicación, las necesidades de desarrollo se comunican con pruebas, supervisores técnicos, gerentes de desarrollo e incluso con los clientes, por lo que las habilidades de comunicación necesarias todavía están en demanda. Hoy en día, el software ya no lo combate una sola persona. En las operaciones en equipo, los desarrolladores a veces necesitan discutir con los evaluadores si un determinado error (defecto) del software es un error. A veces necesitan discutir con los supervisores técnicos si se debe cumplir una determinada demanda del cliente. Qué contenido, a veces es necesario discutir con el gerente de desarrollo si es necesario posponer el progreso del proyecto.

En lo que respecta al trabajo de desarrollo en sí, no requiere habilidades de gestión ni perspectiva general. Si puedes hacer un buen trabajo en programación y eres fuerte en estos dos aspectos, es posible que te asciendan y te paguen. . No muy lejos.

2.2 Pruebas (QA)

Cualquier producto necesita ser probado, al igual que si se produce un lote de lámparas eléctricas en la industria manufacturera, no podemos confiar en el fabricante de lámparas y decir que es confiable, pero las lámparas eléctricas deben probarse mediante una serie de comportamientos de usuario simulados. Sólo cuando los indicadores estén calificados podrán enviarse fuera de fábrica y comercializarse.

Lo mismo ocurre con las pruebas de software, que requieren pruebas exhaustivas de los módulos y productos desarrollados por los desarrolladores.

El principio es "hacer lo correcto" para poder satisfacer las necesidades y funciones del cliente. El método básico para hacer las cosas es simular todos los comportamientos diarios de los clientes, incluidos algunos comportamientos extremadamente anormales, para probar la usabilidad y estabilidad del software en varios aspectos.

Estos "comportamientos diarios" se denominan casos de prueba. Un buen control de calidad diseñará un conjunto de casos de prueba que puedan cubrir todos los puntos de control sin superponerse. Para este conjunto de habilidades, puede consultar el método MECE. En este caso, el control de calidad debe estar bastante familiarizado con todo el negocio del software, porque necesita saber si el software responde correctamente a un determinado comportamiento del usuario.

Dado que simula el comportamiento del usuario, el control de calidad necesita "ejecutar" casos de prueba manualmente. Cuando un sistema es grande, hay tantos casos de prueba que requiere mucho tiempo y trabajo simplemente hacer clic en ellos manualmente, por lo que el control de calidad puede realizar pruebas automatizadas. La llamada automatización significa que el control de calidad escribe algunos códigos de script y permite que la computadora ayude a realizar algunos comportamientos humanos sin tener que hacerlo manualmente. Entonces, esto requiere que el control de calidad tenga algunas habilidades de codificación.

En términos de comunicación, el control de calidad a menudo tiene que discutir errores (defectos de software) con DEV. Los errores significan funciones que deberían estar disponibles pero no lo están. Para algunos errores más engañosos, a menudo se necesitan muchas palabras para lograr que los desarrolladores los admitan y solucionen con todo su corazón. A menudo se determina que estos errores son errores basados ​​en los valores de diferentes personas, por lo que transmitir valores razonablemente también es una cualidad básica del control de calidad. Un caso real es que cierto control de calidad de la empresa era muy capaz de "entregar valores", por lo que fue atraído al mercado. Además, el control de calidad también necesita comunicarse frecuentemente con los supervisores técnicos para familiarizarse con las necesidades del cliente.

La visión general es que el control de calidad necesita contar con pruebas de integración, lo que requiere un concepto global del propio producto. Por ejemplo, si un producto tiene un sistema de gestión de usuarios y un sistema de gestión de pedidos, ¿cómo se procesará el pedido del usuario con el comportamiento de "eliminar un usuario"? Esta es una perspectiva global. A menudo, un buen control de calidad puede ayudar a los usuarios a pensar en muchas cosas en las que no habían pensado en este momento.

2.3 Supervisión de Calidad (SQA)

Si la función de QA es garantizar "hacer lo correcto", entonces la función de SQA es garantizar "hacer lo correcto".

Por lo general, SQA no participa directamente en el trabajo de desarrollo de software, sino que supervisa el proceso de desarrollo de software desde el margen y luego envía los resultados del monitoreo al equipo de desarrollo de software.

Al tratarse de un proceso de supervisión, SQA suele ser sinónimo de proceso. El proceso es algo que las empresas extranjeras valoran más, desde informes diarios hasta reuniones semanales, desde cuándo guardar los resultados del día en el servidor hasta por qué ocurren accidentes importantes en el equipo, SQA casi siempre está involucrado. Por lo tanto, es una tarea inevitable de SQA formular un proceso que se ajuste al proyecto en la etapa inicial. Durante la operación del proyecto, se debe enviar a SQA una copia de todos los correos electrónicos involucrados en los puntos especificados en el proceso del proyecto.

Cuando SQA observa el funcionamiento del proyecto a lo largo del proceso, inevitablemente recopilará una gran cantidad de datos (incluidos los correos electrónicos que acabamos de mencionar). SQA resumirá estadísticamente estos datos y luego resumirá las reglas e informes y los presentará directamente al Director. En vista de esto, SQA todavía tiene un alto estatus en nuestra empresa.

SQA también llevará a cabo comunicaciones personales cara a cara con el equipo de desarrollo de vez en cuando. El nombre es Auditoría, que es similar a auditoría en la traducción al chino. Este comportamiento está más dirigido a la evaluación de "personas" que de productos. Porque la calidad de un producto depende de la calidad de las personas.

2.4 Líder Técnico (Tech-Lead)

El líder técnico suele ser la persona encargada de un proyecto en nuestra empresa. El trabajo más importante es el diseño de la arquitectura del software, la comunicación de la demanda del cliente, la resolución de dificultades técnicas y la gestión del equipo interno.

Director técnico, el nombre les dice a todos que las habilidades técnicas deben ser muy buenas. En nuestra empresa, a menudo se trata de ingenieros de software o ingenieros de software senior que han trabajado durante más de 2 o 3 años. Aunque la tecnología es muy buena, en realidad son los DEV (desarrolladores) los que participan directamente en el desarrollo de software. El director técnico solo coordina a un nivel relativamente alto, por lo que hay muy poca programación de código directo.

Pero cuando se encuentra con obstáculos técnicos que DEV no puede superar, el supervisor técnico debe dar un paso adelante y resolver el problema a tiempo.

El principal trabajo diario del director técnico es comunicarse con los clientes, familiarizarse con los requisitos y luego convertir los requisitos comerciales en requisitos de software para que DEV los realice. Por lo tanto, el director técnico debe estar bastante familiarizado con la lógica empresarial. Entre todos los roles del proyecto, la persona que está más familiarizada con el negocio además del cliente es el director técnico. Por lo tanto, el director técnico desempeña un papel de conexión, comunicándose con los clientes y el desarrollo, y conectando las necesidades reales del negocio y la implementación de software virtual. Todo esto impone grandes exigencias a las habilidades de comunicación de los directores técnicos.

El equipo de software no siempre es armonioso. A veces la interfaz de un determinado módulo no se puede conectar con la interfaz de otro módulo. A veces el trabajo de una persona es bloqueado (interrumpido) por el trabajo de otra persona. sucede que un determinado DEV no siempre compra una determinada cuenta de QA, etc. Todo esto, desde la tecnología hasta las propias personas, siempre pondrá a prueba el nivel de gestión de un director técnico.

2.5 Gerente de Desarrollo (SDM)

El gerente de desarrollo de software es el puesto ejecutivo más alto en proyectos de software en general. Sus funciones principales son el control del progreso del proyecto, la comunicación de alto nivel con el cliente e incluso el control del presupuesto del proyecto.

Las habilidades de programación de un gerente de desarrollo de software dependen de la persona específica. En nuestra empresa, los gerentes de desarrollo de software generalmente tienen experiencia técnica y tienen entre 5 y 8 años de experiencia laboral o calificaciones en la industria del software. En proyectos específicos, casi no se requiere trabajo de diseño ni escritura de código. El plan inicial del proyecto (Plan de proyecto), la gestión del progreso del proyecto a medio plazo y la gestión de la demanda del cliente, y la entrega tardía del proyecto son los elementos principales con los que los gerentes de desarrollo de software y los clientes deben comunicarse.

En términos de negocios, los gerentes de desarrollo de software tienen una gran capacidad para comprender el negocio, porque las personas con calificaciones superiores tienen un mejor sentido y comprensión de muchos negocios desconocidos que otros. Sin embargo, en realidad, la mayor parte del trabajo sobre los requisitos comerciales lo realizan los supervisores técnicos, por lo que los gerentes de desarrollo de software se centran principalmente en el proyecto general y prestan menos atención a los detalles.

Un papel importante del gerente de desarrollo de software es movilizar activamente recursos tanto dentro como fuera del proyecto durante el proceso del proyecto de software. En pocas palabras, colocar a las personas adecuadas en los puestos adecuados. Cuando el equipo encuentra un problema que no se puede resolver, el gerente de desarrollo de software encontrará formas de obtener recursos externos para ayudar al equipo a superar las dificultades.

3 Observe las cualidades de talento que requieren las empresas en el siglo XXI desde la perspectiva de los miembros del equipo de desarrollo de software

Desarrollo (DEV), prueba (QA) y supervisión de calidad (SQA). ) de un equipo de desarrollo de software, Director Técnico (Tech-Lead) y Gerente de Desarrollo (SDM). No es difícil ver qué tipo de talentos necesita la sociedad del siglo XXI. La respuesta es clara, en el siglo XXI. Lo que necesitamos son talentos compuestos.

¿Qué son entonces los talentos compuestos? Los talentos integrales son talentos multifuncionales que se caracterizan por su versatilidad y capacidad para mostrar sus talentos en muchos campos. Los talentos compuestos incluyen múltiples aspectos, como el conocimiento compuesto, las habilidades compuestas y el pensamiento compuesto. Las principales características de la sociedad actual son la intersección interdisciplinaria, la integración del conocimiento y la integración de la tecnología. Esta característica determina que todos deben mejorar su calidad general. Los individuos no sólo deben ampliar sus conocimientos, sino también ajustar constantemente su mentalidad, cambiar su forma de pensar y convertirse en un "pensador brillante". Entonces, ¿qué cualidades debe tener un talento compuesto?

3.1 Noble carácter ideológico y político

En primer lugar, debemos establecer una visión del mundo, de la vida y de los valores marxistas correctos, y utilizar la perspectiva del materialismo dialéctico para ser objetivos. , dinámico, integral, esencial y Mirar problemas, analizar problemas y resolver problemas de forma conectada.

En segundo lugar, debemos tener una postura política firme, adherirnos a los cuatro principios básicos, establecer creencias e ideales comunistas y participar consciente, activa, entusiasta y proactivamente en la construcción del socialismo con características chinas y esforzarnos. para realizar la modernización socialista. En la sociedad actual, debemos ser capaces de identificar y resistir la influencia de diversas tendencias de pensamiento erróneas y mantener firmemente la dirección política correcta.

En tercer lugar, debemos tener conciencia moderna, como conciencia de competencia, conciencia de puntualidad, conciencia científica, conciencia de apertura, conciencia de reforma, conciencia de democracia, conciencia legal, conciencia de igualdad, conciencia de información, conciencia de servicio de calidad, etc.

3.2 Buen conocimiento científico y cultural

La alfabetización científica y cultural se refiere a la comprensión que tienen las personas de diversos conocimientos básicos o sentido común de la cultura humana, como las ciencias naturales, las humanidades y las ciencias sociales, la literatura, estética, arte, etc. nivel y dominio. Los talentos del siglo XXI necesitan conocimientos profesionales profundos y capacitados, conocimientos de vanguardia avanzados y frescos y diversos conocimientos relacionados con esta especialización.

3.3 Conocimiento jurídico y moral

La sociedad del siglo XXI será una sociedad jurídica, y la ley será universalmente vinculante y obligatoria dentro de su ámbito de aplicación. Especialmente en la economía de mercado socialista, cualquier actividad económica debe llevarse a cabo de conformidad con la ley. Es aún más importante conocer, comprender, utilizar y respetar la ley y mejorar la conciencia jurídica. Por lo tanto, los talentos del siglo XXI deben tener un alto conocimiento jurídico, comprender los contenidos básicos de la Constitución y las leyes, ejercer correctamente los derechos ciudadanos, cumplir concienzudamente las obligaciones ciudadanas, ser ciudadanos respetuosos de la ley y utilizar la ley para proteger sus derechos legítimos y intereses.

3.4 Psicología saludable

La llamada salud mental significa que un individuo puede mantener un buen estado de eficacia psicológica en diversos entornos, en este estado el individuo puede ser reconocido por la sociedad. Ajustar la estructura psicológica interna de manera que se logre una buena adaptación al entorno externo, aprovechar al máximo su potencial físico y mental y mantener una fuerte vitalidad.

3.5 Ciertas habilidades interpersonales y espíritu cooperativo

El siglo XXI es una era de cambios extremadamente rápidos, lo que la convierte en una sociedad extremadamente competitiva, pero también es imposible confiar únicamente en Uno. La capacidad de una persona puede hacer realidad una carrera, por lo que la cooperación es aún más necesaria en el siglo XXI. El espíritu de cooperación es un espíritu de los tiempos que merece ser promovido, y también es una excelente cualidad necesaria para los talentos del nuevo siglo. Debemos abandonar la mala costumbre de "escuchar las voces de las gallinas y los perros, y no". comunicarse entre sí hasta la vejez y la muerte" y defender la ciencia, la civilización, la salud y la apertura Métodos de interacción social, aprender a comunicarse, aprender a cooperar y promover el espíritu de cooperación. En el proceso de comunicación interpersonal y cooperación mutua, debemos prestar atención al beneficio mutuo, el respeto mutuo, la confianza mutua, la eliminación de los celos, la sublimación de habilidades, etc., para construir una patria más próspera y más fuerte.

3.6 El espíritu de innovación en la nueva era

El espíritu de innovación es imprescindible en el siglo XXI, sin innovación, significa "un charco de agua estancada", estancada, cayendo. detrás y siendo golpeado. La ciencia y la tecnología deben estar a la vanguardia del mundo, y la construcción económica debe estar a la vanguardia del mundo. Todo requiere innovación, especialmente en la construcción de una China socialista con características chinas. Participar en esta nueva causa pionera para cientos de millones de chinos. personas no tiene precedentes. No existe una experiencia preparada para aprender de los demás, por lo que tenemos que depender completamente de nosotros mismos para desarrollarnos e innovar.

3.7 Calidad de la salud física

Los seres humanos son la base de todas las cosas. Para tener éxito, las personas tienen que trabajar duro física y mentalmente, lo que requiere una buena salud física y mental en términos de salud. Funciones fisiológicas Un cerebro sano y desarrollado. La calidad de la salud física debe incluir tres aspectos: en primer lugar, debe tener un cuerpo fuerte y sano, capaz de resistir enfermedades, soportar el trabajo pesado y la prueba de diversos entornos hostiles, en segundo lugar, debe tener un cerebro sano y desarrollado, que pueda utilizarse; absorber conocimientos y soportar un trabajo mental pesado; en tercer lugar, deben tener una buena calidad psicológica y mantener una personalidad sana.

En resumen, estas cualidades son necesarias para los talentos del siglo XXI. No están aislados y deben desarrollarse de manera integral, holística y armoniosa para formar las cualidades básicas de los talentos en el nuevo siglo.

4 Conclusión

El siglo XXI es una era de rápido desarrollo social. Lo que necesitamos son talentos compuestos con cualidades integrales.