Se a maioria da equipe não puder seguir a arquitetura, o que você faz?

4

Estou trabalhando em um projeto greenfields com outros dois desenvolvedores. Somos todos contratados, e eu e um outro apenas começamos a trabalhar no projeto enquanto o original tem feito a maior parte da codificação básica do framework. No mês passado, meu colega programador e eu ficamos apenas frustrados com as descrições de design feitas por nosso colega de trabalho.

Aqui estão algumas informações básicas:

O aplicativo no valor de face parecia ser seu aplicativo da web padrão de n camadas usando C # na estrutura 3.5. Temos uma camada de dados, uma camada de negócios e uma interface da web. Mas à medida que nos aprofundamos no projeto, encontramos algumas coisas muito interessantes que nos causaram alguns problemas. Há uma base do tipo sqlHelper de acesso a dados personalizados que aceita apenas entradas de chave / valor de dicionário e retorna apenas tabelas de dados. Não há objetos de entidade, mas há alguns objetos massivos que fazem tudo e são lançados na sessão para perseverança.

A idéia geral é que as páginas (.aspx) não fazem nada, enquanto os controles (.ascx) fazem tudo. O fluxo geral é aquele  um cliente clica em um botão, que vai para uma base de controle de usuário que passa uma solicitação de processo para a classe 'BLL' que vai para o processador de página, que então vai para um getControlProcessor, que finalmente processa a solicitação. A solicitação em si é composta de um dicionário que está passando um nome de método com valor de string, um nome de procedimento armazenado, um nome de controle e possivelmente um valor. Toda a mudança do processamento é feita comparando os valores de string dos nomes de controle e nomes de método.

As páginas são vinculadas por meio de um controle de cabeçalho comum que usa uma combinação de javascript e tabelas para criar um efeito de hiperlink. E como eu descobri ontem, uma simples hiperligação entre uma página e outra não funciona devido à necessidade de ter um pouco de informação em sessão para determinar qual controle exibir em uma página.

Meu colega programador e eu acreditamos que essa é uma abordagem estranha e incomum para o desenvolvimento de aplicativos da web. Nós dois estamos neste negócio há mais de cinco anos e nenhum de nós já viu essa abordagem.

A minha pergunta é a seguinte: como é que nos aproximamos do nosso colega de trabalho e expressamos as nossas preocupações e o que devemos fazer se ele não quiser aceitar o crite? Nós dois não queremos insultar o trabalho que foi feito, mas sentimos que daqui para frente criaremos um pesadelo para o desenvolvimento.

Obrigado pelos seus comentários.

    
por Chris 11.01.2011 / 20:02
fonte

2 respostas

20

Gostaria de passar algum tempo com as pessoas que fizeram o trabalho e fazer perguntas suficientes para entender o motivo.

Seek First to Understand, then to be understood.

Se você entrar na coisa deles muito rapidamente, eles se sentirão atacados e tentarão se proteger e manter seu status quo confortável.

Ao fazer perguntas não agressivas suficientes, você mostrará interesse em seu trabalho e estabelecerá a base de uma boa cooperação para melhorar a coisa toda. É necessário que a maioria das pessoas seja compreendida para desbloquear suas proteções instintivas.

Fazer essa pergunta também ajudará você a entender o que eles fizeram e talvez você esteja resistindo a uma nova maneira de fazer as coisas.

Às vezes, é impossível colaborar, e isso será uma boa indicação de que você deve se retirar da equipe.

    
por 11.01.2011 / 20:12
fonte
0

Eu mesmo não tenho medo de ofender, mas às vezes fazer perguntas simples ajuda.

Neste caso específico, "E se o usuário clicar com o botão direito e escolher abrir em nova guia?" pode ser eficaz e "E se o usuário gostar do botão Voltar?" definitivamente será.

    
por 11.01.2011 / 23:06
fonte