2010-02-05 14 views
6

En mi empresa, estamos llevando a cabo una gran tarea de creación de una nueva arquitectura de software para nuestros productos. Nuestra arquitectura actual ha estado en uso para muchas iteraciones de productos y ha durado una larga vida y es hora de que se retire. La arquitectura de la interfaz de usuario se implementa actualmente en WTL/ATL 3.0 y COM.Diseñar una arquitectura en una tecnología donde falta la experiencia

Acabamos de completar el diseño de la arquitectura back-end, una que resistirá el paso del tiempo como su predecesor. Sin embargo, las tecnologías de IU se mueven tan rápido que nadie en nuestro equipo tiene la experiencia que consideraría necesaria para establecer una base que dure muchos años. Actualmente estamos apuntando a WPF para esta arquitectura y considerando diversas estrategias alternativas para ayudar a nuestra falta de experiencia con esta tecnología. Algunos enfoques que estamos considerando:

  1. tener nuestro personal experimentado rampa arriba en WPF y trabajar a través de una arquitectura - preocupación con este enfoque es que las áreas que necesitamos nuestra capa de interfaz de usuario para durar y es probable que todo el aprendizaje de requerido no se obtendrá hasta después de que se hayan implementado muchos productos usando esta arquitectura.

  2. Traiga experiencia temporal de una empresa de consultoría para ayudar con la arquitectura y el desarrollo: este enfoque es prometedor; sugerencias sobre empresas con experiencia? Microsoft no proporciona consultores de aplicaciones y arquitectura, por lo que encontrar a alguien con la experiencia necesaria puede ser un desafío.

  3. Llevar a una empresa de consultoría para una sesión de estudio y orientación de arquitectura - Parece ser convincente, ya que proporcionaría nuestra experiencia de orientación del personal al tiempo que permite que nuestro conocimiento del dominio dirija la dirección de la arquitectura. Puede ser difícil encontrar empresas calificadas para este tipo de servicio.

Mi pregunta entonces a que es la forma en que ha resuelto una situación similar en el que se debe crear una sólida rica arquitectura estancia, ya largo utilización de las nuevas tecnologías que su equipo no tiene actualmente arquitecto conocimiento nivel de? ¿Has tenido éxito con alguna de las estrategias mencionadas anteriormente, o hay otros enfoques que he omitido por completo?

En general, no soy partidario de trabajar en esta capacidad con tecnologías que no conoce. Teniendo esto en cuenta, la experiencia del usuario que creemos que WPF puede proporcionar nos dará las capacidades que queremos utilizar durante muchos años. En cualquier caso, debes comenzar en algún lado. ;-)

Respuesta

6

Tiene que aprender la interfaz gráfica de usuario que elija con el tiempo.

Como uno de esos consultores externos que viene para este tipo de proyectos, sugiero una variación en la opción # 2.

  • Engage uno o dos consultores externos.

  • Pídales que lo guíen a través de algo así como su opción 2. En realidad, aprende WPF y luego (con su ayuda) desarrolla la arquitectura y la implementa.

Su pregunta de seguimiento ("sugerencias sobre empresas con experiencia") es inquietante. Si no tiene socios tecnológicos de confianza, ahora es el momento de comenzar a cultivarlos. Llevará un tiempo localizar personas en las que pueda confiar.

La única manera de localizarlos es pagándoles para que hagan un trabajo y vean si les gusta y el trabajo. Este proceso puede llevar mucho tiempo.

Los problemas con hacer # 1 usted mismo son los más obvios. Si intenta hacer esto en un plazo sin expertos, cometerá errores. Vas a convertir esos errores en concretos. Intentarás vivir con ellos para siempre. Al aprender algo nuevo, el calendario es lo más peligroso que se pueda imaginar.

La opción n. ° 1 funciona cuando no hay presión de tiempo. Desarrollas algo desechable mientras aprendes. Luego construye algo que sabes que tendrás que tirar. Luego construye lo real.

El problema con hacer # 3 es que puede estar pidiendo a los consultores que hagan demasiado. Si planifican su arquitectura, probablemente no la comprenderán por completo. Cortarás esquinas y cosas malas pueden suceder. Si, por otro lado, lo haces tú mismo, entenderás por qué esas esquinas no deben cortarse.

Además, el n. ° 3 es una oportunidad para apilar cada función que piense que podría ser genial. Hasta que comprenda la tecnología, realmente no comprenderá qué es esencial, qué es fácil y qué es difícil. Es muy probable que exija algo caro y arriesgado porque es difícil entender exactamente qué tan caro y arriesgado es.

4

En primer lugar, WPF es probablemente una buena opción. Esto está siendo adoptado por Microsoft, y realmente parece ser la dirección a seguir para el desarrollo a largo plazo. Hace poco tomé una decisión similar y decidí ir con WPF. Después del dolor inicial que viene con una nueva tecnología, está demostrando ser una muy buena decisión.

Dicho esto, me gustaría recomendar encarecidamente una mezcla de 2 & 3.

Si usted puede encontrar un buen consultor para ayudar con el diseño, debe ser capaz de traerlos para ayudarle con la fase de diseño y arquitectura, alguna construcción inicial del proyecto, y potencialmente también pueden ayudar a sus desarrolladores a ponerse al día. Tener ayuda interna (o al menos de turno) será tremendamente útil para avanzar en las fases iniciales de tratar de desarrollar con WPF.

También ayuda a traer un desarrollador y/o diseñador que tenga experiencia trabajando con WPF.

Cuestiones relacionadas