Em nossa empresa, entregaremos um novo produto que será usado para notificações em massa, por isso é um projeto de software incorporado e usaremos o SCRUM como uma estrutura para o produto.
Começamos a anotar o backlog do produto. Com base no que entendi, o backlog do produto deve refletir um valor comercial para cada item. A natureza do software incorporado é que ele possui muitos detalhes técnicos que consumirão muito tempo para criar drivers para microcontroladores, como SPI, UART, Ethernet, WIFI, etc.
por exemplo, o sistema está tocando ao reproduzir mensagem para notificação, portanto, é bastante óbvio que reproduzir uma mensagem é um valor comercial, mas para atingir esse objetivo, preciso anotar os requisitos que também não são como - para muitos motoristas como o SPI, driver de chip de decodificador de MP3, driver de cartão SD e, finalmente, o FAT, portanto, todos os drivers anteriores têm requisitos que devem ser gravados na lista de pendências do produto, de modo que os requisitos iniciam com um requisito de um valor comercial enquanto ele possui muitas informações técnicas. sub-requisitos.
Isso não reflete um valor comercial para o cliente; alguém pode me dizer como vou criar a lista de pendências do meu produto?
fonte
Respostas:
Onde trabalho, criamos sistemas embarcados e também usamos o scrum para o nosso desenvolvimento. Você está vendo as coisas de uma perspectiva técnica , não de uma perspectiva de recursos .
A primeira coisa que você deve perguntar é "Por que precisamos implementar isso?" Por exemplo: Por que você precisa de SPI? Será usado na EEPROM para que você possa armazenar números de série? Ou talvez conectar um controlador de vídeo para que os usuários possam ver itens em um monitor? Existem muitas boas razões para criar um driver SPI, mas criá-lo apenas para que ele não seja um desses motivos.
Com o Scrum, você deve adotar uma política " Não precisamos disso até precisarmos " , ou seja, você não deve perder tempo com SPI ou wifi ou qualquer outra coisa até que exista uma necessidade comercial que exija que essas tecnologias sejam implementadas. realizar. Então essa necessidade comercial se torna a história.
Tente "Adicionar EEPROM para armazenamento de configuração" em vez de "Criar código SPI"
e "Criar conexão com o servidor para gerenciamento remoto" em vez de "Localizar documentação para WIFI e implementar"
fonte
Não se desligue do dogma do scrum. O Scrum existe para torná-lo mais ágil. Qualquer coisa que atrapalhe isso pode ser ignorada.
É verdade que você não deve fazer um trabalho que não dê valor aos negócios, mas o valor vem de várias formas. Você valoriza ter um driver ethernet? Eu suspeito que sim, porque sem ele você não pode fornecer determinados recursos. "Como desenvolvedor, preciso de um driver Ethernet para poder implementar os recursos que requerem conectividade à Internet".
Portanto, não olhe o valor apenas como recursos visíveis ao usuário. Valor é algo que melhora o seu produto, mesmo que seja invisível para o usuário final.
Alguns dirão que não é uma história válida, e as histórias devem ter apenas recursos visíveis ao usuário. Eu acho que tudo bem também, até o ponto em que isso causa problemas assim. Novamente, o objetivo do scrum é ajudá-lo e melhorar o foco e a comunicação. Não deixe que o que você pensa que deve fazer atrapalhe sua execução. Seja pragmático e honesto. Se você acha que precisa desenvolver uma determinada coisa, responda à pergunta "por que" e "para quem é?". A resposta nem sempre precisa ser a mesma pessoa.
fonte
Um dos principais desafios do uso do Scrum com desenvolvimento incorporado, na minha experiência, é que as melhores equipes do Scrum oferecem fatias de funcionalidade de pilha cheia. Das tripas mais profundas à exposição do usuário. Isso mantém os problemas de integração dentro de uma equipe e dentro de um sprint. E prova o valor comercial, porque o usuário final pode ver e experimentar o resultado.
Mesmo para software puro, pode ser desafiador tornar a história fina o suficiente em cada nível, para que toda a história possa ser construída em um sprint ou dois. Mas, para os incorporados, isso pode ser impossível, porque as tripas mais profundas envolvem hardware que não se adapta tão rapidamente quanto o software, porque está fundamentado no mundo físico.
A solução ideal é aprimorar seus recursos de hardware para que eles possam pedalar mais rápido ... com simuladores, execuções rápidas de execução rápida, modelos e assim por diante. Mas isso pode ser caro. Portanto, um compromisso frequentemente usado, que eu acho que se aplica à sua situação, é relaxar o conceito de valor comercial e incluir recursos mais gerais que seus usuários finais e seu aplicativo exigem.
Por exemplo, se você precisar criar WiFi, é melhor haver um motivo para o usuário final ou por que você está fazendo isso. Encontre isso e coloque-o na definição da história do usuário, como esta para o setor automotivo: "Forneça funções de controle dos ocupantes sem fio, para atender às necessidades dos passageiros e ao mesmo tempo reduzir custos e aumentar a confiabilidade e a manutenção".
fonte
Encontrei este link que, entre outras coisas, fala sobre histórias de usuários em desenvolvimento incorporado (certifique-se de rolar para baixo para acessar a seção Histórias)
fonte