¿Cómo lidiar con las API / tecnología over-the-head?

11

Supongo que la mayoría de la gente ha estado en esta situación.

Comienza la planificación inicial del proyecto. Los requisitos están descritos. Después de la revisión arquitectónica y la clasificación a través de API / Frameworks, se elige la tecnología de ajuste. El desarrollo comienza.

Y luego comienza. Tan pronto como necesite hacer algunas cosas de soporte supuestamente simples, el marco / API comienza a ser contraproducente y, en lugar de hacer cualquier trabajo, termina luchando contra la tecnología. El tiempo de investigación se dispara, los foros son silenciosos, parece que no se hace nada, e incluso cuando tienes algo para trabajar, no estás realmente seguro de que se haga bien.

¿Cómo te las arreglas en estas situaciones? ¿Vas por hacks, investigas más, qué le dices a la gerencia?

Descifrador
fuente
+1: Qué gran pregunta. Digno de un +10. He tenido la misma experiencia.
Jim G.
Es una gran pregunta Muchas veces he visto dónde se usaban palabras como "apalancamiento" y "sinergia" para vender algunas cosas de terceros. Entonces te encierras en él, y van y lo sacan de debajo de ti. (A MS le gusta hacer eso). Mientras tanto, los evangelistas originales ya no están.
Mike Dunlavey el

Respuestas:

9

Prototipo, Prototipo, Prototipo !!

Si su equipo no está familiarizado con un marco particular, prototipo de algo en él para evaluar dónde están los puntos débiles.

Matt Raible (comparador de Java Web Framework) sugiere trabajar con un framework durante una semana si es posible.

La creación de prototipos incluye investigar el apoyo de la comunidad detrás de un marco y otros factores

Martijn Verburg
fuente
+1 para prototipo. Tener algo realmente funcionando, incluso si se junta con cinta adhesiva y se apoya con palos, y se estrellará si lo dejas solo durante cinco minutos, es un hito invaluable para alcanzar.
Si comienza la planificación inicial del proyecto, como se indica en la pregunta, significa que el proyecto ya ha sido entregado y, por lo tanto, YA se ha vendido al cliente. Entonces ... si no hay "creación de prototipos" y los costos en horas se toman en este WBS, entonces no hay creación de prototipos. Lo ideal sería que esto ocurriera incluso antes de vender la solución. Entonces, antes de que uno o más proyectos funcionen. Mucho antes de ese proyecto, desea incluir "prototipos" como parte de las horas necesarias y algunas evaluaciones. Esto es difícil para la mayoría de los clientes, ya que quieren una solución.
edelwater
en dan willen ze ook nog de exacte server especificaciones van te voren ....
edelwater
6

Administrar dependencias externas es la ruina de muchos proyectos de TI. Hace muchos años, los programadores experimentados con los que trabajé siempre se aseguraban de que tuvieran control sobre sus dependencias, generalmente al insistir en que se compraran licencias de código fuente.

Personalmente, ese no ha sido mi enfoque. Tiendo a ser de la promesa, sobre entregar escuela de pensamiento. Hay momentos en los que he tenido que esforzarme, pero hago una investigación privada de antemano para estar 99% seguro, generalmente haciendo un proyecto privado a menudo en mi propio tiempo para asegurarme de que la tecnología pueda funcionar. En efecto, prototipo, prueba, validar y luego prometer.

Hay situaciones en las que me atrapan, y tengo que retroceder o ser inventivo. Tener una mente creativa con mucha experiencia amplia ayuda aquí, pero también lo hace hablar con otras personas. - Y no siempre los programadores. A veces las soluciones provienen de lugares realmente extraños.

En cuanto a la gestión, la clave es la honestidad. Hable temprano y con frecuencia. No lo deje para el último minuto, ya que decepcionar a los gerentes / clientes el día antes de una gran entrega simplemente lo hace parecer aficionados. Poder decir, 2 meses antes de la fecha límite, que los gerentes deben elegir entre dejar caer algunas funciones y / o retrasar el envío puede no ser popular en ese momento, pero sí permite que el resto de la organización haga su trabajo y planifique . La clave para poder hacer esto es tener un buen sistema de gestión de tareas que rastree los tiempos y las estimaciones de tareas. Tener evidencia sólida para respaldar su punto de vista hace que sea mucho más probable que lo escuchen.

Michael Shaw
fuente
He hecho muchas de las mismas cosas que has mencionado aquí y me ha funcionado muy bien. Hasta donde sé, los clientes con los que he trabajado han quedado muy satisfechos con lo que entregué porque generalmente superé las expectativas que tenían. También apreciaron realmente la comunicación de cómo progresaban las cosas y cuándo había problemas, cuáles eran y el impacto.
Ken Henderson el
2

"¿Cómo te las arreglas en estas situaciones?". Lo que he visto / experimentado:

el punto número 1 Estoy de acuerdo con Ptolomeo: se honesto:

Si realmente es un problema: ve a esa habitación, cuenta el problema, siéntate a esperar la respuesta de enojo y luego ... trabaja hacia un nuevo plan / solución. (El chico no está enojado contigo personalmente).

Hay cursos de TI que se ocupan solo de esta situación. Te colocan con actores y ellos colocan al cliente enojado que escucha esta noticia. Obtienes muchos consejos al respecto. Suena estúpido, pero probablemente solo después de hacerlo notas el valor. Me fui con una hoja con 80 puntos para recordar en esas situaciones ... (y práctica).

Esta situación es típica, probablemente aún más, hoy en día donde los presupuestos son ajustados, las ventas se realizan con la "oferta más baja", la planificación que usted dio se recorta 5 veces antes de que sea aceptada por el cliente ... (incluido ese prototipo ya que "está contratando" usted porque usted es el experto y de lo contrario son otros 10 esperando "), etc.

- Otra cosa podría ser el pensamiento lateral: si no se puede hacer de esta manera, intente proponer algo completamente diferente que proporcione el mismo valor para el cliente. Si la tecnología no funciona en absoluto / está en quiebra / salta del acuerdo / etc ... Si el cliente compra esto, puede entregar el mismo valor al final. Pero traerlo también es bastante difícil. (para algunos y totalmente no para otros). Necesitas los muchachos realmente experimentados para esto. Una situación similar es que la Tecnología NO ESTÁ A LA PARTE ... lleva algunos meses ... Por lo tanto, debe convencer al cliente para que vuelva a planificar y acepte la nueva planificación y el impacto en su organización ...

- Otra 'lección aprendida' es invocar a los hombres mayores senior tan pronto como note que va en esta dirección. A menudo se han ocupado de proyectos problemáticos y son realmente útiles en estas situaciones. A menudo solo viajan de proyecto problemático a proyecto problemático.

- Otra lección aprendida es dejar que su material arquitectónico pase por canales de verificación, especialmente en los proyectos más grandes. Una firma puede cubrir tu trasero. (guarde todos sus correos electrónicos LOL)

Edelwater
fuente