O mundo do cliente mudou - como lidamos com isso?

10

Há algum tempo, fomos encarregados de um projeto para substituir o antigo sistema Mainframe de um cliente por uma nova solução ASP.NET da intranet usando o SQL Server como back-end. Parte disso também foi uma reengenharia dos negócios - essencialmente, à medida que mudamos o sistema, deveríamos pensar em como podemos fazer negócios melhor.

Portanto, a primeira tarefa foi entrar e fazer os modelos de dados lógicos e depois físicos. O cliente participou dessas discussões e teve sua assinatura completa. A próxima fase foi realmente fazer o design e a construção de cada módulo. Bem, para resumir uma longa história, a programação foi concluída e agora estamos em testes paralelos do sistema. As coisas estão indo maravilhosas para a maioria dos módulos até agora - exceto um.

Temos um sistema em que - se você deixasse os usuários comerciais verem o aplicativo e os relatórios, tudo ficaria bem. Ele funciona com o novo fluxo de trabalho integrado e automatiza processos manuais anteriormente e apresenta um ótimo desempenho de acordo com as especificações. O teste paralelo descobriu alguns problemas, embora com os dados herdados migrados. Os construtores do sistema legado estão tendo dificuldades para entender o novo esquema e processo de negócios, portanto, estão enfrentando dificuldades para entender como pegar os dados legados e colocá-los no novo esquema. Por causa disso, eles estão convocando reuniões de usuários de negócios e partes interessadas e dizendo a eles que o novo sistema não fornece dados que o sistema antigo forneceu (quando realmente faz) - isso faz o novo sistema parecer ruim.

Isso é frustrante, para dizer o mínimo. O novo sistema funciona muito bem e fornece tudo o que eles precisam e desejam, e se não fosse a incapacidade da equipe de TI de preencher as novas tabelas com os dados antigos, os usuários corporativos ficariam felizes com os novos recursos e funcionalidades.

Estou pedindo sugestões de como lidar com isso. Devido a algumas mudanças políticas, o novo "arquiteto" não tem idéia de como o sistema funciona e não pode entender completamente as ramificações das alterações que a equipe de TI está solicitando. A equipe de TI deseja algumas mudanças fundamentais no sistema, que são essencialmente desnecessárias e, na verdade, são um projeto ruim - mas são o cliente.

Alguma ideia?

Catchops
fonte
além das ótimas respostas abaixo, você deve pedir aos opositores que forneçam um exemplo de dados que eles acham que não têm suporte. Em seguida, converta os dados para mostrar a eles (e aos tomadores de decisão) que eles estão errados.
Jake Berger

Respostas:

21

Sua equipe precisa fazer a conversão de dados para eles. Você realmente deveria ter feito isso por eles em primeiro lugar.

Eu estive envolvido em várias migrações caras de plataforma e o fornecedor sempre, sempre tem sua própria equipe de conversão de dados, responsável por entender o sistema legado, escrever todos os scripts de migração, realizar todos os testes e, geralmente, garantir que tudo faz o que deveria.

Algumas empresas podem ter uma equipe de TI brilhante que pode fazer isso sozinha. Outros podem alegar ser capazes de fazer isso sozinhos, mas na verdade não podem. Neste último caso, você precisa ser humilde o suficiente para se sentar, mas também estar preparado para acelerar se e quando a gerência decidir que a equipe interna não está fazendo um bom trabalho.

Este é o seu sistema e sua implementação. Você e somente você é responsável por garantir que seja bem-sucedido. Não espere que o cliente possa fazer parte disso sozinho. Somente se eles absolutamente insistirem em fazer essa parte por conta própria, você deve considerar essa opção e, nesse caso, precisará cobrir suas bundas - deve haver algo no contrato dizendo que, se eles escolherem fazer isso sozinhos, eles serão responsáveis pelo seu resultado.

Eles podem pagar para você cuidar da equipe deles, se quiserem, e podem pagar para você começar tudo de novo, se quiserem, mas não desperdice ciclos desnecessários sem algum tipo de acordo. Especialmente se você tiver um contrato de tempo limitado ou custo fixo, essa situação é a morte.

O ponto é, como você diz, eles são o cliente, o que significa que eles não funcionam para você. De fato, se você é um cínico como eu, pode suspeitar que alguns deles estão trabalhando ativamente contra você para manter a segurança no emprego. Confiar no cliente para executar qualquer parte de sua implementação é um erro.

Se você precisar contratar alguns escravos de entrada de dados de salário mínimo para fazer a conversão de dados manualmente - faça-o. Qualquer coisa para colocar o resultado de volta em suas mãos.

Aaronaught
fonte
4
"você pode suspeitar que alguns deles estão trabalhando ativamente contra você para manter a segurança no emprego" +1, eu já vi isso antes também.
Maple_shaft
5
+1 "Você realmente deveria ter feito isso por eles em primeiro lugar" O máximo que você pode pedir à equipe herdada é exportar os dados de uma forma que você possa capturar, a reestruturação dos dados é de sua responsabilidade. Infelizmente, a questão é que depende de você inserir esses dados em seu sistema. Boa sorte, companheiro.
Worrier binário:
@Aaronaught - tivemos algumas discussões internamente sobre isso ("deveríamos ter" feito isso por conta própria) - é claro, a retrospectiva é sempre 20/20. Obrigado pela resposta (assim como todos os outros que responderam). Esta é definitivamente uma lição aprendida.
Catchops
@ Catchs: peço desculpas pelo que possa parecer acusatório; é claro que é fácil falar em retrospectiva e é um erro que qualquer nova equipe possa cometer, principalmente porque os clientes tendem a menosprezar o trabalho e assumir que deve ser muito mais fácil do que é. Tudo o que eu pretendia transmitir era que seguir em frente sem essa equipe / processo é geralmente um erro, e que provavelmente precisa ser corrigido.
Aaronaught
@ Catchops: Esta é a única resposta real. Basta entrar em contato com a equipe, obter um despejo físico dos dados e fazer a conversão você mesmo. Você pode até colocar um cara ou dois no local para fazer isso.
NotMe
3

