2010-02-05 9 views
6

Nella mia azienda stiamo intraprendendo un grande compito di creare una nuova architettura software per i nostri prodotti. La nostra attuale architettura è stata utilizzata per molte iterazioni di prodotto e ha avuto una lunga vita ed è ora di andare in pensione. L'architettura dell'interfaccia utente è attualmente implementata in WTL/ATL 3.0 e COM.Progettare un'architettura in una tecnologia in cui mancano le competenze

Abbiamo appena completato il progetto dell'architettura back-end, uno che resisterà alla prova del tempo come il suo predecessore. Tuttavia, le tecnologie dell'interfaccia utente si muovono così velocemente che nessuno nel nostro team ha le competenze che ritengo necessarie per gettare le fondamenta che dovrebbero durare molti anni. Attualmente stiamo prendendo di mira WPF per questa architettura e considerando varie strategie alternative per aiutare la nostra mancanza di esperienza con questa tecnologia. Alcuni approcci che stiamo considerando:

  1. avere il nostro personale esperto rampa su WPF e di lavoro attraverso un'architettura - preoccupazione con questo approccio è che le aree di cui abbiamo bisogno il nostro livello di interfaccia utente per durare e probabilmente tutti l'apprendimento del richiesto non sarà acquisito fino a quando molti prodotti sono stati implementati utilizzando questa architettura.

  2. Portare una consulenza temporanea da una società di consulenza per aiutare con l'architettura e lo sviluppo - Questo approccio sembra promettente; suggerimenti su aziende con esperienza? Microsoft non fornisce consulenti per applicazioni e architettura, quindi trovare qualcuno con le competenze necessarie potrebbe rivelarsi impegnativo.

  3. Portare in una società di consulenza per uno studio di architettura e una sessione di orientamento: sembra essere convincente in quanto fornirebbe alla nostra esperienza la guida del personale, consentendo al contempo alla nostra conoscenza di dominio di orientare la direzione dell'architettura. Potrebbe essere difficile trovare aziende qualificate per questo tipo di servizio.

La mia domanda allora per voi è come avete risolto una situazione simile in cui è necessario creare un robusto, ricco, lungo soggiorno architettura utilizzando le nuove tecnologie che la tua squadra non attualmente hanno un livello di conoscenza architetto? Hai avuto successo con una delle strategie menzionate in precedenza o ci sono altri approcci che mi sono sfuggiti completamente?

In generale, non sono un sostenitore di lavorare in questa capacità con tecnologie che non vi sono familiari. Con questo in mente, l'esperienza dell'utente che crediamo possa fornire a WPF ci darà le capacità che vogliamo utilizzare per molti anni. In ogni caso devi iniziare da qualche parte. ;-)

risposta

6

Alla fine devi imparare la GUI scelta.

Come uno di quei consulenti esterni che vengono in questo tipo di progetti, suggerisco una variazione sull'opzione n.

  • Coinvolgere uno o due consulenti esterni.

  • Lascia che ti guidino attraverso qualcosa come la tua opzione 2. In realtà impari WPF e poi (con il loro aiuto) sviluppa l'architettura e la implementa.

La tua domanda di follow-on ("suggerimenti per le aziende con esperienza") è inquietante. Se non hai partner tecnologici di fiducia, ora è il momento di iniziare a coltivarli. Ci vorrà un po 'per trovare gente di cui ti puoi fidare.

L'unico modo per trovarli è pagarli per fare un po 'di lavoro e vedere se ti piacciono e il lavoro. Questo processo può richiedere molto tempo.

I problemi con il # 1 da soli sono ovvi. Se provi a farlo in una scadenza senza esperti, farai degli errori. Trasformerai quegli errori in concreto. Cercherai di vivere con loro per sempre. Quando si impara qualcosa di nuovo, il calendario è la cosa più pericolosa che si possa immaginare.

L'opzione n. 1 funziona quando non c'è la pressione del tempo. Costruisci qualcosa di usa e getta mentre stai imparando. Quindi costruisci qualcosa che sai che dovrai gettare via. Quindi costruisci la cosa reale.

Il problema con il n. 3 è che potresti chiedere ai consulenti di fare troppo. Se pianificano la tua architettura, probabilmente non la capirai completamente. Potrai tagliare gli angoli e le cose brutte possono accadere. Se - d'altra parte - lo fai da solo, capirai perché quegli angoli non dovrebbero essere tagliati.

Inoltre, # 3 è un'opportunità per accumulare in ogni funzione che si ritiene possa essere interessante. Finché non comprendi la tecnologia, non capisci cosa è essenziale, cosa è facile e cosa è difficile. È molto probabile che tu chieda qualcosa che sia costoso e rischioso perché è difficile capire esattamente quanto sia costoso e rischioso.

4

Prima di tutto, WPF è probabilmente una buona scelta. Questo è stato abbracciato da Microsoft, e sembra davvero essere la direzione che le cose stanno andando per lo sviluppo a lungo termine. Recentemente ho preso una decisione molto simile a questa e ho deciso di andare con WPF. Dopo il dolore iniziale che viene fornito con una nuova tecnologia, sta dimostrando un'ottima decisione.

Detto questo, mi raccomando una miscela di 2 & 3.

Se si riesce a trovare un buon consulente per aiutare con il disegno, si dovrebbe essere in grado di portare loro per aiutare con la fase di progettazione e architettura, alcune fasi iniziali del progetto e possono anche aiutare gli sviluppatori a diventare più veloci. Avere un aiuto in casa (o almeno su chiamata) sarà estremamente utile per ottenere le fasi iniziali del tentativo di sviluppare con WPF.

Aiuta anche a portare uno sviluppatore e/o designer che ha esperienza di lavoro con WPF.

Problemi correlati