Building Software: The Right Way
-
Upload
clayton-nyakana -
Category
Software
-
view
42 -
download
0
Transcript of Building Software: The Right Way
C l a y t o n N y a k a n a
BUILDING SOFTWARE THE RIGHT WAY
Clayton Nyakana
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
WHAT IS “RIGHT”?
3
So, who is
responsible for
Quality?4
WHO IS RESPONSIBLE?
5
WHO IS RESPONSIBLE?
You and Everyone involved in building
the product
6
WHO IS RESPONSIBLE?
So, why do we have Quality
Analysts?
7
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
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
WHY DO WE NEED THEM?
▫︎ Time/Team size constraints
▫︎ Lack of Q.A knowledge/information
▫︎ Lack of experience
▫︎Oversight/ neglect
▫︎Bad habits
10
HOW TO CONTINUOUSLY ENSURE QUALITY?
11
A DAY IN THE LIFE OF A Q.A
12
CARD WALL
13
STORY REVIEW AND ACCEPTANCE CRITERIA
14
STORY KICK-OFF
15
DEVELOPER IMPLEMENTATION
16
DEVELOPER IMPLEMENTS
17
MID-STORY DEMO
18
EXPLORATORY TESTING
19
TEST INFRASTRUCTURE
20
SHOWCASE
21
22
BEST PRACTICES
23
WHERE YOU CAN START FROM?
▫︎Communication (Asking the important Questions and facilitating information sharing)
24
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
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
WHERE YOU CAN START FROM?
▫︎Usability
▫︎Usability is the ease of use and learnability of a human-made object.
27