Eles são os que pagam as contas; no final, você precisa dar o que eles estão pedindo, mesmo que essa não seja a melhor solução e dê um passo atrás.

Você deve considerar, no entanto, que talvez as pessoas que costumavam usar o mainframe tenham razão. Minha esposa costumava trabalhar em um banco onde usava algum sistema de mainframe para entrar em várias transações financeiras usando centenas de tipos diferentes de códigos. Era essencialmente sua própria mini-linguagem. Quando o banco gastou milhões de dólares implementando um sistema baseado em GUI que reduziu bastante a complexidade e as etapas envolvidas, eles descobriram mais tarde que a produtividade caiu e nunca mais voltou.

O fato é que, embora o sistema de mainframe fosse desnecessariamente complicado e tivesse uma alta curva de aprendizado, eles foram MUITO mais rápidos do que o sistema de GUI porque se tornaram especialistas em fazer centenas de transações por hora simplesmente digitando rapidamente em um teclado. Isso levou a uma rejeição em massa da base de usuários e o projeto foi descartado como uma falha completa. Produtividade retornada.

A moral é que não descarte completamente as preocupações dos clientes. Leve suas considerações a sério e pergunte-se se a solução que você está fornecendo atende às necessidades de TODAS as partes interessadas.

maple_shaft
fonte
3

eles que o novo sistema não fornece dados que o sistema antigo forneceu (quando realmente fornece).

Você deve levar isso muito a sério ..

Então:

1) Garanta à gerência que você está trabalhando com o pessoal do Legacy para resolver todas as preocupações.

2) Certifique-se de entender completamente o que eles estão dizendo que está faltando e por que é necessário. Trabalhe com os legados para garantir isso. Em seguida, redija a questão e peça para que eles digam "Sim, essa é a nossa preocupação".

Se você concorda com essas preocupações, então:

3) Em seguida, proponha uma solução, faça com que as equipes herdadas insiram \ validação em \ da solução.

4) Prossiga com as medidas corretivas.

Se você não concorda totalmente com os funcionários do Legacy e acredita que essas preocupações não são válidas, então:

3) Expressar preocupações à gerência usando a mesma linguagem que os Legados disseram estar correta. E peça à gerência que decida onde você deve ou não se preocupar.

"O pessoal herdado tem medo de que XXX, não tenho certeza de que seja um problema por causa de AAAA. Eles estão corretos nessa preocupação?"

Idiotas
fonte
3

Sugiro um e-mail sufocante de grande pânico, que atinja todos os associados, não apenas sua gerência. Mantenha-o curto e direto ao ponto.
2 pontos:

1) Podemos resolver suas preocupações em uma reunião / telefonema (proponha um horário)

2) Temos total confiança no sistema, sem o incômodo e as despesas de alterações adicionais

Parece que você tem uma lista das preocupações deles e pode descrevê-los ponto a ponto na reunião. Você só precisa parar o pânico, deixá-los esfriar um pouco e depois atingi-los com verdade. Ofereça até a entrada e ajude no mapeamento de dados antigos para novos. Se eles ainda exigem mudanças ... bem, é o dinheiro deles.

DKnight
fonte
1

Primeiro, quero salientar que, embora a seção de TI possa ser sua interface, o cliente real NÃO é a seção de TI, mas os negócios para os quais a seção de TI trabalha. Fazer algo que prejudique os negócios para apaziguar a TI não seria um bom serviço.

Sente-se com a TI informalmente. Compre rosquinhas. Assuma o papel de aluno como professor e pergunte "O que há de errado com nosso design de software?" Ouça o que eles estão dizendo e o que eles não estão dizendo. Eles podem ter um ponto que foi ignorado nas especificações originais ou que têm preocupações com base em questões anteriores. Por outro lado, eles podem estar reagindo devido ao medo de algo novo. Mas o ponto é que, se você conhece intimamente as objeções deles, está em melhor posição para obter um resultado positivo e responder às objeções deles.

Você mencionou que o problema estava na migração de dados do sistema legado para o novo sistema. Se a seção de TI estiver com problemas para migrar os dados, eu consideraria criar uma pequena ferramenta para fazer isso de forma rápida e limpa.

Andrew Neely
fonte
0

Consulte a equipe de TI do seu cliente para dar suporte à migração dos dados antigos para o novo sistema. Alguém da sua empresa que entende o novo formato de dados deve ir fisicamente até lá e ajudar o pessoal de TI a fazer a migração.

Dessa forma, esperamos que eles possam ensinar aos técnicos de TI sobre o novo sistema, os dados sejam migrados corretamente e sua implementação será mais tranquila.

Joris Timmermans
fonte