Opa!
galera, vocês poderiam me ajudar a criar um Product Backlog para a construção de
uma loja virtual, ele é somente para exemplo e deve ser bem simples.
Espero que consigam me ajudar!
Abraços
Paulo
Pessoal, escrevi dois artigos refletindo um pouco sobre dificuldades e sugestões para a utilização do Scrum em uma agência digital, focada em websites.
O que me levou a escrever sobre isso foi a dificuldade de vislumbrar como trabalhar com processos essencialmente criativos (designs, layouts, etc) usando a abordagem do Scrum, que normalmente está orientado a softwares.
Encontrei muito pouca coisa sobre o assunto na internet, então decidi escrever minhas próprias reflexões :)
A Técnica Pomodoro, que é usada para melhorar produtividade pessoal, têm gerado realmente bastante barulho em nossas comunidades (principalmente as de Agilistas).
Aproveitando o “embalo” resolvi compartilhar uma breve explicação que tenho feito durante meus trabalhos de coaching. Essa explicação acontece por meio da combinação da técnica de Mapas Mentais com a técnica dos 6 Chapéus do Pensamento.
Publiquei uma lista com diversos podcasts em português e inglês para desenvolvedores.
Tem também os melhores episódios de cada um dos podcasts, em eles entrevistas com Kent Beck, Tim O'Really, Criador do Linux, Criador do PHP, Criador do PHP, DHH do Rails, etc..
Estou escrevendo minha monografia e gostaria de saber se alguem de voces possui uma pesquisa recente com dados estatisticos sobre o scrum...vale assuntos como projetos desenvolvidos,empresas no Brasil e fora que adotaram o metodo etc....estou precisando de varios materias para referencias..
Achei que conseguiram entender o que quiz perguntar e como tratar com isso.
Porém foram citadas algumas coisas que concordo (listadas abaixo), porém gostaria de saber se vocês tem algum documento, livro, alguma fonte que seja "confiável" para que eu possa ter base nisso.
As equipes de projetos agéis são multidisciplinares, com isso não tem um, ou uma equipe, de "arquitetos". Tem algum documento "confiavel" que confirme isso?
Pelo que li até hoje, em nenhum momento do sprint se tem um tempo "reservado" para desenvolver e incrementar o documento de arquitetura. Diferente do RUP que também sendo ágil ele tem a fase de iniciação e elaboração onde o documento é feito e mantido em todos os ciclos.
Se puderem me ajudar com esses documentos confiáveis, eu agradeceria muita
Realmente! Parecia que ia dar uma guinada para um lado e se ajustou no meio! Hehehe! O que vejo é que estamos falando do mesmo conteúdo, só que de forma diferente ... Se vocês colocam todas essas informações no Wiki, show!
Agora se vocês possuem perfis distintos de consumidores para toda essa documentação (como usuários e outras partes interessadas), cabe separar o que é técnico de não técnico. Documentação JIT focada no cliente em todos os níveis de abstração!
Quanto a dificuldade e, separar o que são "aspectos
comportamentais do sistema" e "documentação estrutural", como você mesmo disse no email anterior, se vcs ainda não identificaram um débito técnico quanto a utilização/gerenciamento do sistema documental, sigam em frente, Acredito que a reengenharia da estrutura organizacional dos documentos seja mais simples de ser feita que a reengenharia do código fonte ... ;-)
Para concluir da minha parte, cada caso é um caso e acho que não temos como dar uma receita de bolo que funcione em todas as situações. Prefiro avaliar a situação do ambiente e suas necessidades específicas antes de decidir os 5W2H do sistema documental do projeto de software.
quando eu citei o uso de estórias para testes estava pensando em alguns
projetos que tive por aqui, onde times tinham estórias específicas para
testes, desta forma o PO podia priorizar os testes de forma separada da
implementação. Fique tranquilo que seu email não deu a entender que
isso seja recomendável, pelo contrário.
Concordo contigo também quanto a ter uma ou mais estórias específicas
se o cliente deseja um documento mais "Formal" e Deliverable, principalmente onde o público não são os desenvolvedores do produto.
Pra mim é difícil separar o que são "aspectos
comportamentais do sistema" e "documentação estrutural". Devido à forma como a arquitetura de um sistema evolui nos projetos ágeis que participo, a documentação de arquitetura é feita de forma iterativa, um pouco a cada sprint, e portanto ela naturalmente contém tanto os aspectos comportamentais e estruturais da arquitetura. A Wiki acaba sendo um registro de tanto Como o Sistema funciona, como prescrições de como algo deve ser implementado e também um histórico do porque algumas decisões foram tomadas.
Se alguém argumentar que o que proponho não é oficialmente um "Documento de arquitetura" mas um "Dump de conhecimento numa wiki" eu não vou contestar.
Pelo que entendi, tua visão sobre a documentação da arquitetura está mais para os registros de decisão tomados pela equipe (de preferência num sistema Wiki) do que em especificações prescritivas do que deve ser feito com a mesma. Se for isso, estou de acordo, pois as "prescrições" de arquitetura costumam ser documentadas na forma de requisitos não-funcionais, que não mais são do que restrições a como algo será feito (sempre na forma de diretrizes e nunca em modelos prontos de design). Nestes termos, fazemos o que na Eng.Civil é chamado de "AS BUILT". Ou seja, um relato de como ficou a obra após conclusão de uma determinada fase do projeto, com as respectivas decisões tomadas e suas justificativas. Ainda sobre este ponto, mil vezes documentar as decisões de arquitetura numa documentação estruturada de um Wiki do que deixar registros soltos em atas de reuniões pelos diretórios da rede.
Testes unitários servem como boa documentação sobre o comportamento de classes e métodos.
Testes funcionais servem como boa documentação para os requisitos funcionais.
Engenharia reversa pode te ajudar a gerar diagramas UML com a hierarquia de classes e o relacionamento entre elas. O Javadoc, ou outro gerador de documentação, é bastante útil pra documentação da API. Tudo isso é documento, mas eu pessoalmente não os considero como um documento de Arquitetura de Software.
Os diagramas estruturais da UML realmente compõem parte do que seria a documentação da arquitetura de um sistema. Caso contrário, eles se tornarão órfãos pois também não fazem parte da especificação de requisitos de software.
Quanto aos demais citados acima, estou de acordo.
Um documento de arquitetura tem como finalidade documentar coisas não
tão visíveis na arquitetura e até mesmo, dependendo do contexto,
justificar as decisões técnicas que foram tomadas.
Desculpe, não entendi. Se essas coisas não são tão visíveis na arquitetura, a quem elas pertencem?
Um documento de Arquitetura de Software tem como público alvo os
próprios desenvolvedores do sistema e o que queremos é que ao final da
leitura ele entenda como o Arquitetura funcione como um todo, quais as
funcionalidades atuais, como foram implementadas, e por que foram
selecionadas.
Não somente eles, mas todas as partes interessadas envolvidas na integração de sistemas, ambiente de produção e suporte. Quanto as funcionalidades atuais, isso não seria uma especificação de requisitos funcionais? Você está levando aspectos comportamentais do sistema para dentro de uma documentação estrutural?
Os
melhores documentos de arquitetura de software que já tive contato
(como autor e consumidor) são aqueles que tem uma visão prática da
solução a ser implementada, explicando em poucas linhas e imagens como
cada um desses módulos de arquitetura funcionam.
Neste caso, o "como funcionam" é referente a aspectos estruturais ou comportamentais? Autenticar num sistema LDAP pode ser visto como uma feature do sistema ou uma restrição de execução.
Se o LDAP cair é possível autenticar num segundo sistema?
Você está se referindo a aspectos comportamentais num tema que trata de assuntos estruturais (arquitetura).
Eu não recomendo criar uma história separada para a documentacão destes
artefatos, da mesma forma que não recomendo uma história separada para
testes unitários. Ambos fazem parte do desenvolvimento.
Se o cliente te pede documentação como entregável, é conveniente explicitar os itens ao invés de deixá-los ocultos e subentendidos durante a evolução do projeto. Além do mais, se essa documentação realmente agrega valor para o cliente, ele estará disposto a pagar por sua elaboração de forma explícita, e não implícita. Quanto a histórias para testes unitários, espero que você não tenha entendido isso no meu email. Na realidade, não conheço nenhuma história relacionada a testes unitários.
Estou escrevendo minha monografia e gostaria de saber se alguem de voces possui uma pesquisa recente com dados estatisticos sobre o scrum...vale assuntos como projetos desenvolvidos,empresas no Brasil e fora que adotaram o metodo etc....estou precisando de varios materias para referencias..
Realmente! Parecia que ia dar uma guinada para um lado e se ajustou no meio! Hehehe! O que vejo é que estamos falando do mesmo conteúdo, só que de forma diferente ... Se vocês colocam todas essas informações no Wiki, show!
Agora se vocês possuem perfis distintos de consumidores para toda essa documentação (como usuários e outras partes interessadas), cabe separar o que é técnico de não técnico. Documentação JIT focada no cliente em todos os níveis de abstração!
Quanto a dificuldade e, separar o que são "aspectos
comportamentais do sistema" e "documentação estrutural", como você mesmo disse no email anterior, se vcs ainda não identificaram um débito técnico quanto a utilização/gerenciamento do sistema documental, sigam em frente, Acredito que a reengenharia da estrutura organizacional dos documentos seja mais simples de ser feita que a reengenharia do código fonte ... ;-)
Para concluir da minha parte, cada caso é um caso e acho que não temos como dar uma receita de bolo que funcione em todas as situações. Prefiro avaliar a situação do ambiente e suas necessidades específicas antes de decidir os 5W2H do sistema documental do projeto de software.
quando eu citei o uso de estórias para testes estava pensando em alguns
projetos que tive por aqui, onde times tinham estórias específicas para
testes, desta forma o PO podia priorizar os testes de forma separada da
implementação. Fique tranquilo que seu email não deu a entender que
isso seja recomendável, pelo contrário.
Concordo contigo também quanto a ter uma ou mais estórias específicas
se o cliente deseja um documento mais "Formal" e Deliverable, principalmente onde o público não são os desenvolvedores do produto.
Pra mim é difícil separar o que são "aspectos
comportamentais do sistema" e "documentação estrutural". Devido à forma como a arquitetura de um sistema evolui nos projetos ágeis que participo, a documentação de arquitetura é feita de forma iterativa, um pouco a cada sprint, e portanto ela naturalmente contém tanto os aspectos comportamentais e estruturais da arquitetura. A Wiki acaba sendo um registro de tanto Como o Sistema funciona, como prescrições de como algo deve ser implementado e também um histórico do porque algumas decisões foram tomadas.
Se alguém argumentar que o que proponho não é oficialmente um "Documento de arquitetura" mas um "Dump de conhecimento numa wiki" eu não vou contestar.
Pelo que entendi, tua visão sobre a documentação da arquitetura está mais para os registros de decisão tomados pela equipe (de preferência num sistema Wiki) do que em especificações prescritivas do que deve ser feito com a mesma. Se for isso, estou de acordo, pois as "prescrições" de arquitetura costumam ser documentadas na forma de requisitos não-funcionais, que não mais são do que restrições a como algo será feito (sempre na forma de diretrizes e nunca em modelos prontos de design). Nestes termos, fazemos o que na Eng.Civil é chamado de "AS BUILT". Ou seja, um relato de como ficou a obra após conclusão de uma determinada fase do projeto, com as respectivas decisões tomadas e suas justificativas. Ainda sobre este ponto, mil vezes documentar as decisões de arquitetura numa documentação estruturada de um Wiki do que deixar registros soltos em atas de reuniões pelos diretórios da rede.
Testes unitários servem como boa documentação sobre o comportamento de classes e métodos.
Testes funcionais servem como boa documentação para os requisitos funcionais.
Engenharia reversa pode te ajudar a gerar diagramas UML com a hierarquia de classes e o relacionamento entre elas. O Javadoc, ou outro gerador de documentação, é bastante útil pra documentação da API. Tudo isso é documento, mas eu pessoalmente não os considero como um documento de Arquitetura de Software.
Os diagramas estruturais da UML realmente compõem parte do que seria a documentação da arquitetura de um sistema. Caso contrário, eles se tornarão órfãos pois também não fazem parte da especificação de requisitos de software.
Quanto aos demais citados acima, estou de acordo.
Um documento de arquitetura tem como finalidade documentar coisas não
tão visíveis na arquitetura e até mesmo, dependendo do contexto,
justificar as decisões técnicas que foram tomadas.
Desculpe, não entendi. Se essas coisas não são tão visíveis na arquitetura, a quem elas pertencem?
Um documento de Arquitetura de Software tem como público alvo os
próprios desenvolvedores do sistema e o que queremos é que ao final da
leitura ele entenda como o Arquitetura funcione como um todo, quais as
funcionalidades atuais, como foram implementadas, e por que foram
selecionadas.
Não somente eles, mas todas as partes interessadas envolvidas na integração de sistemas, ambiente de produção e suporte. Quanto as funcionalidades atuais, isso não seria uma especificação de requisitos funcionais? Você está levando aspectos comportamentais do sistema para dentro de uma documentação estrutural?
Os
melhores documentos de arquitetura de software que já tive contato
(como autor e consumidor) são aqueles que tem uma visão prática da
solução a ser implementada, explicando em poucas linhas e imagens como
cada um desses módulos de arquitetura funcionam.
Neste caso, o "como funcionam" é referente a aspectos estruturais ou comportamentais? Autenticar num sistema LDAP pode ser visto como uma feature do sistema ou uma restrição de execução.
Se o LDAP cair é possível autenticar num segundo sistema?
Você está se referindo a aspectos comportamentais num tema que trata de assuntos estruturais (arquitetura).
Eu não recomendo criar uma história separada para a documentacão destes
artefatos, da mesma forma que não recomendo uma história separada para
testes unitários. Ambos fazem parte do desenvolvimento.
Se o cliente te pede documentação como entregável, é conveniente explicitar os itens ao invés de deixá-los ocultos e subentendidos durante a evolução do projeto. Além do mais, se essa documentação realmente agrega valor para o cliente, ele estará disposto a pagar por sua elaboração de forma explícita, e não implícita. Quanto a histórias para testes unitários, espero que você não tenha entendido isso no meu email. Na realidade, não conheço nenhuma história relacionada a testes unitários.
quando eu citei o uso de estórias para testes estava pensando em alguns
projetos que tive por aqui, onde times tinham estórias específicas para
testes, desta forma o PO podia priorizar os testes de forma separada da
implementação. Fique tranquilo que seu email não deu a entender que
isso seja recomendável, pelo contrário.
Concordo contigo também quanto a ter uma ou mais estórias específicas
se o cliente deseja um documento mais "Formal" e Deliverable, principalmente onde o público não são os desenvolvedores do produto.
Pra mim é difícil separar o que são "aspectos
comportamentais do sistema" e "documentação estrutural". Devido à forma como a arquitetura de um sistema evolui nos projetos ágeis que participo, a documentação de arquitetura é feita de forma iterativa, um pouco a cada sprint, e portanto ela naturalmente contém tanto os aspectos comportamentais e estruturais da arquitetura. A Wiki acaba sendo um registro de tanto Como o Sistema funciona, como prescrições de como algo deve ser implementado e também um histórico do porque algumas decisões foram tomadas.
Se alguém argumentar que o que proponho não é oficialmente um "Documento de arquitetura" mas um "Dump de conhecimento numa wiki" eu não vou contestar.
Pelo que entendi, tua visão sobre a documentação da arquitetura está mais para os registros de decisão tomados pela equipe (de preferência num sistema Wiki) do que em especificações prescritivas do que deve ser feito com a mesma. Se for isso, estou de acordo, pois as "prescrições" de arquitetura costumam ser documentadas na forma de requisitos não-funcionais, que não mais são do que restrições a como algo será feito (sempre na forma de diretrizes e nunca em modelos prontos de design). Nestes termos, fazemos o que na Eng.Civil é chamado de "AS BUILT". Ou seja, um relato de como ficou a obra após conclusão de uma determinada fase do projeto, com as respectivas decisões tomadas e suas justificativas. Ainda sobre este ponto, mil vezes documentar as decisões de arquitetura numa documentação estruturada de um Wiki do que deixar registros soltos em atas de reuniões pelos diretórios da rede.
Testes unitários servem como boa documentação sobre o comportamento de classes e métodos.
Testes funcionais servem como boa documentação para os requisitos funcionais.
Engenharia reversa pode te ajudar a gerar diagramas UML com a hierarquia de classes e o relacionamento entre elas. O Javadoc, ou outro gerador de documentação, é bastante útil pra documentação da API. Tudo isso é documento, mas eu pessoalmente não os considero como um documento de Arquitetura de Software.
Os diagramas estruturais da UML realmente compõem parte do que seria a documentação da arquitetura de um sistema. Caso contrário, eles se tornarão órfãos pois também não fazem parte da especificação de requisitos de software.
Quanto aos demais citados acima, estou de acordo.
Um documento de arquitetura tem como finalidade documentar coisas não
tão visíveis na arquitetura e até mesmo, dependendo do contexto,
justificar as decisões técnicas que foram tomadas.
Desculpe, não entendi. Se essas coisas não são tão visíveis na arquitetura, a quem elas pertencem?
Um documento de Arquitetura de Software tem como público alvo os
próprios desenvolvedores do sistema e o que queremos é que ao final da
leitura ele entenda como o Arquitetura funcione como um todo, quais as
funcionalidades atuais, como foram implementadas, e por que foram
selecionadas.
Não somente eles, mas todas as partes interessadas envolvidas na integração de sistemas, ambiente de produção e suporte. Quanto as funcionalidades atuais, isso não seria uma especificação de requisitos funcionais? Você está levando aspectos comportamentais do sistema para dentro de uma documentação estrutural?
Os
melhores documentos de arquitetura de software que já tive contato
(como autor e consumidor) são aqueles que tem uma visão prática da
solução a ser implementada, explicando em poucas linhas e imagens como
cada um desses módulos de arquitetura funcionam.
Neste caso, o "como funcionam" é referente a aspectos estruturais ou comportamentais? Autenticar num sistema LDAP pode ser visto como uma feature do sistema ou uma restrição de execução.
Se o LDAP cair é possível autenticar num segundo sistema?
Você está se referindo a aspectos comportamentais num tema que trata de assuntos estruturais (arquitetura).
Eu não recomendo criar uma história separada para a documentacão destes
artefatos, da mesma forma que não recomendo uma história separada para
testes unitários. Ambos fazem parte do desenvolvimento.
Se o cliente te pede documentação como entregável, é conveniente explicitar os itens ao invés de deixá-los ocultos e subentendidos durante a evolução do projeto. Além do mais, se essa documentação realmente agrega valor para o cliente, ele estará disposto a pagar por sua elaboração de forma explícita, e não implícita. Quanto a histórias para testes unitários, espero que você não tenha entendido isso no meu email. Na realidade, não conheço nenhuma história relacionada a testes unitários.
Pelo que entendi, tua visão sobre a documentação da arquitetura está mais para os registros de decisão tomados pela equipe (de preferência num sistema Wiki) do que em especificações prescritivas do que deve ser feito com a mesma. Se for isso, estou de acordo, pois as "prescrições" de arquitetura costumam ser documentadas na forma de requisitos não-funcionais, que não mais são do que restrições a como algo será feito (sempre na forma de diretrizes e nunca em modelos prontos de design). Nestes termos, fazemos o que na Eng.Civil é chamado de "AS BUILT". Ou seja, um relato de como ficou a obra após conclusão de uma determinada fase do projeto, com as respectivas decisões tomadas e suas justificativas. Ainda sobre este ponto, mil vezes documentar as decisões de arquitetura numa documentação estruturada de um Wiki do que deixar registros soltos em atas de reuniões pelos diretórios da rede.
Testes unitários servem como boa documentação sobre o comportamento de classes e métodos.
Testes funcionais servem como boa documentação para os requisitos funcionais.
Engenharia reversa pode te ajudar a gerar diagramas UML com a hierarquia de classes e o relacionamento entre elas. O Javadoc, ou outro gerador de documentação, é bastante útil pra documentação da API. Tudo isso é documento, mas eu pessoalmente não os considero como um documento de Arquitetura de Software.
Os diagramas estruturais da UML realmente compõem parte do que seria a documentação da arquitetura de um sistema. Caso contrário, eles se tornarão órfãos pois também não fazem parte da especificação de requisitos de software.
Quanto aos demais citados acima, estou de acordo.
Um documento de arquitetura tem como finalidade documentar coisas não
tão visíveis na arquitetura e até mesmo, dependendo do contexto,
justificar as decisões técnicas que foram tomadas.
Desculpe, não entendi. Se essas coisas não são tão visíveis na arquitetura, a quem elas pertencem?
Um documento de Arquitetura de Software tem como público alvo os
próprios desenvolvedores do sistema e o que queremos é que ao final da
leitura ele entenda como o Arquitetura funcione como um todo, quais as
funcionalidades atuais, como foram implementadas, e por que foram
selecionadas.
Não somente eles, mas todas as partes interessadas envolvidas na integração de sistemas, ambiente de produção e suporte. Quanto as funcionalidades atuais, isso não seria uma especificação de requisitos funcionais? Você está levando aspectos comportamentais do sistema para dentro de uma documentação estrutural?
Os
melhores documentos de arquitetura de software que já tive contato
(como autor e consumidor) são aqueles que tem uma visão prática da
solução a ser implementada, explicando em poucas linhas e imagens como
cada um desses módulos de arquitetura funcionam.
Neste caso, o "como funcionam" é referente a aspectos estruturais ou comportamentais? Autenticar num sistema LDAP pode ser visto como uma feature do sistema ou uma restrição de execução.
Se o LDAP cair é possível autenticar num segundo sistema?
Você está se referindo a aspectos comportamentais num tema que trata de assuntos estruturais (arquitetura).
Eu não recomendo criar uma história separada para a documentacão destes
artefatos, da mesma forma que não recomendo uma história separada para
testes unitários. Ambos fazem parte do desenvolvimento.
Se o cliente te pede documentação como entregável, é conveniente explicitar os itens ao invés de deixá-los ocultos e subentendidos durante a evolução do projeto. Além do mais, se essa documentação realmente agrega valor para o cliente, ele estará disposto a pagar por sua elaboração de forma explícita, e não implícita. Quanto a histórias para testes unitários, espero que você não tenha entendido isso no meu email. Na realidade, não conheço nenhuma história relacionada a testes unitários.
Eu tenho convicção de que alguns documentos são importantíssimos em qualquer projeto de desenvolvimento de software, e o documento de arquitetura de software é um deles, e vou focar apenas nesse documento nessa minha resposta (que por sinal está super extensa).
Antes de escrever a primeira linha de um documento, responda a estas perguntas: 1) Quem é o público alvo que vai ler esse documento? Qual o nível de entendimento do público? 2) Que tipo de ação queremos aplicar ao público ao final da leitura e compreensão de tal documento? Queremos que ele entenda como algo funcione? Queremos que ele aceite o que foi proposto? Que ele saiba como configurar ou programar algo?
Testes unitários servem como boa documentação sobre o comportamento de classes e métodos.
Testes funcionais servem como boa documentação para os requisitos funcionais.
Engenharia reversa pode te ajudar a gerar diagramas UML com a hierarquia de classes e o relacionamento entre elas. O Javadoc, ou outro gerador de documentação, é bastante útil pra documentação da API. Tudo isso é documento, mas eu pessoalmente não os considero como um documento de Arquitetura de Software.
É muito difícil por exemplo, ter uma idéia de como segurança, transações, auditoria e
logging devem funcionar em um sistema através destes
artefatos citados acima, principalmente quando se usa técnicas como AOP (um monte de mágica acontecendo por baixo dos panos).
Um documento de arquitetura tem como finalidade documentar coisas não tão visíveis na arquitetura e até mesmo, dependendo do contexto, justificar as decisões técnicas que foram tomadas.
Um documento de Arquitetura de Software tem como público alvo os próprios desenvolvedores do sistema e o que queremos é que ao final da leitura ele entenda como o Arquitetura funcione como um todo, quais as funcionalidades atuais, como foram implementadas, e por que foram selecionadas.
Os melhores documentos de arquitetura de software que já tive contato (como autor e consumidor) são aqueles que tem uma visão prática da solução a ser implementada, explicando em poucas linhas e imagens como cada um desses módulos de arquitetura funcionam. No caso de segurança, por exemplo, é importante documentar:
- Como é feita a autenticação: Query em Banco de Dados, LDAP, Kerberos - Como é feita a autorização: Roles em LDAP, Groups são suportados, Tag Libraries para a View - O que não é suportado? Single Sign On?
No caso de Logging. - Quando se deve usar WARNING, ERROR, DEBUG, INFO? - Devo logar toda exceção ou apenas faço um Bubble Up e alguma camada da aplicação faz o logging depois? - O logging vai para arquivo, banco de dados? Porque ?
Outros aspectos a serem abordados:
Quais são os riscos arquiteturais? Se o LDAP cair é possível autenticar num segundo sistema?
Outra tema que pode ser importante é explicar porque tais decisões foram tomadas. Quais as justificativas em usar Spring Security? Se possível adicione uma tabela com Pros e Cons de cada solução adotada, desta forma fica fácil justificar e rever no futuro porque algumas decisões arquiteturais foram tomadas.
Pra mim o melhor formato para tal documento é numa Wiki onde cada um dos membros da equipe tem acesso com poder de escrita, onde pode-se consultar, adicionar comentários e evoluir a arquitetura junto com o produto de forma colaborativa. Num time ágil não há "O Arquiteto do sistema". O time é resonsável pela arquitetura e pela documentação.
Nos meus projetos ágeis a criação do documento de arquitetura é evolutivo. Uma boa parte acontece nos Spikes de Arquitetura. Ao longo da execução de outras histórias, se novos componentes arquiteturais são identificados, eles são então adicionados à Wiki. A estimativa da história já inclui a documentação do que é importante. Eu não recomendo criar uma história separada para a documentacão destes artefatos, da mesma forma que não recomendo uma história separada para testes unitários. Ambos fazem parte do desenvolvimento.
Tenha muito cuidado para não cair na armadilha de adicionar seções que não fazem parte da arquitetura ou tentar inchar o documento. O que é documentado tem que ter uma razão por existir e agregar valor de verdade. Se o seu projeto ainda não tem definido quais são as margens de performance, então não adicione.
O documento de arquitetura tem que ser leve, fácil de ler e conter apenas seções que agreguem valor. Não pode ser burocrático.
Já vi muito documento de arquitetura de 100 páginas que se você expremer não sai 2 páginas de informação útil.
Neste caso o documento deveria ter apenas 2 páginas.
Vale lembrar que um documento com informação errada é muitas vezes mais prejudicial que a omissão de tal informação. Assim como software, documentos também são sucetíveis ao Technical Debt. Qualquer parágrafo que você adicionar ao documento, deve ser mantido atualizado.
Espero ter contribuído. Handerson Gomes
PS: Ironia: Um email gigante a principal mensagem é "Escreva Menos". :)
Vejo que você está colocando requisitos não-funcionais e arquitetura de sistema no mesmo tópico ...
Quanto aos requisitos não-funcionais, nada impede que você tenha uma especificação formal (depende do nível de formalismo exigido pelo ambiente e da comunicação escrita demandada pelo equipe) em nível de produto, release, iteração, feature ou User Story. Só que um post-it no quadro pode ser útil o suficiente para atingir os resultados desejados. No caso das User Stories, costumamos utilizar as anotações e os critérios de aceitação para registrar essas informações.
Quanto a documentação da arquitetura, deve ficar claro que ela não faz parte da especificação de requisitos de software. Quem costuma ir além da exposição de restrições técnicas de projeto para apresentar modelos de arquitetura na especificação de seus requisitos está indo contra os princípios básicos pregados em qualquer literatura do gênero. Como trabalhamos com o conceito de arquitetura evolutiva (resultante de práticas como BDD e TDD), a documentação também teria que evoluir continuamente, o que pode se tornar um risco para mantê-la atualizada. Neste caso, vejo dois momentos em que a documentação da arquitetura pode ser importante num projeto de software:
O cliente solicitou a mesma e está disposto a pagar por sua elaboração; neste caso, escreva uma História e entregue o item de valor na iteração acordada;
A equipe precisa de uma visão macro do sistema a fim de melhor se comunicar durante a análise e tomada de decisão sobre um problema; neste caso, utilize os recursos mais simples, rápidos e baratos que você tiver à sua disposição (de uma folha em branco até uma ferramenta de engenharia reversa), pois após cumprida a missão do documento, ele perde sua utilidade no projeto.
Se você não conseguir obter uma visão da arquitetura de seu sistema mediante a utilização de engenharia reversa, você provavelmente está diante do que chamamos de "débito técnico". Solução: troque de tecnologia, ferramentas, etc.
Olá
estou iniciando no grupo e não sei bem se responderão a minha pergunta.
Gostaria de saber como vocês lidam com a Arquitetura do Software, como tratam
testes de performance, qualidade, ISO 9126...
Vocês fazem documento de arquitetura de software?
Gostaria de saber as opiniões pessoais e se sabem algum lugar que fale desse
tipo de coisa.
Obrigado
Segue o primeiro artigo (será uma série!) que escrevi em meu blog sobre esse assunto cada vez mais fundamental. As estatísticas mostram como o assunto é negligenciado e que os benefícios tangíveis de aplicarmos a gestão ágil de portfólio de projetos nas organizações é tremendo.
São nossos cases trabalhando com o governo. Fora eles, também existem cases no BACEN e no SERPRO (que eu saiba).
Temos um projeto rodando até hoje na aeronáutica.
Eu acho que o Scrum é utilizado sim... Talvez usemos nomes diferentes para os papéis, mas medimos velocidade, fazemos Backlogs e temos um backlog.
Dá uma olhada e se quiser perguntar qq coisa, manda!
[]s
Willi
Em 11/11/2009, às 14:31, Handerson Gomes escreveu:
Manoel, a entrevista me deixou curioso para saber um pouco mais sobre a experiência do use the Agile no governo, principalmente relacionado ao post do Willi, onde ele fala sobre os problemas de licitação.
Tenho a impressão, baseada na minha curta experiência de 5 anos na CEF, de que os métodos ágeis adotados no governo se dão mais nas técnicas de desenvolvimento de software (Test Unitário, Automation, CI, etc) que na gestão do projeto como um todo. Obviamente que isso já seria um avanço positivo.
Eu ficarei surpreso se souber que o governo aplica uma metodologia Agil como o Scrum em um projeto, tendo roles como Product Owner e SM, Product Backlogs, Burndown charts, Velocity, etc.
Alguém tem mais informações sobre como Agile é adotado no governo?
Vejam uma rápida entrevista feita durante o Ágiles2009 com Gerson Barrey (Gerente Executivo da EBC – Empresa Brasil de Comunicação) sobre algumas experiências ágeis no governo federal.
Abs a todos.
__________________________________ Manoel Pimentel Medeiros, CSP Chief Editor - Revista Visão Ágil Chief Editor - InfoQ Brasil http://twitter.com/visaoagil
São nossos cases trabalhando com o governo. Fora eles, também existem cases no BACEN e no SERPRO (que eu saiba).
Temos um projeto rodando até hoje na aeronáutica.
Eu acho que o Scrum é utilizado sim... Talvez usemos nomes diferentes para os papéis, mas medimos velocidade, fazemos Backlogs e temos um backlog.
Dá uma olhada e se quiser perguntar qq coisa, manda!
[]s
Willi
Em 11/11/2009, às 14:31, Handerson Gomes escreveu:
Manoel, a entrevista me deixou curioso para saber um pouco mais sobre a experiência do use the Agile no governo, principalmente relacionado ao post do Willi, onde ele fala sobre os problemas de licitação.
Tenho a impressão, baseada na minha curta experiência de 5 anos na CEF, de que os métodos ágeis adotados no governo se dão mais nas técnicas de desenvolvimento de software (Test Unitário, Automation, CI, etc) que na gestão do projeto como um todo. Obviamente que isso já seria um avanço positivo.
Eu ficarei surpreso se souber que o governo aplica uma metodologia Agil como o Scrum em um projeto, tendo roles como Product Owner e SM, Product Backlogs, Burndown charts, Velocity, etc.
Alguém tem mais informações sobre como Agile é adotado no governo?
Vejam uma rápida entrevista feita durante o Ágiles2009 com Gerson Barrey (Gerente Executivo da EBC – Empresa Brasil de Comunicação) sobre algumas experiências ágeis no governo federal.
Abs a todos.
__________________________________ Manoel Pimentel Medeiros, CSP Chief Editor - Revista Visão Ágil Chief Editor - InfoQ Brasil http://twitter.com/visaoagil
Manoel, a entrevista me deixou curioso para saber um pouco mais sobre a experiência do use the Agile no governo, principalmente relacionado ao post do Willi, onde ele fala sobre os problemas de licitação.
Tenho a impressão, baseada na minha curta experiência de 5 anos na CEF, de que os métodos ágeis adotados no governo se dão mais nas técnicas de desenvolvimento de software (Test Unitário, Automation, CI, etc) que na gestão do projeto como um todo. Obviamente que isso já seria um avanço positivo.
Eu ficarei surpreso se souber que o governo aplica uma metodologia Agil como o Scrum em um projeto, tendo roles como Product Owner e SM, Product Backlogs, Burndown charts, Velocity, etc.
Alguém tem mais informações sobre como Agile é adotado no governo?
Vejam uma rápida entrevista feita durante o Ágiles2009 com Gerson Barrey (Gerente Executivo da EBC – Empresa Brasil de Comunicação) sobre algumas experiências ágeis no governo federal.
Abs a todos.
__________________________________ Manoel Pimentel Medeiros, CSP Chief Editor - Revista Visão Ágil Chief Editor - InfoQ Brasil http://twitter.com/visaoagil
Manoel, a entrevista me deixou curioso para saber um pouco mais sobre a experiência do use the Agile no governo, principalmente relacionado ao post do Willi, onde ele fala sobre os problemas de licitação.
Tenho a impressão, baseada na minha curta experiência de 5 anos na CEF, de que os métodos ágeis adotados no governo se dão mais nas técnicas de desenvolvimento de software (Test Unitário, Automation, CI, etc) que na gestão do projeto como um todo. Obviamente que isso já seria um avanço positivo.
Eu ficarei surpreso se souber que o governo aplica uma metodologia Agil como o Scrum em um projeto, tendo roles como Product Owner e SM, Product Backlogs, Burndown charts, Velocity, etc.
Alguém tem mais informações sobre como Agile é adotado no governo?
Vejam uma rápida entrevista feita durante o Ágiles2009 com Gerson Barrey (Gerente Executivo da EBC – Empresa Brasil de Comunicação) sobre algumas experiências ágeis no governo federal.
Abs a todos.
__________________________________ Manoel Pimentel Medeiros, CSP Chief Editor - Revista Visão Ágil Chief Editor - InfoQ Brasil http://twitter.com/visaoagil
From: renandemelo <renandemelo@...> Subject: [visaoagil] Pesquisa de métodos ágeis
To: visaoagil@... Date: Wednesday, November 11, 2009, 6:10 AM
Pessoal,
Meu amigo Hugo Corbucci, membro do grupo de pesquisa de métodos ágeis do IME-USP do qual também faço parte, está realizando uma pesquisa para validação de seu mestrado.
Esta pesquisa é para todos aqueles que trabalham/trabalhar am com métodos ágeis, se este é o seu caso por favor responda-a pois ele ainda precisa de uma quantidade considerável de respostas.
--- On Wed, 11/11/09, renandemelo <renandemelo@...> wrote:
From: renandemelo <renandemelo@...> Subject: [visaoagil] Pesquisa de métodos ágeis To: visaoagil@... Date: Wednesday, November 11, 2009, 6:10 AM
Pessoal,
Meu amigo Hugo Corbucci, membro do grupo de pesquisa de métodos ágeis do IME-USP do qual também faço parte, está realizando uma pesquisa para validação de seu mestrado.
Esta pesquisa é para todos aqueles que trabalham/trabalhar am com métodos ágeis, se este é o seu caso por favor responda-a pois ele ainda precisa de uma quantidade considerável de respostas.
Olá Comunidade, Nesse mês de novembro o Maré de Agilidade acontecerá na Amazônia :-)
O Maré de Agilidade é um evento itinerante que viaja pelas cidades do Brasil, apresentado assuntos como Extreme Programming (XP), Scrum, Domain Driven Design (DDD), Model Driven Design (MDD), Test-driven Development (TDD), Feature-driven Development (FDD), Gerenciamento Ágil de Projetos (GAP), Lean, e tantos outros. Esses assuntos começam a fazer parte do vocabulário do desenvolvedor de software, no entanto muitas vezes sem a devida capacitação para entendimento e aplicação de tantos conceitos.
Como as ondas de uma maré, o evento já passou por Brasília (setembro/2008 − 1° edição); Salvador (março/2009 − 2° edição) e Fortaleza (agosto/2009 − 3° edição).
Agora em sua 4° edição chegou a vez de Belém(Pará), para falar das novas tendências em gerência de projetos e técnicas de desenvolvimento de software que constituem atualmente o grande diferencial de empresas como Apple, Google, Microsoft, Yahoo e Globo.com.
O evento está programado para os dias 26, 27 e 28 de Novembro de 2009, sendo os 2 primeiros dias de mini-cursos, seções de Dojo e OpenSpace. O 3° dia reservado para palestras e discussões.
Vejam uma rápida entrevista feita durante o Ágiles2009 com Gerson Barrey (Gerente Executivo da EBC – Empresa Brasil de Comunicação) sobre algumas experiências ágeis no governo federal.
Abs a todos.
__________________________________ Manoel Pimentel Medeiros, CSP Chief Editor - Revista Visão Ágil Chief Editor - InfoQ Brasil http://twitter.com/visaoagil
Vejam uma rápida entrevista feita durante o Ágiles2009 com Gerson Barrey (Gerente Executivo da EBC – Empresa Brasil de Comunicação) sobre algumas experiências ágeis no governo federal.
Abs a todos.
__________________________________ Manoel Pimentel Medeiros, CSP Chief Editor - Revista Visão Ágil Chief Editor - InfoQ Brasil http://twitter.com/visaoagil
Olá Comunidade, Nesse mês de novembro o Maré de Agilidade acontecerá na Amazônia :-)
O Maré de Agilidade é um evento itinerante que viaja pelas cidades do Brasil, apresentado assuntos como Extreme Programming (XP), Scrum, Domain Driven Design (DDD), Model Driven Design (MDD), Test-driven Development (TDD), Feature-driven Development (FDD), Gerenciamento Ágil de Projetos (GAP), Lean, e tantos outros. Esses assuntos começam a fazer parte do vocabulário do desenvolvedor de software, no entanto muitas vezes sem a devida capacitação para entendimento e aplicação de tantos conceitos.
Como as ondas de uma maré, o evento já passou por Brasília (setembro/2008 − 1° edição); Salvador (março/2009 − 2° edição) e Fortaleza (agosto/2009 − 3° edição).
Agora em sua 4° edição chegou a vez de Belém(Pará), para falar das novas tendências em gerência de projetos e técnicas de desenvolvimento de software que constituem atualmente o grande diferencial de empresas como Apple, Google, Microsoft, Yahoo e Globo.com.
O evento está programado para os dias 26, 27 e 28 de Novembro de 2009, sendo os 2 primeiros dias de mini-cursos, seções de Dojo e OpenSpace. O 3° dia reservado para palestras e discussões.
Vejam uma rápida entrevista feita durante o Ágiles2009 com Gerson Barrey (Gerente Executivo da EBC – Empresa Brasil de Comunicação) sobre algumas experiências ágeis no governo federal.
Abs a todos.
__________________________________ Manoel Pimentel Medeiros, CSP Chief Editor - Revista Visão Ágil Chief Editor - InfoQ Brasil http://twitter.com/visaoagil
Pessoal,
Meu amigo Hugo Corbucci, membro do grupo de pesquisa de métodos ágeis do IME-USP
do qual também faço parte, está realizando uma pesquisa para validação de seu
mestrado.
Esta pesquisa é para todos aqueles que trabalham/trabalharam com métodos ágeis,
se este é o seu caso por favor responda-a pois ele ainda precisa de uma
quantidade considerável de respostas.
A pesquisa encontra-se em: http://www.ime.usp.br/~corbucci/agile-surveye em
menos de 5 minutos é possível respondê-la.
Agradeço a colaboração de vocês.
--
Renan de Melo Oliveira
Gostaria de pedir a colaboração de todos com uma pesquisa de mestrado que aborda a aplicabilidade de métodos ágeis nos contextos de software livre.
Peço em torno de 5 minutos do tempo de cada um de vocês para responderem o questionário: http://www.ime.usp.br/~corbucci/agile-survey.html
Todos os resultados da pesquisa serão divulgados publicamente e integrarão uma dissertação de mestrado. Os dados são anônimos e nenhum resultado individual será divulgado.
Obrigado desde já pela ajuda de todos.
Hugo Corbucci
Prezados,
Os grupos AgileBahia, JavaBahia, PHPBahia e RailsBahia estão unidos na
organização deste evento inédito, parte da XII Semana de Informática da Unime. O
LinguÁgil (www.linguagil.com.br) reúne algumas das principais comunidades de TI
da Bahia, buscando estimular aprendizado e discussões em torno de linguagens de
programação e metodologias ágeis. Participe e concorra a um iPOD Shuffle
fornecido pela eCGlobalPanel. O sorteio será no dia das PALESTRAS!
Atenciosamente,
Luciano Borges