Sim, sou azarado! Mas de azar em azar pude perceber um ponto em comum desses lugares onde estive e que o dia parece ter meros minutos ao invés das invejadas 8 horas de trabalho. Em muitos deles, mesmo ficando cerca de 16 horas na empresa, parece que nada rendia.
O grande vilão é o dia-a-dia.
O dia-a-dia é aquela economizada que seu diretor deu em determinado orçamento, aquele contrato com o fornecedor que cobrou mais barato mesmo não sendo a escolha de melhor qualidade, é aquela rotina que você poderia ter escrito melhor mas o seu chefe não permitiu para que não atrasasse a entrega do projeto, etc ...
Essa semente do mal cresce e nos engole. E eu dei o apelido carinhoso a ela de dia-a-dia.
Existem diversas maneiras de se evitar que um dia-a-dia apareça. Algumas eu descrevo abaixo:
Fazer antes de pensar:
O trabalho do desenvolvedor de software é absolutamente parecido com o do arquiteto ou engenheiro na construção civil. É tão parecido que vários dos papas da tecnologia, escreveram padrões de projeto (design patterns) que surgiram justamente para ajudar a resolver problemas comuns aos construtores de edifícios e a aplicação do conceito é tão comum aos dois mundos que foi fácil "portar" os conceitos para o mundo da informática.
Imagine que você quer comprar um apartamento. Você vai a um stand de venda e procura um corretor e ele lhe fala da obra magnífica que será edificada ali, que os quartos vão ser maravilhosamente dimensionados nos impressionantes 100m quadrados de área do apartamento, que a cozinha será funcional, etc. Bem, o prédio ainda não está pronto, logo, você não tem como saber como vai ficar. Para ajudar a demonstrar um pouco o arquiteto fez uma planta baixa (um desenho do andar em recorte demonstrando a disposição das paredes, portas, janelas, etc). Ele foi muito preciosista e construiu também uma maquete das fachadas do prédio. O resto fica por conta da sua imaginação. E você aceita. Acha bom, o preço e as condições de pagamento são legais, você fecha negócio e espera o prédio ficar pronto para se mudar com sua família.
Agora imagine que você é um usuário do sistema e a equipe de desenvolvimento de sistemas da sua empresa faz inúmeras reuniões com você para saber como é o seu dia-a-dia, quais são os problemas que você enfrenta para realizar o seu trabalho, etc. Deste modo, eles criam um protótipo de telas, clicável inclusive, diagramas demonstrando as regras de negócio que vão cumprir, criam cronogramas para que você acompanhe o andamento do projeto, o envolvem nos testes e tal. E VOCÊ USUÁRIO CARA DE PAU VEM FALAR QUE NÃO TEM COMO APROVAR O PROJETO PORQUE NÃO TEM O SOFTWARE PARA USAR. COMO VOU APROVAR UM PROJETO SE EU NÃO TENHO O PROGRAMA PARA USAR????
Porque o seu apartamento você compra sem o prédio existir e o software você precisa ter pronto???
É a mesma coisa!
Por causa de usuários assim, temos visto diretores e gerentes exigindo que funcionalidades complexas e regras de negócio beirando sistemas especialistas (com Inteligência Artificial) saiam do papel em questão de poucas horas. Como pode?
Alguém já parou para pensar que 9 mães grávidas juntas não fazem um filho em um mês? Do mesmo modo, tudo tem um tempo para surgir. Estamos fazendo as coisas sem pensar, sem planejar, porque alguém sem noção não está dando o devido tempo para as coisas surgirem.
Milhares de bons sistemas que ajudariam a humanidade a evoluir estão deixando de aparecer no mundo porque alguém inventou uma idiotice chamada TIME-TO-BUSINESS como se o tempo fosse fator limitante do que quer que seja! Algum publicitáriosinho metido a CEO acordou um dia com diarréia e pensou, nossa, quero que os sistemas da minha empresa sejam TODOS feitos em um dia ou dois. Para que perder meses num projeto para um software surgir? Não é só apertar uma série de botões?
A diferença nos casos que eu citei (da engenharia em relação a TI) é que um engenheiro tem um conselho regional que o apóia e o obriga a tomar certas precauções e a se responsabilizar civil e criminalmente pelo que ele está criando, ou seja, se o prédio desabar, ele está completamente ferrado. Se isto fosse imposto a um desenvolvedor, você iria se matar de fazer aquele sistema que na sua concepção levaria um mês para ficar devidamente pronto, em apenas dois dias porque o dono da empresa para a qual você trabalha quer? Por acaso o dono da sua empresa colocou o registro de Tecnologia dele em jogo? Ah, ele não tem porque não tem formação em Tecnologia? Ah, ele não tem formação em nada? Ah, o pai abriu a empresa para ele. Acho que estamos voltando a posts anteriores onde eu disse que alguém que abre uma empresa não necessariamente deveria participar do dia-a-dia dela. Mas contribui com esse monstro.
Pensou? Então pensa mais um pouco antes de sair fazendo:
Você recolheu os requisitos do usuário.
Você validou os requisitos e gerou as regras de negócio.
Você validou as regras de negócio, determinou fluxos para apoiar as premissas que você levantou.
Você gerou os casos de uso para determinar as fronteiras do que será construído.
Você realizou os casos de uso em diagramas de sequências.
Seus arquitetos de sistemas modelaram as classes de acordo com seus diagramas e regras.
Seus desenvolvedores foram envolvidos para validar o modelo.
Foram feitos protótipos.
Foram feitas apresentações dos protótipos aos usuários.
Os usuários aprovaram formalmente os protótipos.
Foram feitas seções de testes de mesa para apoiar as decisões que o projeto tem.
Todo mundo está satisfeito com os resultados.
Vamos começar a construir. Mesmo? Não falta nada?
Usuário mudam de idéia como eu mudo a roupa de baixo. Se você conversar com um usuário, principalmente aquele mais mimado, genioso, em dias diferentes da semana, antes do pagamento do mês, na época que a esposa dele está menstruada, sei lá, pode ter certeza de que ele vai contradizer tudo aquilo que ele havia aprovado. Gestão de mudanças em desenvolvimento de software é a disciplina mais importante em qualquer modelo de gestão de projetos que você venha a adotar. Não importa qual. Alguns te ajudam mais a medir o impacto das coisas, outros menos.
Mas não há milagre feito neste universo, nem na Bahia, que te impeça de frustrar o chefe mimado. Aquele mesmo! Ele ACHA e vai continuar assim eternamente, porque está pagando, que o sistema que ele imaginou ficar pronto em três meses, tem que ficar e pronto. Se não ficar é porque a cadeia de desenvolvimento, do gerente ao faxineiro, não prestam. São incompetentes. Imagina se ele vai achar que por algum momento ele subdimensionou o prazo.
Amigo, as coisas são caras. Você quer algo exclusivo por 10 reais? Aqui não é a China e lá, com toda a certeza, não há itens exclusivos.
Tá bom! Todo mundo entendeu e o projeto vai começar!
Gostaria que alguém me dissesse se existe um sistema que gera sistemas!
Adoro a série Star Trek. Todas as versões.
Havia um instrumento na nave em que você (usuário) pedia algo (sistema) e esse algo era materializado e você poderia interagir com as ilusões, etc. Era chamado na série de Holodeck. Um super simulador, criador de realidades, transformava energia em matéria temporária onde você poderia confundir o seu cérebro e interagir com entidades irreais num mundo de realidade virtual. Conseguiu entender?
Talvez, no século XXIV (24) tenhamos um instrumento capaz de construir um sistema sem a intervenção de pessoas. Mas até lá, talvez você não precise mais de software como o conhecemos. De qualquer modo, para fazer uma casa você precisa de arquiteto, engenheiro, mestre-de-obras, pedreiro, material e TEMPO (além de aprovações de prefeitura e outras burocracias). Ah, esquecemos do bom e velho DINHEIRO!!!!
Para fazer software, também. Você precisa do gerente de projetos, do arquiteto, do desenvolvedor, do usuário (burocracia) e do bom e velho TEMPO também. Preciso falar que tudo isso se resume a dinheiro?
Sacaram o lance das pessoas no meio de tudo isto?
Somos imperfeitos. Seres em constante mudança. Duais em tudo. Temos sempre uma vida dupla. Somos o profissional e o pessoal ao mesmo tempo, entre outras dualidades que não vem ao caso neste blog. Porque diabos o velho idiota dono da empresa acha que ninguém vai se desmotivar, cansar, adoecer, errar, complicar o que poderia ser simplificado, se enganar, enganar, ter medo, ter coragem de assumir o erro, se acovardar porque precisa do emprego, se encher do emprego e mandar o chefe a merda e ir procurar outro emprego, etc, etc, etc?
Projetos ATRASAM!
Projetos DÃO ERRADO!
Projetos SE COMPLICAM!
Projetos DÃO PREJUÍZO!
Mas com a devida paciência, com o devido tempo, com a devida autonomia dada ao Gerente / Coordenador / Desenvolvedor, o projeto ANDA, ACONTECE, FUNCIONA, TERMINA, DÁ LUCRO, DEMONSTRA QUE FOI UM SACRIFÍCIO QUE VALEU A PENA, etc ...
O dia a dia é a briga diária contra todos os obstáculos que eu apontei aqui. Tem horas em que parece que não estamos gastando nosso tempo e conhecimento para resolver um problema e criar um sistema. Tem hora que estamos combatendo valentemente os problemas do dia a dia. Ao invés das pessoas se unirem para uma causa maior e resolver logo o que deve ser resolvido, tendemos a olhar para nossos umbigos, salvarmos nossos empregos e os outros que se danem. Até quando seremos egoístas a este ponto?
Adoro a série Star Trek. Todas as versões.
Havia um instrumento na nave em que você (usuário) pedia algo (sistema) e esse algo era materializado e você poderia interagir com as ilusões, etc. Era chamado na série de Holodeck. Um super simulador, criador de realidades, transformava energia em matéria temporária onde você poderia confundir o seu cérebro e interagir com entidades irreais num mundo de realidade virtual. Conseguiu entender?
Talvez, no século XXIV (24) tenhamos um instrumento capaz de construir um sistema sem a intervenção de pessoas. Mas até lá, talvez você não precise mais de software como o conhecemos. De qualquer modo, para fazer uma casa você precisa de arquiteto, engenheiro, mestre-de-obras, pedreiro, material e TEMPO (além de aprovações de prefeitura e outras burocracias). Ah, esquecemos do bom e velho DINHEIRO!!!!
Para fazer software, também. Você precisa do gerente de projetos, do arquiteto, do desenvolvedor, do usuário (burocracia) e do bom e velho TEMPO também. Preciso falar que tudo isso se resume a dinheiro?
Sacaram o lance das pessoas no meio de tudo isto?
Somos imperfeitos. Seres em constante mudança. Duais em tudo. Temos sempre uma vida dupla. Somos o profissional e o pessoal ao mesmo tempo, entre outras dualidades que não vem ao caso neste blog. Porque diabos o velho idiota dono da empresa acha que ninguém vai se desmotivar, cansar, adoecer, errar, complicar o que poderia ser simplificado, se enganar, enganar, ter medo, ter coragem de assumir o erro, se acovardar porque precisa do emprego, se encher do emprego e mandar o chefe a merda e ir procurar outro emprego, etc, etc, etc?
Projetos ATRASAM!
Projetos DÃO ERRADO!
Projetos SE COMPLICAM!
Projetos DÃO PREJUÍZO!
Mas com a devida paciência, com o devido tempo, com a devida autonomia dada ao Gerente / Coordenador / Desenvolvedor, o projeto ANDA, ACONTECE, FUNCIONA, TERMINA, DÁ LUCRO, DEMONSTRA QUE FOI UM SACRIFÍCIO QUE VALEU A PENA, etc ...
O dia a dia é a briga diária contra todos os obstáculos que eu apontei aqui. Tem horas em que parece que não estamos gastando nosso tempo e conhecimento para resolver um problema e criar um sistema. Tem hora que estamos combatendo valentemente os problemas do dia a dia. Ao invés das pessoas se unirem para uma causa maior e resolver logo o que deve ser resolvido, tendemos a olhar para nossos umbigos, salvarmos nossos empregos e os outros que se danem. Até quando seremos egoístas a este ponto?
Nenhum comentário:
Postar um comentário