Engenheiro Informático
Soft Skills
Hard Skills
Pensamento Crítico
Vontade de apreender pois a tecnologia muda constantemente
Capacidade de comunicação
Capacidade de trabalhar em equipa
Ser capaz de ouvir
Ser capaz de se adaptar a situações facilmente
Saber boas prácticas de desenvolvimento de software
Ter experiência em várias línguas de programação
Compreensão da arquitectura de um computador
Experiência em desenvolvimento de sistemas
Ser capaz de analisar muita informação
Conhecimento de Hardware
Conhecimento de Software
Habilidade para a resolução de problemas
Ter atenção a situações que contribuem para o escalar da gravidade de um problema diagnosticado (como no caso Medicaid)
Organização da Equipa
Falta de comunicação o que fazia com que estivessem a resolver os mesmos problemas por vezes
Falta de orientação de peritos no sistema Medicaid
O sistema estava desenhado para aceitar apenas ficheiros até 1000 linhas quando existiam ficheiros muito superiores
Programadores tomaram decisões sobre como atingir alguns dos requisitos da Medicaid que estavam erradas
Mudanças no código que criaram problemas de integração
Fez com que o processo de criação do sistema ficasse ainda mais atrasado
Tentativa de resolver todos os bugs que encontravam sem darem relevância aos mais importantes
Contratações
Contratar um fornecedor (CNSI) que não tinha experiência em desenvolver sistemas de pedidos de pagamento Medicaid
Não contratar pessoas suficientes do Department of Human Services(DHS) para o sistema que necessitavam de desenvolver
Não contratar alguém a full time que fosse capaz de esclarecer como os procressos de negócio da Medicaid funcionavam de forma a que a equipa pudesse esclarecer as suas dúvidas
Falta de treino e testes adequados antes da implementação do sistema
Não existiu end-to-end testing
Foi testado com uma pequena quantidade de requisitos de pagamento quando o sistema não se encontrava todo pronto para testes
Não existiu quase orientação aos fornecedores sobre como usar o sistema
O staff que teve que responder às questões dos fornecedores não foi treinado para o fazer
Idea demasiado rebuscada
Decisão de construir uma plataforma nova para o sistema inteiro em vez de integrar um web-based portal com back-end do sistema legacy
Decisão de escrever novamente grandes porções de código que tinham sido escritas e melhoradas ao longo de vários anos
Fazer um end-to-end system (acreditavam que seria mais barato e mais fácil de manter)
Queriam um sistema que fosse construído baseando-se nas regras do sistema Medicaid de forma a que fosse mais fácil reprogramar o sistema se estas regras mudassem
Decidiram criar o seu próprio sistema sem recorrer a service providers com experiência neste tipo de situações
Conhecimento dos standars no desenho e desenvolvimento de software e dos testes
Testes
Unit Testing
Integration Testing
System Testing
Accepting Testing
Standards
ISO/IEC 12207 Systems and software engineering - Software life cycle processes