Probablemente el problema MÁS GRANDE entre estos dos grupos es la comunicación. A menudo, el cliente solicita cosas que no estarán disponibles hasta algún momento del siglo 23 (si Star Trek es una indicación). Y los desarrolladores de software están interesados en lo que se supone que está haciendo el software, cómo debería ser, ¿Cuál es el resultado final que se supone que debe ser?
Donde esto empeora es cuando los Gerentes (generalmente de alto nivel) de ambos grupos son los únicos a los que se les permite hablar entre ellos. En el lado del cliente, estas personas no hacen nada del trabajo, por lo que no tienen idea de cómo les están llegando los resultados finales. En el lado del desarrollo, estos chicos no tienen idea de lo que PUEDE hacer y siguen el ejemplo de Star Trek y muestran como NCIS donde Abby obtiene resultados de ADN en solo unos minutos y filtra la estática de los videos de cámaras de seguridad realmente malos con solo presionar un botón . No. ¡Vida real!
¡Deje que las personas que tendrán que usar el software y las personas que tendrán que codificarlo HABLEN UNO AL OTRO! Déjelos hacerlo a menudo. El producto final hará lo que debe hacerse, ambas partes estarán contentas y el producto llegará al usuario mucho más rápido de lo esperado. Lo peor que puede hacer es utilizar el modelo de desarrollo de software Capability Maturity Model Integration (CMMI). Esto es para los contadores de frijoles y no funciona en el mundo real. Prueba de eso es lo que sucede si realmente intentas aplicarlo al enésimo grado. Aquí es donde usted señala a los poderes que, desde la última reunión celebrada con el cliente, será la ÚLTIMA reunión con el cliente hasta la entrega del producto terminado dentro de 2 años. La gerencia, por supuesto, dirá: “¿Qué? ¿Qué quiere decir la última reunión? ”. Ese es uno de los inquilinos del modelo CMMI una vez que se hayan cumplido los requisitos, no habrá más discusión entre los proveedores de software y el cliente. Los cambios que suceden en la industria y que también cambian lo que el cliente necesita son: “Muy mal, muy triste. No se permiten cambios. Agregará costo a lo que quieres. No es lo que acordamos ”. En pocas palabras, la administración no seguirá el modelo CMMI a menos que se pueda usar contra usted, el desarrollador. Incluso el gobierno no quiere cumplir con esas reglas a menos que estén tratando de hacer que un contratista viole el contrato para deshacerse de ellas.
- ¿Por qué se hace referencia a los programadores como privados de sueño?
- Teniendo en cuenta el escenario político actual en los EE. UU. Y el creciente odio hacia todos los inmigrantes (especialmente H-1B), ¿por qué un desarrollador de software de la India (educado en Estados Unidos) debe permanecer en los EE. UU.
- Sacrifiqué mi tiempo, mi vida social, mis amigos para convertirme en desarrollador de software pero aún no puedo convertirme en uno bueno, ¿qué debo hacer?
- ¿Cuáles son las habilidades fundamentales que debe tener un desarrollador de software maestro?
- ¿Qué tan importante es para un probador o desarrollador comunicarse entre sí?
Tuve un intento de GS para tirar de eso. Así que saqué las partes más inútiles de CMMI y comencé a aplicarlas a él. No hace falta decir que no estaba contento de que interrumpiera toda comunicación una vez que cumplió con sus requisitos patéticos. Le dije que ya tenía sus requisitos y de eso estábamos trabajando. Él dijo: “Sí, pero tengo cambios”. Le dije que el modelo CMMI, que insistió en que usáramos, no prevé nada al respecto. La cascada solo fluye en una dirección. Una vez que se ha completado un nivel, no se puede volver a lograr. No solo eso, sino que le dijimos que pasarían 8 meses antes de que obtuviera el producto. Estuvo de acuerdo con bastante facilidad; Lo completamos en dos y él lo sabía, pero no podíamos entregarlo hasta el tiempo acordado. No hace falta decir que no estuvo a cargo de esa división por mucho tiempo. Estoy seguro de que habría sido despedido si no hubiera sido un GS y que hubiera sido necesario un acto del Congreso para hacerlo.