SlideShare a Scribd company logo
1 of 55
Download to read offline
APROJECT
MANAGER’S
SURVIVAL GUIDE
Daniel Aragao
Theresa Neate
1
QUALITY IN
SOFTWARE
EDITION
DISCLAIMER
This lecture aims to give future Project Managers
an insight into relevant thoughts, tools, practices,
techniques and useful ideas on how produce good
quality bespoke software. This means that the
product you’re helping create is software.
So, picture yourself as a Project Manager working
for Target on their new iPhone app project or at
Netflix’s next generation website.
Let’s get started!
2
HERE’S WHAT WE’LL TRY TO COVER
•Intro
•Ways of working
•Vague definitions
•What to focus on
•Design quality
•Code quality
•Security quality
•So what do PMs do with respect to quality?
•Anti-patterns
3
ABOUT US
4
Dan Aragao
I’m an all rounder software guy, Agile project manager and
developer.
Currently the Lead Architect at Australia’s largest digital
business, REA Group - aka realestate.com.au
Theresa Neate
I love all things software quality, especially proactive QA.
Currently the Lead QA & Developer Advocate at Australia’s
largest digital business, REA Group - aka realestate.com.au
WAYS OF WORKING
or why Taylor and Fayol ruined it for us
5
WHAT ARE YOU BUILDING?
6
WHAT ARE YOU BUILDING?
7
MANAGEMENT STYLE MATTERS
8
VS
BUILDING BESPOKE SOFTWARE INCREMENTALLY
9
BUILDING BESPOKE SOFTWARE ITERATIVELY
10
SLICING THE WORK IN BETTER WAYS
•Deliver the bare minimum value
11
AGILE SOFTWARE DEVELOPMENT
12
WHAT'S THE ORG STRUCTURE?
13
WHAT'S THE COMMS STRUCTURE?
14
WHAT'S THE COMMS STRUCTURE?
15
WHAT GAME ARE YOU PLAYING?
16
VAGUE DEFINITIONS
or, an argument about why quality to me is different than quality to you
17
DO WE HAVE ANY DEFINITIONS?
•There is no catch-all definition
•It’s OK because we believe that there are no best practices
to follow; only good ideas to leverage
•Things vary by context
•(Tell us examples)
18
SOME VAGUE DEFINITIONS (TELL US EXAMPLES)
•Lack of defects ( bugs )… but wait, every piece of
software has bugs
•Available
•Responsive
•Maintainable
•Cost effective
•Functional
•Attractive and easy to use
•Beautiful, performant code
•Secure
19
QUALITYATTRIBUTES TAXONOMY
Still not clear… Consider a system failure due to a denial-of-
service attack. Is it an aspect of availability, performance,
security, or usability?
20
WHATTO FOCUS ON
because you cannot address all quality attributes
21
STRUCTURE YOUR OWN QUESTIONS ON QUALITY
22
cost
time quality
WHAT REALLY MATTERS
•Is there a standard to follow? (CMMI, ISO, PMBOK,
PRINCE, etc)
•Who builds quality?
•How measure and track quality?
•How much does quality cost and how much should be
invested?
•When to start focusing on quality?
•What details should be written down on a contract?
•How does quality differ from value?
•Do all software delivery approaches address quality?
23
WHAT REALLY MATTERS
•How does risk relate to quality?
•Do I need specialised people?
•Isn’t testing enough?
•How can I “detect” poor quality in software?
•How do I know I’ve done enough?
•Does our way of working hinder or foster quality?
24
DESIGN QUALITY
25
DEPRECIATION AND OBSOLESCENCE BY DESIGN
26
COST OF OWNERSHIP
27
UI IS IMPORTANT
28
EXPECTATION MANAGEMENT
•Change and objection management
•Transparency
•Conflict and compromise
•Influencing - creating desire and avoiding rejection
•Tools to do it
• Rapid prototyping
• Pairing and collaborative development
• User testing - Steve Krug’s style
29
EXPECTATION MANAGEMENT
•When in doubt talk to the team about the best
way to do it or ask for help
•Poka-yoke - safe designs
30
CODE QUALITY
all the stuff that’s hard to see
31
WHAT TO TEST?
32
•Usability - crazyegg, hotlog, eye tracking glasses
•Performance - pingdom
•Team happiness
•Unit, integration, functional tests
•Test Coverage
TESTING CODE - CUPCAKE STYLE
33
TESTING CODE - PYRAMID STYLE
34
WHICH INTERNAL QUALITY METRICS TO MEASURE?
35
•Cyclomatic Complexity
•Duplication
•Fan-in, fan-out
•Dependency hell
•Size
HOW TO SEE INTERNAL QUALITY?
36
Visualisation (TreeMap)
EASY TO COMPARE
37
38
AUTOMATION INCREASES QUALITY
39
WHAT IS MORE IMPORTANT?
•Invest in a testing phase pre-launch to
ensure no bugs get out
or
•Invest in a release pipeline that allows
pushing code to production whenever
needed
40
SECURITY QUALITY
what if … kaboom!
41
THINGS TO THINK OF
•Why care? Think of what happened with Code Spaces
•or Knight Capital - $440m in 45 mins
•Penetration testing - don’t assume Developers know what
they are doing all the time
•Integrity, availability and confidentiality
•Disaster recovery and business continuity - now!
•Things fail, don’t be optimistic, build for failure
•OAIC NDB starts 22 Feb 2018
42
THINGS TO THINK OF
•Plan for incidents, know how to communicate
43
SOME INTERESTING TOOLS
44
Bees with Machine Guns
SO WHAT DO PM’S
DO WITH RESPECT
TO QUALITY
or should do
45
THINGS PROJECT MANAGERS DO
•Continuously plan a quality plan that matches the
purpose
• Have metrics and data
•Ensure fast feedback loops exist and invest to make
them faster
•Create teams around slices instead of silos -
Conway’s law
•Delegate quality to the team and make them
accountable
46
THINGS PROJECT MANAGERS DO
•Assess team’s ability drive the quality needed and
request help as needed
• Consultants
• Training
• Meetups
•Less is more, aim to do just enough and no more.
The only way to introduce bugs is by writing code
47
THINGS PROJECT MANAGERS DO
•Think past project delivery
•Encourage/prefer Devops, team managed
infrastructure and data
•Aim for no-handovers
•Think about security, plan for being attacked
•Have a disaster recovery plan and exercise it
•Understand your testing pyramid and make it look
the way it should
48
THINGS PROJECT MANAGERS DO
•Invest in knowledge sharing, because in software, negative
productivity is real
•Invest in tools that bring visibility and foster discussions on
the results. i.e. Structure 101
•Encourage the use of static code analysis tools. i.e. simian,
rubocop, checkstyle, lint
•Create a healthy balance between different quality
perspectives
•Invest in automation and Continuous Integration and
Delivery from day zero - Travis CI, BuildKite, Go CD, etc
49
EXERCISE
try it now
50
FOOD FOR THOUGHT
You’ve just started a new job as a PM you’ll
need to extend an existing legacy system.
What questions would you ask your team to
ensure you’ll build quality in?
51
ANTI-PATTERNS
or should NOT do
52
53
TRY NOT TO DO THESE THINGS
53
• Tolerate no or long feedback cycles
• Delay integration
• Isolate team from end-users
• Hide internal quality, progress and problems
• Assess quality based exclusively on functionality
• Organise team and work around functional silos
or architecture pieces
• Code without source control
54
TRY NOT TO DO THESE THINGS
54
•Little care about people’s happiness, aspirations
and ambitions
•Trying to produce by adding more people without
accounting for communication costs
•Allowing people to burn out
D a n i e l s a y s :
THANK YOU
&
QUESTIONS??
dan.aragao@rea-group.com
theresaneate.com
REA Graduate Programme
http://careers.realestate.com.au/graduate-programme

