Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Estudo de Caso I
Prof. Ricardo de Sousa Britto rbritto@ufpi.edu.br
Problema
Alocar uma equipe de desenvolvimento para um
projeto de desenvolvimento de software baseado em metodologia gil.
Problema complexo!!!
Limitaes:
Modelagem mais complexa; Espao de busca cresce exponencialmente de acordo
com as variveis do problema; Maior esforo computacional.
Abordagem hbrida
No trabalho proposto em Britto el al. (2012), os autores
propem uma abordagem hbrida.
Abordagem hbrida
Segundo Britto el al. (2012), as contribuies mais
relevantes do trabalho so: Uma abordagem de avaliao de desenvolvedores baseada
em questionrio; Uma abordagem para estimar a produtividade dos desenvolvedores baseada em um sistema de inferncia fuzzy e na avaliao KSA; Uma abordagem para avaliar as alocaes de times geradas pela metaheurstica utilizada no trabalho; Uma abordagem hbrida que utiliza o conhecimento de um gerente de projeto no problema em todas as suas etapas. Uma avaliao emprica da abordagem proposta, que comparou os resultados da abordagem com a intuio de alguns gerentes de projeto.
Etapa 1
Nessa etapa os desenvolvedores disponveis so
avaliados por meio de uma tcnica chamada de matriz de competncia.
Knowledge
Knowledge indica o nvel de conhecimento do
desenvolvedor relaciodo a diversas reas.
Skill
Skill provm informaes sobre como usar o
knowledge para se fazer algo.
Attitude
Skill relacionada ao comportamento registrado
durante as atividades dirias de uma fbrica de software.
Processo de avaliao
Cada desenvolvedor deve fazer uma autoavaliao,
respondendo aos questionamentos relacionados s 3 reas.
Cada desenvolvedor deve avaliar seus colegas. Os gerente de projetos tambm devem avaliar cada
desenvolvedor.
Processo de avaliao
Para se calcular o score em cada rea se utiliza as
seguintes equaes:
Processo de avaliao
K = Knowledge do desenvolvedor. S = Skill do desenvolvedor. A = Attitude do desenvolvedor. SE relacionada a autoavaliao do desenvolvedor. TM relacionada a avaliao do desenvolvedor pelo time.
Q = questo da rea.
i = ndice da questo.
Etapa 2
Aps a avaliao dos valores K, S e A, gerados na
etapa 1, constatou-se que seria possvel estimar a produtividade dos desenvolvedores por meio desses valores.
Etapa 3
Com base na produtividade e salario de cada
desenvolvedor, for projetado um mdulo de otimizao multiobjetivo.
Modelagem matemtica
Modelagem matemtica
i = Developer index. N = Total number of available developers. W = salary of the developer. P = Productivity of the developer. D = 0 if the developer is not allocated to the team or 1 if he is allocated. E = Size of the desired team. T = Size of a team proposed by the algorithm. = Penalization constant of the cost of the team. = Penalization constant of the productivity of the team.
Etapa 4
Uma vez que o NSGA-II uma metaheurstca multiobjetivo,
ele fornece como soluo uma frente de Pareto, a qual contem solues as quais so, do ponto de vista dos objetivos otimizados, semelhantes.
Etapa 5
Uma vez que tenha sido feita a qualificao das
equipes geradas na etapa 3 por meio do sistema fuzzy, bastar ao gerente de projeto escolher a equipe com maior valor inferido.
Avaliao emprica
Para poder mostrar a viabilidade da abordagem
proposta, os autores realizaram uma avaliao emprica.
Resultados
Resultados
Concluses
O sistema fuzzy de entrada, que estima a
produtividade dos desenvolvedores mimetizou o comportamento do gerente de projeto.
Trabalhos futuros
Melhorar a avaliao emprica.
Referncias bibliogrficas
Britto et al. A Hybrid Approach to Solve the Agile Team
Allocation Problem. Proceedings of Congress on Evolutionary Computation (to appear), 2012.
Atividade
Ler o artigo referenciado nesta apresentao e fazer
um breve resumo, mostrando seu entendimento.