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

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 wa...

Nível de Acesso:openAccess
Publication Date:2006
Main Author: Silva, Renato Afonso Cota lattes
Orientador/a: Braga, José Luis lattes
Banca: Oliveira, Alcione de Paiva lattes, Silva, Carlos Henrique Osório lattes, Maldonado, José Carlos lattes, Rocha, Mauro Nacif lattes
Format: Dissertação
Language:por
Published: Universidade Federal de Viçosa
Programa: Mestrado em Ciência da Computação
Department: Metodologias e técnicas da Computação; Sistemas de Computação
Assuntos em Português:
Assuntos em Inglês:
Áreas de Conhecimento:
Online Access:http://locus.ufv.br/handle/123456789/2596
id UFV_1c95f4b960318b69531b6c7277940f19
oai_identifier_str oai:localhost:123456789/2596
network_acronym_str UFV
network_name_str Repositório Institucional da UFV
spelling 2015-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.Made available in DSpace on 2015-03-26T13:10:22Z (GMT). No. of bitstreams: 1 texto completo.pdf: 3825942 bytes, checksum: 12a7bc2f23afd9d071cb27be15207fcc (MD5) Previous issue date: 2006-04-05Coordenaçã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/masterThesisBraga, José LuisCPF:17567173620http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4787263E8Oliveira, Alcione de PaivaCPF:81351771787http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4788574J0Silva, Carlos Henrique OsórioCPF:61270431668http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4785396A6Maldonado, José CarlosCPF:02010847830http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4788864A1Rocha, Mauro NacifCPF:57295433600http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4702810U7CPF:05377357639http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4742948Z3Silva, Renato Afonso Cotainfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFVinstname:Universidade Federal de Viçosainstacron:UFVTHUMBNAILtexto completo.pdf.jpgtexto completo.pdf.jpgIM Thumbnailimage/jpeg3652http://localhost:8080/xmlui/bitstream/123456789/2596/3/texto+completo.pdf.jpgf9854ec1527403203cd3d9242eff06c8MD53TEXTtexto completo.pdf.txttexto completo.pdf.txtExtracted texttext/plain190157http://localhost:8080/xmlui/bitstream/123456789/2596/2/texto+completo.pdf.txt9600edb3473c5ac19e13ca11b204b50eMD52ORIGINALtexto completo.pdfapplication/pdf3825942http://localhost:8080/xmlui/bitstream/123456789/2596/1/texto+completo.pdf12a7bc2f23afd9d071cb27be15207fccMD51123456789/2596oai:localhost:123456789/25962016-04-08 23:09:20.514Locus Repositório Institucional da UFVrepositorio@ufv.br
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.advisor1.fl_str_mv Braga, José Luis
dc.contributor.advisor1ID.fl_str_mv CPF:17567173620
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.referee1ID.fl_str_mv CPF:81351771787
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.referee2ID.fl_str_mv CPF:61270431668
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.referee3ID.fl_str_mv CPF:02010847830
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.referee4ID.fl_str_mv CPF:57295433600
dc.contributor.referee4Lattes.fl_str_mv http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4702810U7
dc.contributor.authorID.fl_str_mv CPF:05377357639
dc.contributor.authorLattes.fl_str_mv http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4742948Z3
dc.contributor.author.fl_str_mv Silva, Renato Afonso Cota
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
dc.description.sponsorship.fl_txt_mv Coordenação de Aperfeiçoamento de Pessoal de Nível Superior
dc.description.abstract.eng.fl_txt_mv 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.
dc.description.abstract.por.fl_txt_mv 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.
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
status_str publishedVersion
format masterThesis
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:Repositório Institucional da UFV
instname:Universidade Federal de Viçosa
instacron:UFV
reponame_str Repositório Institucional da UFV
collection Repositório Institucional da UFV
instname_str Universidade Federal de Viçosa
instacron_str UFV
institution UFV
bitstream.url.fl_str_mv http://localhost:8080/xmlui/bitstream/123456789/2596/3/texto+completo.pdf.jpg
http://localhost:8080/xmlui/bitstream/123456789/2596/2/texto+completo.pdf.txt
http://localhost:8080/xmlui/bitstream/123456789/2596/1/texto+completo.pdf
bitstream.checksum.fl_str_mv f9854ec1527403203cd3d9242eff06c8
9600edb3473c5ac19e13ca11b204b50e
12a7bc2f23afd9d071cb27be15207fcc
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Locus Repositório Institucional da UFV
repository.mail.fl_str_mv repositorio@ufv.br
_version_ 1623442269575053312
score 13.38303