A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Thober Detofeno. Pontifícia Universidade Católica do Paraná Grupo de Pesquisa em Engenharia de Software © GPES 2016  “A primeira vez que a qualidade.

Apresentações semelhantes


Apresentação em tema: "Thober Detofeno. Pontifícia Universidade Católica do Paraná Grupo de Pesquisa em Engenharia de Software © GPES 2016  “A primeira vez que a qualidade."— Transcrição da apresentação:

1 Thober Detofeno

2 Pontifícia Universidade Católica do Paraná Grupo de Pesquisa em Engenharia de Software © GPES 2016  “A primeira vez que a qualidade do código é comprometida é como se estivesse incorrendo uma dívida. Uma pequena dívida acelera o desenvolvimento até que seja pago através da reescrita do código. O perigo ocorre quando a dívida não é paga. Cada minuto em que o código é mantido em inconformidade, juros são acrescidos na forma de reescrita.” (Cunningham, 1992) Thober Detofeno 2

3 Pontifícia Universidade Católica do Paraná Grupo de Pesquisa em Engenharia de Software © GPES 2016  Dívida Técnica é uma metáfora que se refere às consequências de desenvolver funcionalidades incompletas, artefatos imaturos ou inadequados no ciclo de vida de desenvolvimento de software, sendo que estes problemas deverão ser resolvidos futuramente (Seaman e Guo, 2011).  Essa metáfora foi inicialmente criada com foco na implementação de software, mas tem sido gradualmente utilizada em arquitetura, design, documentação, requisitos e testes de software (Brown et al., 2010). Thober Detofeno 3

4 Pontifícia Universidade Católica do Paraná Grupo de Pesquisa em Engenharia de Software © GPES 2016  Dívida Técnica NÃO é somente código e a sua qualidade. (Kruchten et al., 2012)  Dívida Técnica pode ser caracterizada por aspectos relacionados com o desenvolvimento do software como um todo. (Kruchten et al., 2012)  Falta de testes automatizados; (Sterling, 2010)  Documentação desatualizada. (Brown et al., 2010) Thober Detofeno 4

5 Pontifícia Universidade Católica do Paraná Grupo de Pesquisa em Engenharia de Software © GPES 2016  Pensamento de curto-prazo.  “A gente conserta depois que lançar a versão.”  Pressão, ritmo insustentável  “Tudo TEM que ficar pronto até o natal. Trabalhem mais!”  Não falar a respeito.  “Não gostamos de reclamações”  Falta de competência técnica.  “Qual o problema com variáveis globais?”  Síndrome da Janela Quebrada.  “E daí, esse código já está uma droga mesmo” Thober Detofeno 5

6 Pontifícia Universidade Católica do Paraná Grupo de Pesquisa em Engenharia de Software © GPES 2016 Thober Detofeno 6

7 Pontifícia Universidade Católica do Paraná Grupo de Pesquisa em Engenharia de Software © GPES 2016  “O único que pode mudar nunca esse código é Carl“, "vamos apenas copiar e colar este código", “o que pode acontecer se eu tocar neste código?";  Velocidade de desenvolvimento diminui ao longo do tempo;  Uso de bibliotecas antigas;  Sistema nunca estabiliza  Este sistema é difícil de entender;  Cada vez que altera uma coisa estraga outra;  Documentação está desatualizada; Thober Detofeno 7

8 Pontifícia Universidade Católica do Paraná Grupo de Pesquisa em Engenharia de Software © GPES 2016  Para identificar a dívida técnica deve-se utilizar abordagens manuais e automáticas. (Zazworka, 2013)  Uma proposta é estabelecer um conjunto de métricas importantes, bem como definir os limites específicos para cada eixo da dívida técnica. (Eisenberg, 2012)  Para identificar determinados tipos de dívida técnica é necessário de envolvimento humano. (Siebra et al., 2012) Thober Detofeno 8

9 Pontifícia Universidade Católica do Paraná Grupo de Pesquisa em Engenharia de Software © GPES 2016  SonarQube  FindBugs  Code Climate  Kiuwan  Struct101 Thober Detofeno 9 Technical Debt Plugin SQALE Rating

10 Pontifícia Universidade Católica do Paraná Grupo de Pesquisa em Engenharia de Software © GPES 2016  Não é necessário pagar toda a dívida técnica, é mais importante reconhecer a dívida e saber controlar;  A dívida técnica não é necessariamente uma coisa ruim; Thober Detofeno 10  A dívida técnica pode ser uma boa decisão, principalmente se o valor do principal acrescido de juros é menor do que o rendimento do investimento.

