building software: the right way

28
Clayton Nyakana BUILDING SOFTWARE THE RIGHT WAY Clayton Nyakana

Upload: clayton-nyakana

Post on 28-Jul-2015

45 views

Category:

Software


0 download

TRANSCRIPT

Page 1: 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

Page 2: Building Software: The Right Way

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

WHAT IS “RIGHT”?

3

Page 4: Building Software: The Right Way

So, who is

responsible for

Quality?4

Page 5: Building Software: The Right Way

WHO IS RESPONSIBLE?

5

Page 6: Building Software: The Right Way

WHO IS RESPONSIBLE?

You and Everyone involved in building

the product

6

Page 7: Building Software: The Right Way

WHO IS RESPONSIBLE?

So, why do we have Quality

Analysts?

7

Page 8: Building Software: The Right Way

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

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

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

HOW TO CONTINUOUSLY ENSURE QUALITY?

11

Page 12: Building Software: The Right Way

A DAY IN THE LIFE OF A Q.A

12

Page 13: Building Software: The Right Way

CARD WALL

13

Page 14: Building Software: The Right Way

STORY REVIEW AND ACCEPTANCE CRITERIA

14

Page 15: Building Software: The Right Way

STORY KICK-OFF

15

Page 16: Building Software: The Right Way

DEVELOPER IMPLEMENTATION

16

Page 17: Building Software: The Right Way

DEVELOPER IMPLEMENTS

17

Page 18: Building Software: The Right Way

MID-STORY DEMO

18

Page 19: Building Software: The Right Way

EXPLORATORY TESTING

19

Page 20: Building Software: The Right Way

TEST INFRASTRUCTURE

20

Page 21: Building Software: The Right Way

SHOWCASE

21

Page 22: Building Software: The Right Way

22

Page 23: Building Software: The Right Way

BEST PRACTICES

23

Page 24: Building Software: The Right Way

WHERE YOU CAN START FROM?

▫︎Communication (Asking the important Questions and facilitating information sharing)

24

Page 25: Building Software: The Right Way

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

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

WHERE YOU CAN START FROM?

▫︎Usability

▫︎Usability is the ease of use and learnability of a human-made object.

27

Page 28: Building Software: The Right Way

For questions or suggestions:

Clayton Nyakana [email protected]

THANK YOU