• Nenhum resultado encontrado

CAPÍTULO 6 – CONCLUSÃO

A.7.3. Desenvolvimento e Testes

Figura A-13: Mapeamento do processo de gestão do conhecimento no processo de desenvolvimento de software – etapas de desenvolvimento e teste

O primeiro passo no desenvolvimento é dividir os requisitos em atividades denominadas aqui de funcionalidades. O desenvolvimento dessas funcionalidades é de responsabilidade de um ou mais desenvolvedores e esse grupo pode ser definido pelo gerente de projetos ou os desenvolvedores podem se candidatar para desenvolver as funcionalidades que mais lhes interessam. Quando um bug for encontrado, a correção do problema terá um ciclo semelhante ao do desenvolvimento de uma nova funcionalidade e, por esta razão, tanto correção de bugs quanto desenvolvimento de novas funcionalidades estão agrupadas como sendo a mesma atividade do processo definido. A delegação de um

bug ou funcionalidade para um ou mais desenvolvedores é uma atividade relacionada

tanto ao processo de gestão de projetos quanto ao processo de desenvolvimento de

software. Essa atividade consiste em definir o(s) responsável(eis) pela atividade. Ela

dispara uma atividade do processo de gestão do conhecimento conhecida como:

 Criar uma atividade para reportar status: A criação dessa atividade vai permitir manter o conhecimento obtido no desenvolvimento da atividade e

reportar estado e evolução do desenvolvimento ajudando no acompanhamento do projeto.

Seguindo o desenvolvimento, quando uma funcionalidade ou resolução de bug é atribuída a um desenvolvedor, ele precisa de fato desenvolver a nova funcionalidade (ou corrigir o bug encontrado). Essa atividade também faz parte do processo de

desenvolvimento de software e dispara algumas atividades de outros processos.

 Atualizar status da atividade: A atividade criada na delegação da funcionalidade deve ser atualizada diariamente em relação ao seu status, seu percentual de conclusão, sub-atividades relevantes e problemas ou dúvidas encontradas. Essa atualização permitirá que o gerente e todos os outros membros da equipe acompanhem o andamento do projeto como um todo. Os conteúdos atualizados fazem parte do processo de gestão do

conhecimento na etapa de criação e captura.

 Discutir soluções: as dúvidas e possíveis soluções para a resolução dos problemas de desenvolvimento de uma funcionalidade ou correção de um

bug podem ser discutidas através do fórum. Os comentários realizados nessa atividade estão relacionados às etapas de refinamento e armazenamento e de gerenciamento do processo de gestão do conhecimento.

 Formalizar conhecimento (lições aprendidas/boas práticas) em

história: Muitas vezes, ao realizar o desenvolvimento, o desenvolvedor

encontra desafios no uso de frameworks, por exemplo. Para transpor esses desafios, o desenvolvedor busca soluções para atingir o objetivo de desenvolvimento da funcionalidade. Como todos os envolvidos no projeto podem encontrar o mesmo problema em outra etapa do desenvolvimento, é importante que esse conhecimento não se perca e seja armazenado de maneira um pouco mais formal. Essa formalização pode acontecer na forma de uma história onde o desenvolvedor descreve o problema e as soluções encontradas para que possam ser repetidas. A esse conhecimento prático é dado o nome de lições aprendidas (quando é um aprendizado) ou boas práticas (que tem relação ao processo usado). No futuro, os membros da equipe podem validar ou completar a informação armazenada na história tornando o conhecimento ainda mais rico. Essa atividade está relacionada ao processo de gestão de conhecimento nas etapas de criação e captura e gerenciamento.

 Verificar status de uma ou mais atividades: Quando as atividades estão criadas e estão sendo atualizadas, elas permitem que o gerente realize o acompanhamento do projeto, tanto em relação ao escopo quanto em relação ao tempo. Assim, essa atividade está relacionada ao processo de

gestão de projeto. As atividades do projeto, seus comentários e conteúdos

também podem ser vistos por todos os membros do projeto. Ao repassar, comentar e classificar atividades mais relevantes no projeto, os membros também fazem um trabalho de gestão do conhecimento em uma etapa conhecida como gerenciamento de conhecimento.

Quando o desenvolvedor termina sua implementação, mesmo que parcialmente, ele deve testar o código desenvolvido por ele para garantir que seu desenvolvimento esteja seguindo os requisitos especificados e que não introduza erros no sistema existente. Essa atividade também faz parte do processo de desenvolvimento de software e dispara algumas atividades de outros processos.

 Atualizar status da atividade: A atividade deve ser atualizada diariamente também nessa fase em relação ao seu status, seu percentual de conclusão, sub-atividades relevantes e problemas ou dúvidas encontradas. Essa atualização permitirá que o gerente e todos os outros membros da equipe acompanhem o andamento do projeto como um todo. Os conteúdos atualizados fazem parte do processo de gestão do conhecimento na etapa de criação e captura.

 Discutir soluções: as dúvidas e possíveis soluções para a resolução dos problemas encontrados nos testes da funcionalidade desenvolvida. Outros desenvolvedores podem dar dicas de que tipos de dados costumam revelar mais problemas com o desenvolvimento. As sugestões podem ser discutidas através do fórum. Os comentários realizados nessa atividade estão relacionados às etapas de refinamento e armazenamento e de