11 Pontifícia Universidade Católica do Paraná Grupo de Pesquisa em Engenharia de Software © GPES 2016  A decisão de pagar os juros ou reescrever o sistema deve ter como base o custo, risco e urgência;  Muitos casos vale a pega pagar os juros até o fim da vida do software;  Por isso, a Dívida Técnica precisa levar em conta o impacto e a probabilidade de se manifestar. Thober Detofeno 11

12 Pontifícia Universidade Católica do Paraná Grupo de Pesquisa em Engenharia de Software © GPES 2016  Do ponto de vista da gestão de dívida técnica, o objetivo de identificar, medir e monitorar a dívida é facilitar a tomada de decisão. (SEAMAN, 2012)  A gestão da dívida técnica procura entender quando deve-se pagar dívida, de acordo com as prioridades, ou assumir os juros Thober Detofeno 12

13 Pontifícia Universidade Católica do Paraná Grupo de Pesquisa em Engenharia de Software © GPES 2016 Thober Detofeno 13

14 Pontifícia Universidade Católica do Paraná Grupo de Pesquisa em Engenharia de Software © GPES 2016 Thober Detofeno 14 http://pt.slideshare.net/amanda_varella/scrum-rio-2014-resolvendo-os-problemas-certos-com-kanban-mtricas-e-visualizao

15 Pontifícia Universidade Católica do Paraná Grupo de Pesquisa em Engenharia de Software © GPES 2016  Impactos e consequências da dívida técnica;  Como medir a dívida técnica;  Evolução da dívida técnica;  Diferentes tipos de dívida técnica  Dívida de Software  Dívida de UX  Dívida de Qualidade  Dívida de Competência  Juros da dívida... Thober Detofeno 15

16 Pontifícia Universidade Católica do Paraná Grupo de Pesquisa em Engenharia de Software © GPES 2016  A dívida Técnica é uma metáfora apropriada para o gerenciamento de investimentos para medidas corretivas, urgentes e inesperadas, em projetos de desenvolvimento de software? Se não, existe alguma metáfora mais apropriada?  Quais são os tipos de Dívida Técnica?  Como identificar Dívida Técnica em um projeto de desenvolvimento de software?  Como medir os diferentes tipos de Dívida Técnica? Thober Detofeno 16

17 Pontifícia Universidade Católica do Paraná Grupo de Pesquisa em Engenharia de Software © GPES 2016  Como o Dívida Técnica está relacionado a evolução e manutenção de software?  Como informações sobre Dívida Técnica podem ser coletadas empiricamente para desenvolver modelos conceituais?  Para um determinado contexto, quais as maiores fontes de Dívida Técnica? Quais as mais úteis? Quais as mais custosas?  Como analisar sistematicamente como e quando redesenhar a arquitetura da aplicação para pagar a dívida?  Como identificar oportunidades de refactoring? Como avaliar as alternativas sugeridas? Thober Detofeno 17

18 Pontifícia Universidade Católica do Paraná Grupo de Pesquisa em Engenharia de Software © GPES 2016  Métricas X Dívida Técnica  Quais as principais métricas para cada “Tipo de dívida”  Complexidade Ciclomática - Fazer um pesquisa sobre a efetividade desta métrica, identificar as falhas e fazer uma simulação junto com os alunos com programas com diferentes complexidades para avaliar se efetivamente ela reflete a complexidade.  Estudo de caso – Avaliar o resultado antes e depois de corrigir as principais dividas técnicas.  Por que deixar para pagar amanhã o que pode ser pago hoje?  Métodos para priorização da Dívida Técnica.  Mostrar a divida técnica durante a construção do software.  Sistema para gerenciar a divida técnica.  Criar ferramentas para eliminar automaticamente pequenas dívidas técnicas.  Uma Ontologia para definir Dívida Técnica  Termo “Dívida do Software” não seria um termo mais apropriado? Thober Detofeno 18

19 Pontifícia Universidade Católica do Paraná Grupo de Pesquisa em Engenharia de Software © GPES 2016  Um dos fatores do acumula da dívida técnica está na entrega imediata do software, negligenciando o fato que ocorre mudança do sistema ao longo do tempo;  Incialmente a acumulação da dívida técnica não afeta a entrega do sistema, e até mesmo cria uma sensação de produtividade; Thober Detofeno 19

