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
340
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Desenvolvimento orientado a qualidade
Isabella Silveira
July 07, 2017
More Decks by Isabella Silveira
See All by Isabella Silveira
Looking under the rug: the art of learning from failure
bellasilveira
1
360
What if Picasso was a Robot? Teaching art to the machine
bellasilveira
2
500
Empathy Driven Development: Boosting performance by implementing for unfavorable conditions
bellasilveira
3
880
Turn and face the strange: Construindo front ends funcionais com Clojurescript
bellasilveira
1
330
A Importância do Ócio (JS Version): Delegando tarefas para a máquina com Machine Learning
bellasilveira
2
580
Building functional Front-ends with ClojureScript
bellasilveira
3
430
A Importância do Ócio: Delegando tarefas para a máquina com Machine Learning
bellasilveira
2
320
A Web para todos: Melhorando a performance em condições adversas
bellasilveira
6
910
Art attack para robôs: ensinando arte à máquina
bellasilveira
1
340
Other Decks in Programming
See All in Programming
自作OSでスライド発表する
uyuki234
1
4k
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
360
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
600
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
1.8k
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.4k
Android CLI
fornewid
0
190
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
200
[RVD26] Vibe Architecture en 2040 : Darwin a-t-il (enfin) eu raison des architectes ?
alexandretouret
0
110
5分で問診!Composer セキュリティ健康診断
codmoninc
0
680
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
550
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
3.2k
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
100
Featured
See All Featured
エンジニアに許された特別な時間の終わり
watany
108
250k
How to build a perfect <img>
jonoalderson
1
5.8k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
370
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
910
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
880
Un-Boring Meetings
codingconduct
0
350
How to Ace a Technical Interview
jacobian
281
24k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
1k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Paper Plane
katiecoart
PRO
2
52k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
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