Se la maggior parte del team non può seguire l'architettura, cosa fai?

4

Sto lavorando a un progetto greenfields con altri due sviluppatori. Siamo tutti appaltatori, e io e un altro abbiamo appena iniziato a lavorare sul progetto mentre l'originale ha fatto la maggior parte della codifica di base del framework. Nel mese scorso, il mio collega programmatore ed io siamo stati semplicemente frustrati dalle descrizioni progettuali fatte dal nostro collaboratore.

Ecco alcune informazioni di base:

L'applicazione al valore nominale sembrava essere la tua applicazione web standard a più livelli usando C # sul framework 3.5. Abbiamo un livello dati, un livello aziendale e un'interfaccia web. Ma man mano che avanzavamo nel progetto, abbiamo trovato alcune cose molto interessanti che ci hanno causato alcuni problemi. Esiste una base di tipo sqlHelper per l'accesso ai dati personalizzato che accetta solo voci chiave / valori di dizionario e restituisce solo tabelle di dati. Non ci sono oggetti entità, ma ci sono alcuni oggetti massicci che fanno tutto e poi vengono lanciati in sessione per persistenza.

L'idea generale è che le pagine (.aspx) non facciano nulla, mentre i controlli (.ascx) fanno tutto. Il flusso generale è quello  un client fa clic su un pulsante, che va a una base di controllo utente che passa una richiesta di processo alla classe 'BLL' che va al processore di pagina, che poi va a un getControlProcessor, che alla fine elabora effettivamente la richiesta. La richiesta stessa è composta da un dizionario che sta passando un nome del metodo con valori stringa, il nome della stored procedure, un nome di controllo e probabilmente un valore. Tutto il passaggio all'elaborazione avviene confrontando i valori stringa dei nomi dei controlli e dei metodi.

Le pagine sono collegate tra loro tramite un controllo di intestazione comune che utilizza una combinazione di javascript e tabelle per creare un effetto collegamento ipertestuale. E come ho scoperto ieri, un semplice collegamento ipertestuale tra una pagina e l'altra non funziona a causa della necessità di avere un bel po 'di informazioni in sessione per determinare quale controllo visualizzare su una pagina.

I miei colleghi programmatori e io crediamo entrambi che questo sia uno strano e insolito approccio allo sviluppo di applicazioni web. Entrambi siamo stati in questo business da oltre cinque anni e nessuno di noi ha visto questo approccio.

La mia domanda è questa, come potremmo rivolgerci al nostro collega e dare voce alle nostre preoccupazioni e cosa dovremmo fare se non volesse accettare il criteico? Entrambi non vogliamo insultare il lavoro che è stato fatto, ma sentiamo che andando avanti creerà un incubo per lo sviluppo.

Grazie per i tuoi commenti.

    
posta Chris 11.01.2011 - 20:02
fonte

2 risposte

20

Vorrei passare un po 'di tempo con le persone che hanno svolto il lavoro e fare abbastanza domande per capire perché.

Seek First to Understand, then to be understood.

Se vieni alla loro parte troppo velocemente, si sentiranno attaccati e cercheranno di proteggere se stessi e il loro comodo status quo.

Facendo domande abbastanza non aggressive, mostrerai interesse per il loro lavoro e stabilisci la base di una buona cooperazione per migliorare il tutto. È necessario che la maggior parte delle persone venga compresa per sbloccare le loro protezioni istintive.

Questa domanda ti aiuterà anche a capire cosa hanno fatto e forse stai resistendo a un nuovo modo di fare le cose.

A volte è impossibile collaborare e questa sarà una buona indicazione che dovresti rimuoverti dal team.

    
risposta data 11.01.2011 - 20:12
fonte
0

Io stesso non ho paura di offendere, ma a volte chiedere semplici domande aiuta.

In questo caso particolare, "Cosa succede se l'utente fa clic con il pulsante destro del mouse e sceglie di aprire in una nuova scheda?" potrebbe essere efficace e "Cosa succede se l'utente è appassionato del pulsante Indietro?" sicuramente lo sarà.

    
risposta data 11.01.2011 - 23:06
fonte

Leggi altre domande sui tag