building software: the right way

Post on 28-Jul-2015

45 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

For questions or suggestions:

Clayton Nyakana cnyakana@thoughtworks.com

THANK YOU

top related