Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Desenvolvimento orientado a qualidade
Search
Isabella Silveira
July 07, 2017
Programming
0
310
Desenvolvimento orientado a qualidade
Isabella Silveira
July 07, 2017
Tweet
Share
More Decks by Isabella Silveira
See All by Isabella Silveira
Looking under the rug: the art of learning from failure
bellasilveira
1
200
What if Picasso was a Robot? Teaching art to the machine
bellasilveira
2
400
Empathy Driven Development: Boosting performance by implementing for unfavorable conditions
bellasilveira
3
700
Turn and face the strange: Construindo front ends funcionais com Clojurescript
bellasilveira
1
290
A Importância do Ócio (JS Version): Delegando tarefas para a máquina com Machine Learning
bellasilveira
2
540
Building functional Front-ends with ClojureScript
bellasilveira
3
380
A Importância do Ócio: Delegando tarefas para a máquina com Machine Learning
bellasilveira
2
260
A Web para todos: Melhorando a performance em condições adversas
bellasilveira
6
830
Art attack para robôs: ensinando arte à máquina
bellasilveira
1
300
Other Decks in Programming
See All in Programming
Azure AI Foundryのご紹介
qt_luigi
1
210
return文におけるstd::moveについて
onihusube
1
1.4k
Оптимизируем производительность блока Казначейство
lamodatech
0
950
Findy Team+ Awardを受賞したかった!ベストプラクティス応募内容をふりかえり、開発生産性向上もふりかえる / Findy Team Plus Award BestPractice and DPE Retrospective 2024
honyanya
0
140
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
390
ecspresso, ecschedule, lambroll を PipeCDプラグインとして動かしてみた (プロトタイプ) / Running ecspresso, ecschedule, and lambroll as PipeCD Plugins (prototype)
tkikuc
2
1.9k
Запуск 1С:УХ в крупном энтерпрайзе: мечта и реальность ПМа
lamodatech
0
950
ATDDで素早く安定した デリバリを実現しよう!
tonnsama
1
1.9k
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
1.3k
責務を分離するための例外設計 - PHPカンファレンス 2024
kajitack
9
2.4k
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
170
為你自己學 Python
eddie
0
520
Featured
See All Featured
Unsuck your backbone
ammeep
669
57k
Mobile First: as difficult as doing things right
swwweet
222
9k
Typedesign – Prime Four
hannesfritz
40
2.5k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Adopting Sorbet at Scale
ufuk
74
9.2k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Navigating Team Friction
lara
183
15k
Producing Creativity
orderedlist
PRO
343
39k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
240
jQuery: Nuts, Bolts and Bling
dougneiner
62
7.6k
Transcript
None
Desenvolvimento orientado a qualidade Huge 12 de maio, 2016
Isabella Silveira Front-End Developer @ Huge. Front-End, Back-End, Agile e
Integração Contínua.
1. Introdução 2. O que é qualidade de software? 3.
Processo de desenvolvimento 4. Pilares 5. Conclusão Agenda
Introdução.
Hoje em dia, a qualidade é um diferencial em tudo
que consumimos.
None
None
Mas como definir qualidade de software como um todo?
O que é qualidade de software?
Produtos de software != produtos industrializados.
Processos de manufatura são lineares e repetitivos.
A inovação está por toda parte nos processos de desenvolvimento.
Definindo o software ideal. O que é qualidade de software?
Definindo o software ideal. 1. Eficiente. 2. Escalável. 3. Confiável.
Qualidade está intrinsecamente ligada ao valor de um produto.
Processo de desenvolvimento.
Processo de desenvolvimento. 1. Conceito. 2. Implementação. 3. Software final.
Stakeholders. Processo de desenvolvimento
Stakeholders. 1. Clientes. 2. Usuários. 3. Desenvolvedores.
Pilares.
Pilares. 1. Qualidade funcional. 2. Qualidade estrutural. 3. Qualidade de
processo.
Qualidade funcional. Pilares
Consiste na eficiência do código, no quão bem a aplicação
cumpre o seu papel.
Usuários são os maiores interessados neste aspecto da aplicação.
“Mas o que define qualidade funcional?”
Qualidade funcional: 1. Cumprir com os requisitos. 2. Ter poucos
bugs. 3. Ter boa performance. 4. Ter boa UX.
Qualidade funcional: 1. Cumprir com os requisitos. 2. Ter poucos
bugs. 3. Ter boa performance. 4. Ter boa UX.
Sine qua non da qualidade funcional.
Qualidade funcional: 1. Cumprir com os requisitos. 2. Ter poucos
bugs. 3. Ter boa performance. 4. Ter boa UX.
Bugs comprometem a confiabilidade do sistema.
Qualidade funcional: 1. Cumprir com os requisitos. 2. Ter poucos
bugs. 3. Ter boa performance. 4. Ter boa UX.
Você conhece alguma aplicação boa e lenta?
Qualidade funcional: 1. Cumprir com os requisitos. 2. Ter poucos
bugs. 3. Ter boa performance. 4. Ter boa UX.
Para os usuários, a aplicação basicamente se resume à interface.
Ferramentas e aliados. Qualidade funcional
Testes automatizados.
None
Load testing.
None
Security testing.
+
None
Qualidade estrutural. Pilares
Caracteriza a qualidade do código escrito; o quão bem ele
é estruturado.
Desenvolvedores são o “público alvo”.
Qualidade estrutural: 1. Código testável. 2. Código sustentável. 3. Código
legível. 4. Código eficiente. 5. Código seguro. 6. Código escalável.
Qualidade estrutural: 1. Código testável. 2. Código sustentável. 3. Código
legível. 4. Código eficiente. 5. Código seguro. 6. Código escalável.
Funções limpas, claras e atômicas. Cada função lida apenas com
uma responsabilidade.
Qualidade funcional: 1. Código testável. 2. Código sustentável. 3. Código
legível. 4. Código eficiente. 5. Código seguro. 6. Código escalável.
Código manutenível. Sim, eu procurei essa palavra no Google.
O quão fácil é mudar o código sem introduzir novos
bugs?
None
Qualidade funcional: 1. Código testável. 2. Código sustentável. 3. Código
legível. 4. Código eficiente. 5. Código seguro. 6. Código escalável.
Funções e variáveis claras e explícitas. Isso facilita a compreensão
e assimilação do código por novos desenvolvedores e acelera a implementação de novas features.
None
Qualidade funcional: 1. Código testável. 2. Código sustentável. 3. Código
legível. 4. Código eficiente. 5. Código seguro. 6. Código escalável.
Código confiável e de rápida execução.
Qualidade funcional: 1. Cumpre com os requisitos. 2. Código sustentável.
3. Código legível. 4. Código eficiente. 5. Código seguro. 6. Código escalável.
Sem brechas de segurança, não deve permitir ataques ou SQL
injections.
None
None
None
Qualidade estrutural: 1. Código testável. 2. Código sustentável. 3. Código
legível. 4. Código eficiente. 5. Código seguro. 6. Código escalável.
Design pattern e código modularizado. Permite a implementação de novas
features em menos tempo e menor ocorrência de bugs e erros de regressão.
Ferramentas e aliados. Qualidade funcional
Análise de complexidade.
plato
None
None
Linters.
None
Refactoring.
None
Qualidade de processo. Pilares
É a qualidade do processo de implementação do produto.
Clientes e membros do projeto são os mais afetados.
Qualidade de processo: 1. Respeitar prazos de entrega. 2. Respeitar
o orçamento original. 3. Alinhamento entre a equipe. 4. Processo de entrega consistente.
Qualidade de processo: 1. Respeitar prazos de entrega. 2. Respeitar
o orçamento original. 3. Alinhamento entre a equipe. 4. Processo de entrega consistente.
O software foi entregue no prazo estipulado?
Qualidade de processo: 1. Respeitar prazos de entrega. 2. Respeitar
o orçamento original. 3. Alinhamento entre a equipe. 3. Processo de entrega consistente.
O software foi entregue de acordo com o orçamento original?
Qualidade de processo: 1. Respeitar prazos de entrega. 2. Respeitar
o orçamento original. 3. Alinhamento entre a equipe. 4. Processo de entrega consistente.
Desenvolvedores e designers estarem em sintonia com o gerente de
projeto é fundamental.
None
Qualidade de processo: 1. Respeitar prazos de entrega. 2. Respeitar
o orçamento original. 3. Alinhamento entre a equipe. 4. Processo de entrega consistente.
Ponto chave da qualidade de processo.
None
Ferramentas e aliados. Qualidade de processo
Métricas ágeis.
Gráfico de Burndown.
None
Scrumboard.
None
Conclusão.
Equilíbrio é fundamental.
Qualidade agrega valor à sua aplicação.
Não sacrifique qualidade por desempenho.
Qualidade de software não é opcional.
Questions?
Get in touch. /in/isabellasilveira
[email protected]
@silveira_bells /bella-silveira
None