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
240
What if Picasso was a Robot? Teaching art to the machine
bellasilveira
2
420
Empathy Driven Development: Boosting performance by implementing for unfavorable conditions
bellasilveira
3
790
Turn and face the strange: Construindo front ends funcionais com Clojurescript
bellasilveira
1
300
A Importância do Ócio (JS Version): Delegando tarefas para a máquina com Machine Learning
bellasilveira
2
550
Building functional Front-ends with ClojureScript
bellasilveira
3
390
A Importância do Ócio: Delegando tarefas para a máquina com Machine Learning
bellasilveira
2
270
A Web para todos: Melhorando a performance em condições adversas
bellasilveira
6
860
Art attack para robôs: ensinando arte à máquina
bellasilveira
1
310
Other Decks in Programming
See All in Programming
Enterprise Web App. Development (2): Version Control Tool Training Ver. 5.1
knakagawa
1
120
Team topologies and the microservice architecture: a synergistic relationship
cer
PRO
0
950
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
250
ドメインモデリングにおける抽象の役割、tagless-finalによるDSL構築、そして型安全な最適化
knih
11
2k
Using AI Tools Around Software Development
inouehi
0
1.2k
ASP.NETアプリケーションのモダナイズ インフラ編
tomokusaba
1
390
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
320
[初登壇@jAZUG]アプリ開発者が気になるGoogleCloud/Azure+wasm/wasi
asaringo
0
130
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
550
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
110
Elixir で IoT 開発、 Nerves なら簡単にできる!?
pojiro
1
150
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
220
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
920
YesSQL, Process and Tooling at Scale
rocio
173
14k
Embracing the Ebb and Flow
colly
86
4.7k
Fireside Chat
paigeccino
37
3.5k
Building Applications with DynamoDB
mza
95
6.5k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
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