More Related Content

What's hot

Software Testing with Agile Requirements Practices
Software Testing with Agile Requirements Practices Software Testing with Agile Requirements Practices
Software Testing with Agile Requirements Practices A B M Moniruzzaman
 
(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should know(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should knowRichard Cheng
 
How testers add value to the organization appium conf
How testers add value to the organization  appium confHow testers add value to the organization  appium conf
How testers add value to the organization appium confCorina Pip
 
Using JIRA for Risk Based Testing - QASymphony Webinar
Using JIRA for Risk Based Testing  - QASymphony WebinarUsing JIRA for Risk Based Testing  - QASymphony Webinar
Using JIRA for Risk Based Testing - QASymphony WebinarQASymphony
 
ITIL® Release, Control and Validation
ITIL® Release, Control and ValidationITIL® Release, Control and Validation
ITIL® Release, Control and Validationmitchell burner
 
The 10 commandments of an agile tester in a legacy world
The 10 commandments of an agile tester in a legacy worldThe 10 commandments of an agile tester in a legacy world
The 10 commandments of an agile tester in a legacy worldAgilePractitionersIL
 
How to get Automated Testing "Done"
How to get Automated Testing "Done"How to get Automated Testing "Done"
How to get Automated Testing "Done"TEST Huddle
 
Software Release Orchestration and the Enterprise
Software Release Orchestration and the EnterpriseSoftware Release Orchestration and the Enterprise
Software Release Orchestration and the EnterpriseXebiaLabs
 
Niels Malotaux - Help We Have a QA Problem!
Niels Malotaux -  Help We Have a QA Problem!Niels Malotaux -  Help We Have a QA Problem!
Niels Malotaux - Help We Have a QA Problem!TEST Huddle
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test AutomationNaveen Kumar Singh
 
Shift left as first transformation step into Quality Assurance
Shift left as first transformation step into Quality AssuranceShift left as first transformation step into Quality Assurance
Shift left as first transformation step into Quality AssuranceZbyszek Mockun
 
Agile Test Automation: Truth, Oxymoron or Lie?
Agile Test Automation: Truth, Oxymoron or Lie?Agile Test Automation: Truth, Oxymoron or Lie?
Agile Test Automation: Truth, Oxymoron or Lie?Original Software
 
A Journey from DevOps to DevTestOps: Infusing Continuous Quality
A Journey from DevOps to DevTestOps: Infusing Continuous QualityA Journey from DevOps to DevTestOps: Infusing Continuous Quality
A Journey from DevOps to DevTestOps: Infusing Continuous QualityTechWell
 
Testing and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons LearnedTesting and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons LearnedLB Denker
 
QA in Digitalized World Kari Kakkonen WCSQ
QA in Digitalized World Kari Kakkonen WCSQQA in Digitalized World Kari Kakkonen WCSQ
QA in Digitalized World Kari Kakkonen WCSQKari Kakkonen
 
Webinar: DevOps challenges facing QA
Webinar: DevOps challenges facing QAWebinar: DevOps challenges facing QA
Webinar: DevOps challenges facing QAQualitest
 
Risk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
Risk Mitigation Using Exploratory and Technical Testing | QASymphony WebinarRisk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
Risk Mitigation Using Exploratory and Technical Testing | QASymphony WebinarQASymphony
 

What's hot (20)

Software Testing with Agile Requirements Practices
Software Testing with Agile Requirements Practices Software Testing with Agile Requirements Practices
Software Testing with Agile Requirements Practices
 
Agile testing
Agile  testingAgile  testing
Agile testing
 
(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should know(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should know
 
How testers add value to the organization appium conf
How testers add value to the organization  appium confHow testers add value to the organization  appium conf
How testers add value to the organization appium conf
 
Using JIRA for Risk Based Testing - QASymphony Webinar
Using JIRA for Risk Based Testing  - QASymphony WebinarUsing JIRA for Risk Based Testing  - QASymphony Webinar
Using JIRA for Risk Based Testing - QASymphony Webinar
 
ITIL® Release, Control and Validation
ITIL® Release, Control and ValidationITIL® Release, Control and Validation
ITIL® Release, Control and Validation
 
The 10 commandments of an agile tester in a legacy world
The 10 commandments of an agile tester in a legacy worldThe 10 commandments of an agile tester in a legacy world
The 10 commandments of an agile tester in a legacy world
 
How to get Automated Testing "Done"
How to get Automated Testing "Done"How to get Automated Testing "Done"
How to get Automated Testing "Done"
 
Software Release Orchestration and the Enterprise
Software Release Orchestration and the EnterpriseSoftware Release Orchestration and the Enterprise
Software Release Orchestration and the Enterprise
 
Niels Malotaux - Help We Have a QA Problem!
Niels Malotaux -  Help We Have a QA Problem!Niels Malotaux -  Help We Have a QA Problem!
Niels Malotaux - Help We Have a QA Problem!
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
 
Agile testing
Agile testingAgile testing
Agile testing
 
Shift left as first transformation step into Quality Assurance
Shift left as first transformation step into Quality AssuranceShift left as first transformation step into Quality Assurance
Shift left as first transformation step into Quality Assurance
 
Agile Test Automation: Truth, Oxymoron or Lie?
Agile Test Automation: Truth, Oxymoron or Lie?Agile Test Automation: Truth, Oxymoron or Lie?
Agile Test Automation: Truth, Oxymoron or Lie?
 
A Journey from DevOps to DevTestOps: Infusing Continuous Quality
A Journey from DevOps to DevTestOps: Infusing Continuous QualityA Journey from DevOps to DevTestOps: Infusing Continuous Quality
A Journey from DevOps to DevTestOps: Infusing Continuous Quality
 
Testing and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons LearnedTesting and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons Learned
 
New model
New modelNew model
New model
 
QA in Digitalized World Kari Kakkonen WCSQ
QA in Digitalized World Kari Kakkonen WCSQQA in Digitalized World Kari Kakkonen WCSQ
QA in Digitalized World Kari Kakkonen WCSQ
 
Webinar: DevOps challenges facing QA
Webinar: DevOps challenges facing QAWebinar: DevOps challenges facing QA
Webinar: DevOps challenges facing QA
 
Risk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
Risk Mitigation Using Exploratory and Technical Testing | QASymphony WebinarRisk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
Risk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
 

Similar to Quality in Project Management

Adopting Agile
Adopting AgileAdopting Agile
Adopting AgileCoverity
 
Kanban testing
Kanban testingKanban testing
Kanban testingCprime
 
Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle Kari Kakkonen
 
Agile testing
Agile testingAgile testing
Agile testingJoe Phan
 
How BDD enables True CI/CD
How BDD enables True CI/CDHow BDD enables True CI/CD
How BDD enables True CI/CDRoger Turnau
 
Agile Overview Session
Agile Overview SessionAgile Overview Session
Agile Overview SessionBahaa Farouk
 
Technical Excellence Doesn't Just Happen - AgileIndy 2016
Technical Excellence Doesn't Just Happen - AgileIndy 2016Technical Excellence Doesn't Just Happen - AgileIndy 2016
Technical Excellence Doesn't Just Happen - AgileIndy 2016Allison Pollard
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycleDiUS
 
How to get the most from your E-Business Suite Developers
How to get the most from your E-Business Suite DevelopersHow to get the most from your E-Business Suite Developers
How to get the most from your E-Business Suite DevelopersAXIA Consulting Inc.
 
Prashant technical practices-tdd for xebia event
Prashant   technical practices-tdd for xebia eventPrashant   technical practices-tdd for xebia event
Prashant technical practices-tdd for xebia eventXebia India
 
Scrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful deliveryScrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful deliveryNaveen Kumar Singh
 
Why Your Next QA Job Might Be in Ops
Why Your Next QA Job Might Be in OpsWhy Your Next QA Job Might Be in Ops
Why Your Next QA Job Might Be in OpsEdward Rousseau
 
Conquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOpsConquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOpsPerforce
 
Infrastructure as code with test approach
Infrastructure as code with test approachInfrastructure as code with test approach
Infrastructure as code with test approachEnrique Carbonell
 

Similar to Quality in Project Management (20)

Adopting Agile
Adopting AgileAdopting Agile
Adopting Agile
 
Kku2011
Kku2011Kku2011
Kku2011
 
Kanban testing
Kanban testingKanban testing
Kanban testing
 
Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle
 
Agile engineering practices
Agile engineering practicesAgile engineering practices
Agile engineering practices
 
Agile testing
Agile testingAgile testing
Agile testing
 
How BDD enables True CI/CD
How BDD enables True CI/CDHow BDD enables True CI/CD
How BDD enables True CI/CD
 
Agile Overview Session
Agile Overview SessionAgile Overview Session
Agile Overview Session
 
Key items for a digital enterprise
Key items for a digital enterpriseKey items for a digital enterprise
Key items for a digital enterprise
 
Technical Excellence Doesn't Just Happen - AgileIndy 2016
Technical Excellence Doesn't Just Happen - AgileIndy 2016Technical Excellence Doesn't Just Happen - AgileIndy 2016
Technical Excellence Doesn't Just Happen - AgileIndy 2016
 
MagSlideDeck_17_External_v1.0
MagSlideDeck_17_External_v1.0MagSlideDeck_17_External_v1.0
MagSlideDeck_17_External_v1.0
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycle
 
Methodology: IT test
Methodology: IT testMethodology: IT test
Methodology: IT test
 
How to get the most from your E-Business Suite Developers
How to get the most from your E-Business Suite DevelopersHow to get the most from your E-Business Suite Developers
How to get the most from your E-Business Suite Developers
 
QM in Software Projects
QM in Software ProjectsQM in Software Projects
QM in Software Projects
 
Prashant technical practices-tdd for xebia event
Prashant   technical practices-tdd for xebia eventPrashant   technical practices-tdd for xebia event
Prashant technical practices-tdd for xebia event
 
Scrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful deliveryScrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful delivery
 
Why Your Next QA Job Might Be in Ops
Why Your Next QA Job Might Be in OpsWhy Your Next QA Job Might Be in Ops
Why Your Next QA Job Might Be in Ops
 
Conquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOpsConquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOps
 
Infrastructure as code with test approach
Infrastructure as code with test approachInfrastructure as code with test approach
Infrastructure as code with test approach
 

Recently uploaded

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 

Recently uploaded (20)

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 

Quality in Project Management

  • 1. APROJECT MANAGER’S SURVIVAL GUIDE Daniel Aragao Theresa Neate 1 QUALITY IN SOFTWARE EDITION
  • 2. DISCLAIMER This lecture aims to give future Project Managers an insight into relevant thoughts, tools, practices, techniques and useful ideas on how produce good quality bespoke software. This means that the product you’re helping create is software. So, picture yourself as a Project Manager working for Target on their new iPhone app project or at Netflix’s next generation website. Let’s get started! 2
  • 3. HERE’S WHAT WE’LL TRY TO COVER •Intro •Ways of working •Vague definitions •What to focus on •Design quality •Code quality •Security quality •So what do PMs do with respect to quality? •Anti-patterns 3
  • 4. ABOUT US 4 Dan Aragao I’m an all rounder software guy, Agile project manager and developer. Currently the Lead Architect at Australia’s largest digital business, REA Group - aka realestate.com.au Theresa Neate I love all things software quality, especially proactive QA. Currently the Lead QA & Developer Advocate at Australia’s largest digital business, REA Group - aka realestate.com.au
  • 5. WAYS OF WORKING or why Taylor and Fayol ruined it for us 5
  • 6. WHAT ARE YOU BUILDING? 6
  • 7. WHAT ARE YOU BUILDING? 7
  • 9. BUILDING BESPOKE SOFTWARE INCREMENTALLY 9
  • 10. BUILDING BESPOKE SOFTWARE ITERATIVELY 10
  • 11. SLICING THE WORK IN BETTER WAYS •Deliver the bare minimum value 11
  • 13. WHAT'S THE ORG STRUCTURE? 13
  • 14. WHAT'S THE COMMS STRUCTURE? 14
  • 15. WHAT'S THE COMMS STRUCTURE? 15
  • 16. WHAT GAME ARE YOU PLAYING? 16
  • 17. VAGUE DEFINITIONS or, an argument about why quality to me is different than quality to you 17
  • 18. DO WE HAVE ANY DEFINITIONS? •There is no catch-all definition •It’s OK because we believe that there are no best practices to follow; only good ideas to leverage •Things vary by context •(Tell us examples) 18
  • 19. SOME VAGUE DEFINITIONS (TELL US EXAMPLES) •Lack of defects ( bugs )… but wait, every piece of software has bugs •Available •Responsive •Maintainable •Cost effective •Functional •Attractive and easy to use •Beautiful, performant code •Secure 19
  • 20. QUALITYATTRIBUTES TAXONOMY Still not clear… Consider a system failure due to a denial-of- service attack. Is it an aspect of availability, performance, security, or usability? 20
  • 21. WHATTO FOCUS ON because you cannot address all quality attributes 21
  • 22. STRUCTURE YOUR OWN QUESTIONS ON QUALITY 22 cost time quality
  • 23. WHAT REALLY MATTERS •Is there a standard to follow? (CMMI, ISO, PMBOK, PRINCE, etc) •Who builds quality? •How measure and track quality? •How much does quality cost and how much should be invested? •When to start focusing on quality? •What details should be written down on a contract? •How does quality differ from value? •Do all software delivery approaches address quality? 23
  • 24. WHAT REALLY MATTERS •How does risk relate to quality? •Do I need specialised people? •Isn’t testing enough? •How can I “detect” poor quality in software? •How do I know I’ve done enough? •Does our way of working hinder or foster quality? 24
  • 29. EXPECTATION MANAGEMENT •Change and objection management •Transparency •Conflict and compromise •Influencing - creating desire and avoiding rejection •Tools to do it • Rapid prototyping • Pairing and collaborative development • User testing - Steve Krug’s style 29
  • 30. EXPECTATION MANAGEMENT •When in doubt talk to the team about the best way to do it or ask for help •Poka-yoke - safe designs 30
  • 31. CODE QUALITY all the stuff that’s hard to see 31
  • 32. WHAT TO TEST? 32 •Usability - crazyegg, hotlog, eye tracking glasses •Performance - pingdom •Team happiness •Unit, integration, functional tests •Test Coverage
  • 33. TESTING CODE - CUPCAKE STYLE 33
  • 34. TESTING CODE - PYRAMID STYLE 34
  • 35. WHICH INTERNAL QUALITY METRICS TO MEASURE? 35 •Cyclomatic Complexity •Duplication •Fan-in, fan-out •Dependency hell •Size
  • 36. HOW TO SEE INTERNAL QUALITY? 36 Visualisation (TreeMap)
  • 38. 38
  • 40. WHAT IS MORE IMPORTANT? •Invest in a testing phase pre-launch to ensure no bugs get out or •Invest in a release pipeline that allows pushing code to production whenever needed 40
  • 41. SECURITY QUALITY what if … kaboom! 41
  • 42. THINGS TO THINK OF •Why care? Think of what happened with Code Spaces •or Knight Capital - $440m in 45 mins •Penetration testing - don’t assume Developers know what they are doing all the time •Integrity, availability and confidentiality •Disaster recovery and business continuity - now! •Things fail, don’t be optimistic, build for failure •OAIC NDB starts 22 Feb 2018 42
  • 43. THINGS TO THINK OF •Plan for incidents, know how to communicate 43
  • 44. SOME INTERESTING TOOLS 44 Bees with Machine Guns
  • 45. SO WHAT DO PM’S DO WITH RESPECT TO QUALITY or should do 45
  • 46. THINGS PROJECT MANAGERS DO •Continuously plan a quality plan that matches the purpose • Have metrics and data •Ensure fast feedback loops exist and invest to make them faster •Create teams around slices instead of silos - Conway’s law •Delegate quality to the team and make them accountable 46
  • 47. THINGS PROJECT MANAGERS DO •Assess team’s ability drive the quality needed and request help as needed • Consultants • Training • Meetups •Less is more, aim to do just enough and no more. The only way to introduce bugs is by writing code 47
  • 48. THINGS PROJECT MANAGERS DO •Think past project delivery •Encourage/prefer Devops, team managed infrastructure and data •Aim for no-handovers •Think about security, plan for being attacked •Have a disaster recovery plan and exercise it •Understand your testing pyramid and make it look the way it should 48
  • 49. THINGS PROJECT MANAGERS DO •Invest in knowledge sharing, because in software, negative productivity is real •Invest in tools that bring visibility and foster discussions on the results. i.e. Structure 101 •Encourage the use of static code analysis tools. i.e. simian, rubocop, checkstyle, lint •Create a healthy balance between different quality perspectives •Invest in automation and Continuous Integration and Delivery from day zero - Travis CI, BuildKite, Go CD, etc 49
  • 51. FOOD FOR THOUGHT You’ve just started a new job as a PM you’ll need to extend an existing legacy system. What questions would you ask your team to ensure you’ll build quality in? 51
  • 53. 53 TRY NOT TO DO THESE THINGS 53 • Tolerate no or long feedback cycles • Delay integration • Isolate team from end-users • Hide internal quality, progress and problems • Assess quality based exclusively on functionality • Organise team and work around functional silos or architecture pieces • Code without source control
  • 54. 54 TRY NOT TO DO THESE THINGS 54 •Little care about people’s happiness, aspirations and ambitions •Trying to produce by adding more people without accounting for communication costs •Allowing people to burn out
  • 55. D a n i e l s a y s : THANK YOU & QUESTIONS?? dan.aragao@rea-group.com theresaneate.com REA Graduate Programme http://careers.realestate.com.au/graduate-programme