20 Pontifícia Universidade Católica do Paraná Grupo de Pesquisa em Engenharia de Software © GPES 2016  O entusiasmo e as falsas expectativas, enquanto a dívida técnica está se acumulando, cria um ambiente de aceitação da qualidade do sistema entregue ao cliente.;  Dívida técnica geralmente se manifesta quando a equipe trabalha na estabilização, integração, teste e correção de bugs do sistema. É neste momento que os prazos são imprevisíveis e normalmente não são resolvidos de forma adequada. Thober Detofeno 20

21 Pontifícia Universidade Católica do Paraná Grupo de Pesquisa em Engenharia de Software © GPES 2016  Iniciar no assunto  http://www.akitaonrails.com/2008/12/18/tradu-o-d-vida-t-cnica http://www.akitaonrails.com/2008/12/18/tradu-o-d-vida-t-cnica  http://www.infoq.com/br/presentations/divida-tecnica-precisando- credito http://www.infoq.com/br/presentations/divida-tecnica-precisando- credito  http://dl.acm.org/citation.cfm?id=2467398 http://dl.acm.org/citation.cfm?id=2467398  Livro  http://www.amazon.com/Managing-Software-Debt-Inevitable- Development/dp/0321948610 http://www.amazon.com/Managing-Software-Debt-Inevitable- Development/dp/0321948610  http://store.elsevier.com/Refactoring-for-Software-Design- Smells/Girish-Suryanarayana/isbn-9780128013977/ http://store.elsevier.com/Refactoring-for-Software-Design- Smells/Girish-Suryanarayana/isbn-9780128013977/  Revisão sistemática  http://dl.acm.org/citation.cfm?id=2741488 http://dl.acm.org/citation.cfm?id=2741488  https://www.researchgate.net/publication/256325791_Matalonga_Vill ar_DeudaTecnica https://www.researchgate.net/publication/256325791_Matalonga_Vill ar_DeudaTecnica Thober Detofeno 21

22 Pontifícia Universidade Católica do Paraná Grupo de Pesquisa em Engenharia de Software © GPES 2016  W. Cunningham. The wycash portfolio management system. http://c2.com/doc/oopsla92.html, 1992. [Online; Acesso em: 14/01/2016].  Seaman, C.; Guo, Y. Measuring and Monitoring Technical Debt, Advances in Computers, v. 82, p. 25-46,2011  Brown, N., et al, 2010. Managing Technical Debt in Software-Reliant Systems, FSE/SDP Workshop on the Future of Software Engineering Research, Santa Fe November 2010  Fowler, M. Technical Debt Quadrant. Bliki [Blog] 2009. [cited 2010 June 14]; Available from: http://www.martinfowler.com/bliki/TechnicalDebtQuadrant.html  EISENBERG, R. J. A threshold based approach to technical debt. SIGSOFT Softw. Eng. Notes, ACM, New York, NY, USA, v. 37, n. 2, p. 1–6, abr. 2012. ISSN 0163-5948. Disponível em:.  Siebra, C. S. A., Tonin, G. S., Silva, F. Q., Oliveira, R. G., Junior, A. L., Miranda, R. C., and Santos, A. L. (2012). Managing technical debt in practice: An industrial report. ESEM ’12, pages 247-250, New York, NY, USA. ACM.  ZAZWORKA, N. et al. A case study on effectively identifying technical debt. In:Proceedings of the 17th International Conference on Evaluation and Assessment in Software Engineering. New York, NY, USA: ACM, 2013. (EASE ’13), p. 42–47. ISBN 978-1-4503-1848-8. Disponível em:  Jean-Louis Letouzey, Michel Ilkiewicz, "Managing Technical Debt with the SQALE Method", IEEE Software, vol.29, no. 6, pp. 44-51, Nov.-Dec. 2012, doi:10.1109/MS.2012.129  C. Seaman, Y. Guo, C. Izurieta, Y. Cai, N. Zazworka, F. Shull, and A. Vetrò. Using technical debt data in decision making: Potential decision approaches. In Managing Technical Debt (MTD), 2012 Third International Workshop on, pages 45–48. IEEE, 2012.  http://pt.slideshare.net/amanda_varella/rio-agile-o-poder-da-visualizao-atacando-a-dvida-tcnica-e-promovendo-outras- mudanas  http://www.infoq.com/articles/managing-technical-debt Thober Detofeno 22

23 Thober Detofeno (thober@gmail.com)


Carregar ppt "Thober Detofeno. Pontifícia Universidade Católica do Paraná Grupo de Pesquisa em Engenharia de Software © GPES 2016  “A primeira vez que a qualidade."

Apresentações semelhantes


Anúncios Google