gerenciamento do processo de gestão do conhecimento.

 Formalizar conhecimento (lições aprendidas/boas práticas) em

história: Muitas vezes, ao realizar os testes de desenvolvimento, o

desenvolvedor encontra desafios no uso de frameworks ou na criação de um conjunto de dados de teste, por exemplo. Como todos os envolvidos no projeto podem encontrar o mesmo problema em outra etapa de testes, é importante que esse conhecimento não se perca e seja armazenado de

maneira um pouco mais formal. Essa formalização pode acontecer na forma de uma história onde o desenvolvedor descreve o problema e as soluções encontradas para que possam ser repetidas. Essa atividade está relacionada ao processo de gestão de conhecimento nas etapas de

criação e captura e gerenciamento.

Quando o desenvolvimento está completo e a funcionalidade não possui erros e passou nos testes realizados pelo desenvolvedor (da mesma forma o bug foi corrigido e não apresentou efeitos colaterais), ele pode então integrar seu código ao código dos outros desenvolvedores (trilha principal do desenvolvimento do software). Essa é uma atividade exclusiva do processo de desenvolvimento de software onde desenvolvedores iniciantes podem usar a busca de lições aprendidas e manuais em um processo de gestão de

conhecimento na etapa de disseminação para tirar dúvidas sobre como executar essa

tarefa comum para desenvolvedores experientes. Essa atividade dispara outra atividade relacionada ao processo de gestão do conhecimento:

 Atualizar história de release: A história de release é uma história criada para manter a lista de funcionalidades e resoluções de bugs que serão entregues em cada versão liberada (release) do software. Essa história vai ser usada como release notes e também facilita o testador a saber/controlar o que precisa ser testado na versão com base nos requisitos das funcionalidade, atividades relacionadas (rastreabilidade) e bugs resolvidos com possíveis efeitos colaterais. Essa atividade ajuda muito no trabalho de CM (configuration management). Essa é uma atividade relacionada ao processo

de gestão do conhecimento na etapa de criação e captura.

O software está desenvolvido e uma versão está finalizada. Chegou a hora dos

testes de versão. Neles, os testadores irão realizar testes mais globais buscando a qualidade

do produto final como um todo. A atividade de teste faz parte exclusivamente do processo

de desenvolvimento de software, mas pode disparar outras atividades em outros

processos.

 Procurar outras histórias/atividades relacionadas: como forma de validar o entendimento sobre qual o comportamento esperado da funcionalidade, é possível procurar na base de requisitos do projeto as atividades ou histórias que contém os requisitos relacionados à funcionalidade. É possível ainda, buscar em outros projetos lições aprendidas ou boas práticas que guiem a execução dos testes. Essa busca

permite uma melhor qualidade na realização dos testes. Essa atividade está relacionada às etapas de gerenciamento e disseminação do processo de

gestão do conhecimento.

 Discutir soluções: as dúvidas e possíveis soluções para a etapa de testes podem ser discutidas através do fórum. Os comentários realizados nessa atividade estão relacionados às etapas de refinamento e armazenamento e de gerenciamento do processo de gestão do conhecimento.

Caso os testes na versão sejam bem sucedidos, o software segue para a entrega ao cliente. Caso algum bug seja encontrado, a entrega é cancelada e uma nova rodada de desenvolvimento é iniciada. As atividades de release e de reportar bugs fazem parte

exclusivamente do processo de desenvolvimento de software e não disparam nas atividades.

Apêndice B. Uso de Oro-Aro Como

Ferramenta de Apoio ao Ensino

B.1. Uso de Comunidades e Projetos no Apoio às Disciplinas

Esse estudo apresenta os resultados encontrados a partir da avaliação de um conjunto de disciplinas que usaram a rede social a.m.i.g.o.s (na sua instância oro-aro) como ferramenta de apoio, mas que foram lecionadas por livre e espontânea vontade dos professores responsáveis por elas. Isso implica que elas não foram acompanhadas de perto durante a execução dessa tese, nem seu professor e seus alunos tiveram acesso a um manual de uso. Na verdade, parte das informações coletadas em entrevistas com alguns dos professores dessas disciplinas ajudaram a criar o manual disponibilizado para professores que desejam usar a rede social como ferramenta de apoio ao ensino. Os dados presentes nessas disciplinas são muito importantes, pois permitem ter acesso a um conjunto maior de informações sobre o uso da rede social como apoio no processo de aprendizado em um cenário real. Como forma de entender melhor os resultados do uso do a.m.i.g.o.s como ferramenta de apoio ao processo de aprendizagem duas avaliações foram realizadas. A primeira foi uma entrevista com os professores dessas disciplinas para avaliar suas impressões. A segunda foi uma contagem do volume de conteúdos efetivamente gerados por essas disciplinas.

Documentos relacionados