PSP e métodos ágeis na melhoria da qualidade em produção de software: um estudo de caso

Detalhes bibliográficos
Ano de defesa: 2006
Autor(a) principal: Silva, Renato Afonso Cota
Orientador(a): Braga, José Luis lattes
Banca de defesa: Oliveira, Alcione de Paiva lattes, Silva, Carlos Henrique Osório lattes, Maldonado, José Carlos lattes, Rocha, Mauro Nacif lattes
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Viçosa
Programa de Pós-Graduação: Mestrado em Ciência da Computação
Departamento: Metodologias e técnicas da Computação; Sistemas de Computação
País: BR
Palavras-chave em Português:
Palavras-chave em Inglês:
Área do conhecimento CNPq:
Link de acesso: http://locus.ufv.br/handle/123456789/2596
Resumo: Small and medium sized software development organizations face challenges to develop quality software. Costs to adhere to international quality standards are very high, making it almost impossible to adopt and acquire maturity evaluations based on those standards. One plausible and less expensive way to increase product quality is investing in personal software development processes. Part of quality problems are a direct consequence of relying too much on tests as a quality assurance mechanism. That makes defect detection and removing an expensive, non effective and unpredictable step in software development. Previous results from the literature show that tests must be associated with error prevention procedures in early development steps, blocking error propagation to later steps where their removal is much more expensive and prone to more error insertion. Requirements elicitation, analysis and understanding seem to be a crucial point in the whole process. This is an error prone step, particularly when requirements have to be extracted from human actors that communicate with analysts and software engineers using everyday language. This work describes the design of a hybrid personal process to be used in quality software production. It is derived from a tiny intersection of PSP (Personal Software Process) that is an instance of Plan Based Methods, with TDD (Test Driven Development) that is an instance of Agile Methods and is also focused on the personal level. The hybrid process so obtained is called PSPm, where the m stands for modified. It was obtained by introducing the test-first technique from TDD, in the PSP Design phase. This means programmers should design tests before coding even small slices of software, and they should use those test cases in testing software after they are coded. PSPm was tested by Computer Science students enrolled in Software Engineering I classes at Universidade Federal de Viçosa, in the years 2004 and 2005. Data gathered in 2005 were then compared to data gathered in 2004 in the same discipline. Results showed that using PSPm lead to a smaller error injection rate in PSP Design phase, thus leading to a smaller testing mean time. Data were processed and analyzed using the Resampling Tests bootstrap technique, applied to the data gathered in both years.
id UFV_e35522866a3520fd1053f933488ec46f
oai_identifier_str oai:locus.ufv.br:123456789/2596
network_acronym_str UFV
network_name_str LOCUS Repositório Institucional da UFV
repository_id_str
spelling Silva, Renato Afonso Cotahttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4742948Z3Braga, José Luishttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4787263E8Oliveira, Alcione de Paivahttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4788574J0Silva, Carlos Henrique Osóriohttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4785396A6Maldonado, José Carloshttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4788864A1Rocha, Mauro Nacifhttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4702810U72015-03-26T13:10:22Z2006-12-202015-03-26T13:10:22Z2006-04-05SILVA, Renato Afonso Cota. Improving the quality of the software production using PSP and agile methods: a case study. 2006. 146 f. Dissertação (Mestrado em Metodologias e técnicas da Computação; Sistemas de Computação) - Universidade Federal de Viçosa, Viçosa, 2006.http://locus.ufv.br/handle/123456789/2596Small and medium sized software development organizations face challenges to develop quality software. Costs to adhere to international quality standards are very high, making it almost impossible to adopt and acquire maturity evaluations based on those standards. One plausible and less expensive way to increase product quality is investing in personal software development processes. Part of quality problems are a direct consequence of relying too much on tests as a quality assurance mechanism. That makes defect detection and removing an expensive, non effective and unpredictable step in software development. Previous results from the literature show that tests must be associated with error prevention procedures in early development steps, blocking error propagation to later steps where their removal is much more expensive and prone to more error insertion. Requirements elicitation, analysis and understanding seem to be a crucial point in the whole process. This is an error prone step, particularly when requirements have to be extracted from human actors that communicate with analysts and software engineers using everyday language. This work describes the design of a hybrid personal process to be used in quality software production. It is derived from a tiny intersection of PSP (Personal Software Process) that is an instance of Plan Based Methods, with TDD (Test Driven Development) that is an instance of Agile Methods and is also focused on the personal level. The hybrid process so obtained is called PSPm, where the m stands for modified. It was obtained by introducing the test-first technique from TDD, in the PSP Design phase. This means programmers should design tests before coding even small slices of software, and they should use those test cases in testing software after they are coded. PSPm was tested by Computer Science students enrolled in Software Engineering I classes at Universidade Federal de Viçosa, in the years 2004 and 2005. Data gathered in 2005 were then compared to data gathered in 2004 in the same discipline. Results showed that using PSPm lead to a smaller error injection rate in PSP Design phase, thus leading to a smaller testing mean time. Data were processed and analyzed using the Resampling Tests bootstrap technique, applied to the data gathered in both years.Há vários problemas com a Engenharia de Software que é realizada atualmente, principalmente em se tratando de pequenas e médias empresas, que não possuem capital suficiente para implantar grandes processos de produção de software e menos ainda para se submeterem à avaliação de maturidade segundo padrões internacionais. Isso reforça a idéia de que é necessário investir em processos de capacitação pessoais. Parte dos problemas com a qualidade final de produtos de software derivam do fato de se confiar ou delegar aos testes finais a responsabilidade pela qualidade. Conforme comprovado na literatura, detectar e remover defeitos a partir dos testes é mais caro, não efetivo e imprevisível. A forma mais efetiva de gerenciar a qualidade do software é focar na remoção de defeitos antes de eles serem inseridos, se possível no mesmo passo de desenvolvimento em que essa inserção aconteceria. Um dos grandes problemas da qualidade do software é o não entendimento dos requisitos de usuário por parte dos programadores, os quais na codificação desenvolvem códigos que não satisfazem aos interesses dos usuários a esses requisitos. Neste trabalho descreve-se a obtenção de um processo híbrido para a produção de software de qualidade, aplicável no nível pessoal, a partir da interseção de dois processos de origens diferentes, mas que têm como foco principal o desenvolvimento de software no nível de competência individual. São eles o PSP (Personal Software Process ), que é baseado nos Métodos Dirigidos por Planejamento, e o TDD (Test Driven Development ) que é baseado nos Métodos Ágeis, sendo que os dois são aplicáveis ao nível individual ou dos programadores. A combinação desses dois processos gerou um processo híbrido, chamado de PSPm. A principal característica do PSPm é a adição da técnica test-first oriunda do TDD na fase de projeto do PSP. Ou seja, os programadores escrevem os testes na fase de projeto e não na fase de testes, como propõe o PSP original. O PSPm foi aplicado e testado em sala de aula por alunos do curso de Ciência da Computação da Universidade Federal de Viçosa que cursavam a disciplina Engenharia de Software I. Os resultados da aplicação do PSPm foi comparado aos resultados de aplicação do PSP que havia sido aplicado em turma semelhante no ano anterior. Resultados da análise desenvolvida indicam que o uso do PSPm possibilitou a injeção de um menor número médio de erros na fase de projeto e resultou em um menor tempo médio para se testar o software. Com o intuito de validar os resultados, foi utilizada a técnica estatística de Testes por Reamostragem conhecida como bootstrap aplicada aos dados coletados. Ficou evidenciada uma redução na quantidade de defeitos no projeto com a utilização do PSPm.Coordenação de Aperfeiçoamento de Pessoal de Nível Superiorapplication/pdfporUniversidade Federal de ViçosaMestrado em Ciência da ComputaçãoUFVBRMetodologias e técnicas da Computação; Sistemas de ComputaçãoSoftwareDesenvolvimentoProgramação extremeEngenharia de softwareSoftware developmentExtreme programmingSoftware engineeringCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOPSP e métodos ágeis na melhoria da qualidade em produção de software: um estudo de casoImproving the quality of the software production using PSP and agile methods: a case studyinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/openAccessreponame:LOCUS Repositório Institucional da UFVinstname:Universidade Federal de Viçosa (UFV)instacron:UFVORIGINALtexto completo.pdfapplication/pdf3825942https://locus.ufv.br//bitstream/123456789/2596/1/texto%20completo.pdf12a7bc2f23afd9d071cb27be15207fccMD51TEXTtexto completo.pdf.txttexto completo.pdf.txtExtracted texttext/plain190157https://locus.ufv.br//bitstream/123456789/2596/2/texto%20completo.pdf.txt9600edb3473c5ac19e13ca11b204b50eMD52THUMBNAILtexto completo.pdf.jpgtexto completo.pdf.jpgIM Thumbnailimage/jpeg3652https://locus.ufv.br//bitstream/123456789/2596/3/texto%20completo.pdf.jpgf9854ec1527403203cd3d9242eff06c8MD53123456789/25962016-04-08 23:09:20.514oai:locus.ufv.br:123456789/2596Repositório InstitucionalPUBhttps://www.locus.ufv.br/oai/requestfabiojreis@ufv.bropendoar:21452016-04-09T02:09:20LOCUS Repositório Institucional da UFV - Universidade Federal de Viçosa (UFV)false
dc.title.por.fl_str_mv PSP e métodos ágeis na melhoria da qualidade em produção de software: um estudo de caso
dc.title.alternative.eng.fl_str_mv Improving the quality of the software production using PSP and agile methods: a case study
title PSP e métodos ágeis na melhoria da qualidade em produção de software: um estudo de caso
spellingShingle PSP e métodos ágeis na melhoria da qualidade em produção de software: um estudo de caso
Silva, Renato Afonso Cota
Software
Desenvolvimento
Programação extreme
Engenharia de software
Software development
Extreme programming
Software engineering
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
title_short PSP e métodos ágeis na melhoria da qualidade em produção de software: um estudo de caso
title_full PSP e métodos ágeis na melhoria da qualidade em produção de software: um estudo de caso
title_fullStr PSP e métodos ágeis na melhoria da qualidade em produção de software: um estudo de caso
title_full_unstemmed PSP e métodos ágeis na melhoria da qualidade em produção de software: um estudo de caso
title_sort PSP e métodos ágeis na melhoria da qualidade em produção de software: um estudo de caso
author Silva, Renato Afonso Cota
author_facet Silva, Renato Afonso Cota
author_role author
dc.contributor.authorLattes.por.fl_str_mv http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4742948Z3
dc.contributor.author.fl_str_mv Silva, Renato Afonso Cota
dc.contributor.advisor1.fl_str_mv Braga, José Luis
dc.contributor.advisor1Lattes.fl_str_mv http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4787263E8
dc.contributor.referee1.fl_str_mv Oliveira, Alcione de Paiva
dc.contributor.referee1Lattes.fl_str_mv http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4788574J0
dc.contributor.referee2.fl_str_mv Silva, Carlos Henrique Osório
dc.contributor.referee2Lattes.fl_str_mv http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4785396A6
dc.contributor.referee3.fl_str_mv Maldonado, José Carlos
dc.contributor.referee3Lattes.fl_str_mv http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4788864A1
dc.contributor.referee4.fl_str_mv Rocha, Mauro Nacif
dc.contributor.referee4Lattes.fl_str_mv http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4702810U7
contributor_str_mv Braga, José Luis
Oliveira, Alcione de Paiva
Silva, Carlos Henrique Osório
Maldonado, José Carlos
Rocha, Mauro Nacif
dc.subject.por.fl_str_mv Software
Desenvolvimento
Programação extreme
Engenharia de software
topic Software
Desenvolvimento
Programação extreme
Engenharia de software
Software development
Extreme programming
Software engineering
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
dc.subject.eng.fl_str_mv Software development
Extreme programming
Software engineering
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
description Small and medium sized software development organizations face challenges to develop quality software. Costs to adhere to international quality standards are very high, making it almost impossible to adopt and acquire maturity evaluations based on those standards. One plausible and less expensive way to increase product quality is investing in personal software development processes. Part of quality problems are a direct consequence of relying too much on tests as a quality assurance mechanism. That makes defect detection and removing an expensive, non effective and unpredictable step in software development. Previous results from the literature show that tests must be associated with error prevention procedures in early development steps, blocking error propagation to later steps where their removal is much more expensive and prone to more error insertion. Requirements elicitation, analysis and understanding seem to be a crucial point in the whole process. This is an error prone step, particularly when requirements have to be extracted from human actors that communicate with analysts and software engineers using everyday language. This work describes the design of a hybrid personal process to be used in quality software production. It is derived from a tiny intersection of PSP (Personal Software Process) that is an instance of Plan Based Methods, with TDD (Test Driven Development) that is an instance of Agile Methods and is also focused on the personal level. The hybrid process so obtained is called PSPm, where the m stands for modified. It was obtained by introducing the test-first technique from TDD, in the PSP Design phase. This means programmers should design tests before coding even small slices of software, and they should use those test cases in testing software after they are coded. PSPm was tested by Computer Science students enrolled in Software Engineering I classes at Universidade Federal de Viçosa, in the years 2004 and 2005. Data gathered in 2005 were then compared to data gathered in 2004 in the same discipline. Results showed that using PSPm lead to a smaller error injection rate in PSP Design phase, thus leading to a smaller testing mean time. Data were processed and analyzed using the Resampling Tests bootstrap technique, applied to the data gathered in both years.
publishDate 2006
dc.date.available.fl_str_mv 2006-12-20
2015-03-26T13:10:22Z
dc.date.issued.fl_str_mv 2006-04-05
dc.date.accessioned.fl_str_mv 2015-03-26T13:10:22Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv SILVA, Renato Afonso Cota. Improving the quality of the software production using PSP and agile methods: a case study. 2006. 146 f. Dissertação (Mestrado em Metodologias e técnicas da Computação; Sistemas de Computação) - Universidade Federal de Viçosa, Viçosa, 2006.
dc.identifier.uri.fl_str_mv http://locus.ufv.br/handle/123456789/2596
identifier_str_mv SILVA, Renato Afonso Cota. Improving the quality of the software production using PSP and agile methods: a case study. 2006. 146 f. Dissertação (Mestrado em Metodologias e técnicas da Computação; Sistemas de Computação) - Universidade Federal de Viçosa, Viçosa, 2006.
url http://locus.ufv.br/handle/123456789/2596
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Viçosa
dc.publisher.program.fl_str_mv Mestrado em Ciência da Computação
dc.publisher.initials.fl_str_mv UFV
dc.publisher.country.fl_str_mv BR
dc.publisher.department.fl_str_mv Metodologias e técnicas da Computação; Sistemas de Computação
publisher.none.fl_str_mv Universidade Federal de Viçosa
dc.source.none.fl_str_mv reponame:LOCUS Repositório Institucional da UFV
instname:Universidade Federal de Viçosa (UFV)
instacron:UFV
instname_str Universidade Federal de Viçosa (UFV)
instacron_str UFV
institution UFV
reponame_str LOCUS Repositório Institucional da UFV
collection LOCUS Repositório Institucional da UFV
bitstream.url.fl_str_mv https://locus.ufv.br//bitstream/123456789/2596/1/texto%20completo.pdf
https://locus.ufv.br//bitstream/123456789/2596/2/texto%20completo.pdf.txt
https://locus.ufv.br//bitstream/123456789/2596/3/texto%20completo.pdf.jpg
bitstream.checksum.fl_str_mv 12a7bc2f23afd9d071cb27be15207fcc
9600edb3473c5ac19e13ca11b204b50e
f9854ec1527403203cd3d9242eff06c8
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv LOCUS Repositório Institucional da UFV - Universidade Federal de Viçosa (UFV)
repository.mail.fl_str_mv fabiojreis@ufv.br
_version_ 1794528689700995072