Acabei de assumir um novo emprego em uma faculdade como (o único) desenvolvedor de aplicativos da Web.
A faculdade possui vários sistemas legados díspares, mas todos muito mal codificados. Principalmente construído em PHP, eles lidam com assuntos como presença, resultados de exames, marcação etc.
Meu primeiro trabalho é criar um sistema que incorpore muitos desses dados, que atualmente estão em vários bancos de dados sem qualquer tipo de API amigável para retirá-los (os sistemas existentes são codificados em PHP baunilha, sem separação de dados e exibição) com uma nova plataforma para registrar informações pastorais sobre os alunos e apresentá-las aos tutores e funcionários seniores de uma maneira útil para que eles possam reagir rapidamente aos problemas dos alunos.
Em nossa primeira reunião, havia 18 pessoas! Não havia líder ou voz clara que representasse a maioria. Nenhum cliente identificável . A reunião passou de idéias de implementação detalhadas sobre recursos menores, de chefes de faculdade a discussões sobre se devemos usar planilhas do Excel ou não para entrada de dados!
Como você pode imaginar, minha cabeça estava girando no final. Na verdade, eu tinha muitas boas idéias, mas não consegui ouvi-las. Esse é um papel muito novo para mim, antes de fazer parte de uma equipe de desenvolvimento em uma agência de marketing. Tínhamos papéis muito bem definidos: Gerente de Projeto, Cliente, Designer, Desenvolvedor.
Gostaria de saber se algum desenvolvedor ou gerente experiente pode me dar algumas dicas sobre como eu posso transformar meus colegas em algo que se assemelha a uma equipe de projeto. O ágil é o caminho a seguir? Como você abordaria lidar com todas as vozes díspares? É claro que algum processo precisa ser implementado muito rapidamente, só não tenho certeza do que é isso.
fonte
Respostas:
Eu não esperaria nenhum "processo de desenvolvimento ágil" aqui como uma solução para o seu problema atual. A primeira coisa para você deve ser: limpe sua missão . Que significa:
Isso pode demorar um pouco, você provavelmente não escreverá muito código nesta fase do projeto. Em tal situação, você deve fazer algumas "engenharia de requisitos" primeiro. Mas comece pequeno, pense grande. Depois de desenvolver seu primeiro release, você terá algo para mostrar, discutir os requisitos novamente com as partes interessadas etc.
fonte
Separe os que realmente querem que esse projeto funcione do rebanho.
Devido a muita política, alguém reuniu essa reunião com uma lista de participantes em que a associação era determinada por quem ficaria mais chateado se eu não os convidas. Acontece. Esse objetivo foi atingido, mas, como desenvolvedor, você descobriu que nada foi decidido. Ninguém foi designado para o que fazer. Se você tiver sorte, eles conseguiram agendar a próxima reunião ou, se Deus não permitir, eles marcaram uma reunião recorrente na 3ª terça-feira de cada mês.
Em seguida virá a formação de comitês, subcomitês e forças-tarefa. É melhor, mas você encontrará todos igualmente inúteis.
Finalmente, você descobrirá quem realmente se importa com esse projeto. Quem realmente quer dedicar tempo para fazer o que é certo. Felizmente, essas pessoas terão um supervisor que lhes dará tempo para fazer isso e não apenas o tornará outro item em sua já extensa lista de tarefas. Encontre essas pessoas o mais rápido possível! Ajude-os a gerenciar as expectativas de seus chefes e a obter uma quantidade acordada de compromisso.
Consiga algo na frente de tantas pessoas no grupo original que se incomodarão em voltar. Todos podem ser pessoas inteligentes e / ou educadas, mas não vão ler muitas especificações. Eles vão gostar de algumas coisas, odeiam outros e querem mais. Não faz mal escrever sugestões, mas tente fazer com que a parte acompanhe com um pouco de pele no jogo. Não prometa fazer tudo. Basta abordar o que pode ser feito em um futuro próximo.
Se você acaba tendo que lidar com mais de cinco pessoas regularmente, é porque algum gerente fez com que várias pessoas se envolvessem e que realmente não queriam estar lá.
fonte
Crie uma lista de idéias que você acha que solidificariam / melhorariam os sistemas existentes com base em suas observações e suas "necessidades" e garantam que você se concentre em onde pode obter ganhos visíveis reais. Inclua nessa lista todas as ideias que julgar úteis, bem como qualquer sugestão "razoável" destacada dos não-desenvolvedores.
Crie uma lista de recursos que devem ser incluídos em seus esforços de desenvolvimento. Dê a cada membro o poder de "votar", talvez na forma de "estrelas pegajosas" e descubra o que o todo realmente quer que cada membro coloque estrelas ao lado do que eles acham importante. Algumas pessoas podem acabar com mais estrelas se assinarem o cheque, darem a última palavra, etc. depois traduza em um roteiro
1) Pesquise a equipe - Descubra o que cada membro considera importante / necessário / prioritário
2) Divulgue algo rapidamente - Não tente resolver todos os problemas de uma só vez, obtenha a funcionalidade "mínimo" disponível e peça a aprovação deles e, em seguida, avance coletivamente com base nos comentários dos usuários.
3) Use o feedback deles e o de outros usuários para orientar o processo de desenvolvimento
(Compilar, Avaliar Feedback, Compilar, Avaliar Feedback) Enxágue e repita.
Além disso, considere colocar "pontos de esforço" ou horas estimadas para concluir. Isso também pode ajudar na priorização.
fonte
Seu primeiro desafio é identificar a necessidade desse projeto. Realize outra reunião com todas essas pessoas e peça que anotem os problemas que precisam ser resolvidos. Não deixe que eles falem sobre as várias maneiras pelas quais este projeto será a solução. Force-os a identificar verdadeiramente as necessidades / problemas.
Uma maneira de fazer isso é pedir a cada um individualmente para documentar essas necessidades em notas adesivas - uma idéia por mensagem adesiva. Em seguida, execute um diagrama de afinidade para ajudá-los a agrupar essas idéias diferentes em necessidades específicas. Por fim, faça-os votar ( Voto Múltiplo ) para que você possa ver as maiores necessidades.
O Agile nos lembra de abordar o recurso que tem mais valor para o cliente primeiro. Comece com a maior necessidade e continue dividindo esse item até encontrar o primeiro pedaço pequeno que você pode fazer em um curto período de tempo.
fonte
BEIJO - Faça um itinerário. Obrigado a todos por terem vindo, reveja, faça. O rastreamento lateral ficará mais lento se você abordá-lo, compartilhando sua preocupação e pedindo que permaneçam APÓS a reunião. Tome decisões por votação onde houver controvérsia para se manter mais feliz. A motivação para participar de qualquer sistema está diretamente relacionada à crença dos indivíduos em seus métodos.
fonte