Planejamos adotar histórias de usuários para capturar a "intenção" das partes interessadas de maneira leve, em vez de uma SRS (especificação de requisitos de software) pesada. No entanto, parece que, embora eles entendam o valor das histórias, ainda há um desejo de 'converter' as histórias em uma linguagem semelhante ao SRS com todos os atributos, prioridades, entradas, saídas, origem, destino etc.
As histórias de usuários 'eliminam' a necessidade de um SRS formal como artefato, para que começar; então, qual é o sentido de ter um SRS? Como convencer minha equipe (que são pessoas de CS muito qualificadas, a propósito - tanto pela educação quanto pela prática) de que o SRS seria 'eliminado' se adotássemos histórias de usuários para capturar os requisitos funcionais do sistema? (NFRs etc também podem ser capturados, mas essa não é a intenção da pergunta).
Então, aqui está o meu argumento de 'fluxo de trabalho': capture os requisitos iniciais como histórias de usuários e depois os elabore para casos de uso (que precisam ser documentados em um nível baixo, isto é, descrevendo interações com os protótipos / modelos de interface do usuário e são uma publicação que pode ser entregue) desdobramento, desenvolvimento). Assim, passando de histórias de usuário para casos de uso, em vez de histórias de usuário, para SRS e casos de uso.
Como vocês estão atualmente capturando histórias de usuários no seu local de trabalho (se houver) e como sugerem que eu "defenda" a ausência de SRS na presença de histórias de usuários?
fonte
Respostas:
Passos de bebê. Continue escrevendo o SRS por um tempo. Depois, convoque uma reunião e discuta se eles ainda servem a um propósito. Alguém ainda os lê? O tempo gasto com eles é justificado? Existe outro passo intermediário que seria mais leve?
Você nunca sabe, pode achar que está errado. Lembre-se do manifesto Agile, encontramos mais valor em "Trabalhando software em documentação abrangente", mas ainda há valor no último.
Meu palpite, porém, é que você descobrirá rapidamente que o desejo de continuar a escrever documentos pesados diminui quando eles vêem a proximidade entre os casos de uso e as histórias de usuários.
fonte
Épicos são espaços reservados
Em praticamente qualquer metodologia Agile, o conceito de Epics seria o necessário para uma Especificação de Requisitos; os marcadores de posição são o que você precisa nesse nível. Essas entradas serão priorizadas constantemente, mais detalhes serão desperdiçados se o requisito obtiver baixa prioridade por um longo tempo ou nunca for implementado. Documentá-lo e gerenciar a documentação ao seu redor seria uma completa perda de tempo. O YAGNI se estende às atividades de requisitos e às atividades de codificação.
As ferramentas são suas amigas!
Se você usar uma ferramenta adequada para coletar e gerenciar as histórias de usuário, poderá gerar a Especificação de Requisitos a partir delas. De qualquer forma, uma especificação de requisitos é um documento de artefato temporal , não é um documento vivo, é uma captura instantânea de requisitos no tempo. E nunca está em sincronia com a realidade.
Gerar artefatos automaticamente
Histórias de usuários que podem ser exportadas de uma ferramenta adequada são muito mais valiosas do que qualquer documento de artefato estático a qualquer momento. Pessoalmente, prefiro o Pivotal Tracker para rastrear as User Stories, até escrevi um conjunto de plugins MoinMoin no Python para publicar todas as várias Stories e seus estados no Wiki (que continham notas detalhadas do desenvolvedor e coisas do gênero), os dados ao vivo são sempre melhor que dados estáticos.
O Wiki tornou-se um documento ativo de todas as lojas / requisitos e seu estado de conclusão e prioridade com detalhes e comentários e outros metadados.
Muito melhor do que um enorme documento do Word no Sharepoint, que é enviado por e-mail constantemente e nunca é atualizado, garantindo que todos tenham uma versão diferente e estejam fora de sincronia com todos os outros!
Histórias de usuários são mais ricas que casos de uso
A História de Uso é muito mais valiosa que um Caso de Uso, porque eles dizem POR QUE .
O formato da história do usuário:
As a [ROLE] I [ACTIVITY] so that [WHY]
é muito mais expressivo do que os casos de uso que sãoThe System [shall/shall not/may/must] perform [action]
(onde ação é um fluxograma).Com um usuário Story, você tem OMS quer fazer alguma coisa, você tem QUE eles querem fazer (o que pode apontar para um diagrama / documento mais detalhado para tarefas complexas) e você tem a parte mais importante PORQUE eles querem fazer esta atividade.
Se você tiver o primeiro, o segundo será completamente redundante e, na melhor das hipóteses, apenas ruído. Uma especificação formal tradicional de requisitos de uma metodologia Waterfall não tem lugar em um ambiente Agile.
No final
Se sua gerência não estiver comprometida com a mudança, você não terá sucesso com uma nova metodologia. Eu trabalhei para uma empresa de mais de 100 bilhões de dólares por ano, eles não deram pequenos passos ao mudar para o Agile / SCRUM, eles apenas disseram: toda a empresa está mudando para isso, aqui está a nova maneira de fazer as coisas, aqui está quando seu treinamento no novo caminho começar, aqui estão as novas ferramentas que vamos usar, aqui é a data em que começaremos a fazer as coisas dessa maneira. Funcionou para eles em menos de um ano. Eu trabalhei na implementação disso em empresas menores com o mesmo sucesso.
Comprometimento
implementações de etapas de bebê , independentemente da mudança, é uma receita para o fracasso. É uma palavra de código para a gerência que eles não concordam silenciosamente e estão passivamente agressivamente configurando você para a falha. Eles estão dizendo que eu não acredito nisso o suficiente para se comprometer com isso, então eu deixarei você fazer o suficiente para falhar / não ter sucesso , para que eles possam dizer que tentaram e que não funcionou e como estavam gerenciando o trabalho muito bem o tempo todo. O compromisso parcial acaba levando ao fracasso.
No seu caso, eles provavelmente não acreditam nas Histórias de Usuário e, depois de um tempo fazendo as duas coisas, começarão a afirmar que são as Histórias de Usuário que são inúteis e não a SRS, e se esforçarão para parar de escrever as Histórias de Usuário. , o que apenas o levará para trás e não para frente.
fonte
Eu tentaria usar o humor.
Comece com o http://www.halfarsedagilemanifesto.org/
Fale sobre isso por um tempo ( desvio )
e fale sobre o que realmente significam os conflitos ( discussão aberta );
depois de um tempo, vá para a sua organização ( pivô )
e examine o SRS e se faz sentido com a nova configuração do projeto. .
Em seguida, concluo (ou talvez em outra reunião) uma discussão sobre a mudança na abordagem re: SRS e ver se você tem mais consenso.
No final do dia, você também é limitado pelo orçamento e atende às pessoas de negócios; portanto, pode haver um momento em que você é um pouco mais firme no que é usado, mas isso realmente depende do setor, tamanho da empresa, fatores organizacionais e muitos outros fatores. outros fatores.
fonte
Convencer o mgmt a se afastar do SRS e começar a usar as histórias do usuário é essencialmente o mesmo que convencer o mgmt a adotar o Agile. Existem estatísticas convincentes sobre os benefícios de produtividade do Agile. Um exemplo é a apresentação que VersionOne fez em uma conferência de 2013. Mostre a esses dados do setor e se eles são do tipo de escuta, você tem uma chance.
fonte