esta questão se parece com Como planejar / gerenciar produtos multiplataforma (móveis) , mas as respostas sugerem o uso de abstrações para garantir um repositório de código comum, o que decidimos não fazer. Temos um site para celular e estamos em processo de construção de seus equivalentes móveis nativos no Android e iOS.
Cada um desses projetos está sendo trabalhado por uma equipe diferente, e como a pilha de desenvolvimento é diferente ( para obter uma sensação mais nativa) é realmente difícil compartilhar código ou elementos de interface do usuário: tudo no front end precisa ser escrito do zero para essa plataforma específica.
Todos esses projetos, no entanto, precisam ter o mesmo conjunto de recursos expostos a seus usuários, e quando a equipe de produto apresenta um novo recurso, esse recurso deve ser disponibilizado em todas as plataformas (a menos, é claro, que haja algumas limitações em uma plataforma específica que o tornem inviável)
O problema que enfrentamos agora é o seguinte: como garantimos a paridade de recursos, se por acidente ou falha de comunicação um recurso está planejado para apenas uma plataforma e as outras equipes não têm ideia de que algo novo surgiu e precisa seja implementado. Mesmo nesses estágios iniciais de desenvolvimento, esse problema surgiu várias vezes, quando alguém pergunta “como é que X não está disponível para Y” e a equipe Y responde “bem, porque ninguém nos disse”.
Nosso primeiro pensamento foi tornar a equipe de produto mais “responsável”, mas é claro que confiar apenas em humanos não levará você tão longe.
Então pensamos que talvez pudéssemos automatizar isso em nosso sistema de tíquetes (jira), em que a equipe de produto poderia abrir um tíquete e criar sub-tíquetes automaticamente para todas as plataformas, para que cada equipe fosse notificada sobre o requisito.
Nosso último pensamento foi que provavelmente não somos a primeira empresa sempre na história da codificação que enfrentou esse problema, e talvez devêssemos pedir sugestões sobre como isso foi abordado por outras equipes / projetos que enfrentam o mesmo problema.
Então, como podemos tornar esse processo mais rigoroso (e de preferência da forma mais automatizada possível) para evitar a situação “ninguém me disse”? Como isso normalmente é tratado? Existem práticas recomendadas?
Comentários
- Parece que você ' está tentando resolver um problema de pessoas com tecnologia.
- Pegue uma caneta, um caderno, faça uma lista TODO com duas caixas de seleção, uma para Android e outra para iOS. Fique de olho e converse com seus rapazes de vez em quando. Problema resolvido. lol
- Você já fez tudo o que podia para resolver o problema: comunique os recursos por meio de seu sistema de tíquetes com tíquetes-filho. Em seguida, certifique-se de que todos saibam que um recurso iniciado em uma área deve ser concluído em todas antes de adicioná-lo ao lançamento.