Building Software: The Right Way
-
Upload
clayton-nyakana -
Category
Software
-
view
48 -
download
0
Transcript of Building Software: The Right Way
![Page 1: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/1.jpg)
C l a y t o n N y a k a n a
BUILDING SOFTWARE THE RIGHT WAY
Clayton Nyakana
![Page 2: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/2.jpg)
WHAT IS “RIGHT”?
▫︎Client: A product that will make money for them or simplify their lives.
▫︎PM: A product delivered within the planned budget and meets all the requirements.
▫︎Developer: A product whose code is extensible and maintainable.
▫︎Designer: A product that looks good.
▫︎ End User: A simple/easy to use product that is compatible with their devices.
▫︎Blind User: A product that can be used with a braille terminal.
▫︎Competitor: A product with less features2
![Page 3: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/3.jpg)
WHAT IS “RIGHT”?
3
![Page 4: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/4.jpg)
So, who is
responsible for
Quality?4
![Page 5: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/5.jpg)
WHO IS RESPONSIBLE?
5
![Page 6: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/6.jpg)
WHO IS RESPONSIBLE?
You and Everyone involved in building
the product
6
![Page 7: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/7.jpg)
WHO IS RESPONSIBLE?
So, why do we have Quality
Analysts?
7
![Page 8: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/8.jpg)
WHO ARE Q.A’S?
A software quality analyst is responsible for applying the principles and practices of software quality assurance
throughout the software development life cycle. Though often referred to as "quality assurance", software testing is considered to be only one part of the larger process of
reducing errors. Testing is used to detect errors in a product; software quality assurance also fixes the
processes that resulted in those errors.
-Wikipedia
8
![Page 9: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/9.jpg)
WHAT DO THEY DO?
▫︎ They promote Quality to all stakeholders at all times
▫︎ Promote best practices and ensure that they are followed
▫︎ Share knowledge
▫︎Challenge the different activities on a project
▫︎ Identify threats on the project 9
![Page 10: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/10.jpg)
WHY DO WE NEED THEM?
▫︎ Time/Team size constraints
▫︎ Lack of Q.A knowledge/information
▫︎ Lack of experience
▫︎Oversight/ neglect
▫︎Bad habits
10
![Page 11: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/11.jpg)
HOW TO CONTINUOUSLY ENSURE QUALITY?
11
![Page 12: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/12.jpg)
A DAY IN THE LIFE OF A Q.A
12
![Page 13: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/13.jpg)
CARD WALL
13
![Page 14: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/14.jpg)
STORY REVIEW AND ACCEPTANCE CRITERIA
14
![Page 15: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/15.jpg)
STORY KICK-OFF
15
![Page 16: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/16.jpg)
DEVELOPER IMPLEMENTATION
16
![Page 17: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/17.jpg)
DEVELOPER IMPLEMENTS
17
![Page 18: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/18.jpg)
MID-STORY DEMO
18
![Page 19: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/19.jpg)
EXPLORATORY TESTING
19
![Page 20: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/20.jpg)
TEST INFRASTRUCTURE
20
![Page 21: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/21.jpg)
SHOWCASE
21
![Page 22: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/22.jpg)
22
![Page 23: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/23.jpg)
BEST PRACTICES
23
![Page 24: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/24.jpg)
WHERE YOU CAN START FROM?
▫︎Communication (Asking the important Questions and facilitating information sharing)
24
![Page 25: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/25.jpg)
WHERE YOU CAN START FROM?
▫︎ Fast feedback infrastructure (Build a C.I server) ▫︎Continuous integration (CI) is the practice, in software
engineering, of merging all developer working copies with a shared mainline several times a day.
▫︎Examples Include: Jenkins, Travis, SnapCI
25
![Page 26: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/26.jpg)
WHERE YOU CAN START FROM?
▫︎Non Functional Requirements
▫︎A non-functional requirement is a requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviours
▫︎ Examples; Performance, Security, Reliability, Accessibility
26
![Page 27: Building Software: The Right Way](https://reader030.fdocuments.net/reader030/viewer/2022032618/55b6e543bb61eb6e688b45a9/html5/thumbnails/27.jpg)
WHERE YOU CAN START FROM?
▫︎Usability
▫︎Usability is the ease of use and learnability of a human-made object.
27