2010-02-05 5 views
6

Chez moi, nous entreprenons une grande tâche de création d'une nouvelle architecture logicielle pour nos produits. Notre architecture actuelle a été utilisée pour de nombreuses versions de produits et a duré une longue vie et il est temps qu'elle prenne sa retraite. L'architecture de l'interface utilisateur est actuellement implémentée dans WTL/ATL 3.0 et COM.Concevoir une architecture dans une technologie où l'expertise fait défaut

Nous venons de terminer la conception de l'architecture back-end, qui résistera à l'épreuve du temps comme son prédécesseur. Cependant, les technologies de l'assurance-chômage évoluent si rapidement que personne dans notre équipe n'a l'expertise que je considérerais comme nécessaire pour jeter les bases qui devraient durer de nombreuses années. Nous ciblons actuellement WPF pour cette architecture et considérons diverses stratégies alternatives pour aider notre manque d'expertise avec cette technologie. Certaines approches que nous envisageons:

  1. Demandez notre personnel expérimenté rampe sur WPF et travailler à travers une architecture - Le souci de cette approche est que les domaines dont nous avons besoin de notre couche d'interface utilisateur pour durer et probablement tous de l'apprentissage requis ne sera pas acquise avant que de nombreux produits aient été mis en œuvre en utilisant cette architecture. Apporter une expertise temporaire d'un cabinet de conseil pour aider à l'architecture et au développement - Cette approche est prometteuse; suggestions sur les entreprises ayant une expertise? Microsoft ne fournit pas de consultants en applications et en architecture. Trouver quelqu'un avec l'expertise nécessaire peut s'avérer difficile. Inviter un cabinet de conseil pour une étude d'architecture et une séance d'orientation - Semble être convaincant car il fournirait notre expérience du personnel tout en permettant à nos connaissances du domaine d'orienter la direction de l'architecture. Il peut être difficile de trouver des entreprises qualifiées pour ce type de service.

Ma question alors vous comment avez-vous résolu une situation similaire où vous devez créer une architecture de séjour robuste, riche, longue en utilisant les nouvelles technologies que votre équipe n'a pas actuellement connaissance du niveau d'architecte? Avez-vous eu du succès avec l'une des stratégies mentionnées précédemment, ou y a-t-il d'autres approches que j'ai complètement oubliées?

En général, je ne suis pas un avocat pour travailler dans cette capacité avec des technologies qui ne vous sont pas familières. Dans cet esprit, l'expérience utilisateur que nous pensons que WPF peut fournir nous donnera les capacités que nous voulons utiliser depuis de nombreuses années. En tout cas, vous devez commencer quelque part. ;-)

Répondre

6

Vous devez éventuellement apprendre l'interface graphique de votre choix.

Comme l'un de ces consultants externes qui vient pour ce genre de projets, je suggère une variation sur l'option # 2.

  • Engager un ou deux consultants externes. Demandez-leur de vous guider à travers quelque chose comme votre option 2. Vous apprenez réellement WPF et puis (avec leur aide) développez l'architecture et l'implémentez.

Votre question de suivi ("suggestions sur les entreprises ayant une expertise") est dérangeante. Si vous n'avez pas de partenaires technologiques de confiance, il est temps de commencer à les cultiver. Il faudra un certain temps pour trouver des gens en qui vous pouvez avoir confiance. La seule façon de les localiser est de les payer pour faire un peu de travail et de voir si vous les aimez et le travail. Ce processus peut prendre beaucoup de temps.

Les problèmes avec le n ° 1 par vous-même sont les plus évidents. Si vous essayez de le faire dans un délai sans experts, vous ferez des erreurs. Vous allez jeter ces erreurs dans le béton. Tu essaieras de vivre avec eux pour toujours. En apprenant quelque chose de nouveau, le calendrier est la chose la plus dangereuse imaginable.

L'option 1 fonctionne quand il n'y a pas de pression. Vous construisez quelque chose à jeter pendant que vous apprenez. Ensuite, construisez quelque chose que vous savez que vous devrez jeter. Puis construis la vraie chose.

Un problème avec le point 3 est que vous pourriez demander à des consultants d'en faire trop. S'ils planifient votre architecture, vous ne la comprendrez probablement pas complètement. Vous allez couper les coins et de mauvaises choses peuvent arriver. Si - d'un autre côté - vous le faites vous-même, vous comprendrez pourquoi ces coins ne doivent pas être coupés.

De plus, le numéro 3 est une opportunité pour empiler toutes les fonctionnalités que vous pensez être cool. Jusqu'à ce que vous compreniez la technologie, vous ne comprenez pas vraiment ce qui est essentiel, ce qui est facile et ce qui est difficile. Vous êtes très susceptible d'exiger quelque chose qui est coûteux et risqué, car il est difficile de comprendre exactement à quel point c'est cher et risqué.

4

Tout d'abord, WPF est probablement un bon choix. Ceci est adopté par Microsoft, et semble vraiment être la direction que les choses vont pour le développement à long terme. J'ai récemment pris une décision très similaire à cela, et j'ai décidé d'aller avec WPF. Après la douleur initiale qui vient avec une nouvelle technologie, c'est une très bonne décision.

Cela dit, je recommande vivement un mélange de 2 & 3.

Si vous pouvez trouver un bon consultant pour aider à la conception, vous devriez être en mesure de les apporter pour vous aider à phase de conception et d'architecture, une première construction du projet, et ils peuvent potentiellement aider vos développeurs à se mettre à jour. Avoir de l'aide à domicile (ou au moins sur appel) sera extrêmement utile pour passer à travers les phases initiales d'essayer de développer avec WPF.

Il aide également à faire appel à un développeur et/ou un concepteur qui a déjà travaillé avec WPF.

Questions connexes