Quality problems related to agile methods / scalability.

20
1 of 20

description

In this presentation we will see some problems with agile practices of quality assurance. Then we will focus on the particular problem of non-functional requirements. Finally we will refer to the quality problems that arise when using agile methods in large projects. Is assumed that these practices improve the quality of a software product. We will see that in any case there are problems in implementation, especially when scaling agile projects and take them to big projects distributed environments.

Transcript of Quality problems related to agile methods / scalability.

Page 1: Quality problems related to agile methods / scalability.

1 of 20

Page 2: Quality problems related to agile methods / scalability.

2 of 20

Agile practices can improve quality if they are implemented correctly

(Sfetsos, P., & Stamelos, I. (2010). Empirical Studies on Quality in Agile Practices: A Systematic Literature Review.)

Agile values

Page 3: Quality problems related to agile methods / scalability.

3 of 20

Lack of evidence to prove its effectiveness and successful implementation

(Timperi, O. (2004). An Overview of Quality Assurance Practices in Agile Methodologies.)

Page 4: Quality problems related to agile methods / scalability.

4 of 20

What quality characteristics are improved with each practice?

TDD

Pair Programming

Collective Ownership

Simple Design

User Stories

Refactoring

Inspections

Coding Standard

?

ISO 9126

(Mnkandla, E., & Dwolatzky, B. (2006). Defining Agile Software Quality Assurance.)

Page 5: Quality problems related to agile methods / scalability.

5 of 20

Focus on building the right product for the customer (instead of only build it properly)

(Timperi, O. (2004). An Overview of Quality Assurance Practices in Agile Methodologies.)

Page 6: Quality problems related to agile methods / scalability.

6 of 20

Testing is left mandatory but vague because its level and coverage are not instructed.

(Timperi, O. (2004). An Overview of Quality Assurance Practices in Agile Methodologies.)

Por último…

Page 7: Quality problems related to agile methods / scalability.

7 of 20

New role of QAIs help in business

definition, risk measurement,

know user needs and underlying architecture.

nFR ill-definedNext…

(Mnkandla, E., & Dwolatzky, B. (2006). Defining Agile Software Quality Assurance.)

Page 8: Quality problems related to agile methods / scalability.

8 of 20

As a Universidad ORT Uruguay student I want to come from my house to this Pechakucha.

Non-Functional Requirements (nFR) example

Page 9: Quality problems related to agile methods / scalability.

9 of 20

As a Universidad ORT Uruguay student I want to come quickly from my house to this Pechakucha.

Non-Functional Requirements (nFR) example

Page 10: Quality problems related to agile methods / scalability.

10 of 20

As a Universidad ORT Uruguay student I want to come quickly and economically from my house to this Pechakucha.

Non-Functional Requirements (nFR) example

Page 11: Quality problems related to agile methods / scalability.

11 of 20

As a Universidad ORT Uruguay student I want to come quickly, economically and safely from my house to this Pechakucha. My own car

Non-Functional Requirements (nFR) example

Page 12: Quality problems related to agile methods / scalability.

12 of 20

Stakeholders concentrate on software functionality (FR). Critical nFR are likely to be ill-defined and neglected.

(Um, T., Kim, N., Lee, D., & In, H. P. (2011). A Quality Attributes Evaluation Method for an Agile Approach.)

The problem is…

Page 13: Quality problems related to agile methods / scalability.

13 of 20

Developers accustomed to cascade assume that nFR are solved by architects and designers.

(Rachel Davies, Agile Experience Ltd, UK, Non-Functional Requirements: Do User Stories Really Help?)

Plus…

Page 14: Quality problems related to agile methods / scalability.

14 of 20

New approach is needed to improve non-functional aspects through quality attributes.

(Um, T., Kim, N., Lee, D., & In, H. P. (2011). A Quality Attributes Evaluation Method for an Agile Approach.)

Then…

Page 15: Quality problems related to agile methods / scalability.

15 of 20

Useful to manage FR and nFR at the same time (but some nFR traverse the entire project)

(Um, T., Kim, N., Lee, D., & In, H. P. (2011). A Quality Attributes Evaluation Method for an Agile Approach.)

Page 16: Quality problems related to agile methods / scalability.

16 of 20

Test that …- A blog post should be posted in less than 3 clicks.

- A blog post should be posted in less than 5 seconds.

As a blogger, I want to post an entry quickly and

efficiently to easily update the blog

The problem is that:

- The stories are designed to be completed

- Tunnel vision: when the team focuses on a story is easy to forget the RnF.

Example:

Page 17: Quality problems related to agile methods / scalability.

17 of 20

As a blogger, I want to post an entry quickly and

efficiently to easily update the blog

How to deal with those nFR

spanning all the stories?

Page 18: Quality problems related to agile methods / scalability.

18 of 20

Involving the customer is essential,

explaining the importance of

quality attributes.

(Leffingwell D. (2009). Scaling Software Agility. Agile Requirements Information Model. Online.)

Page 19: Quality problems related to agile methods / scalability.

As a blogger, I want to post an entry quickly and

efficiently to easily update the blog

User friendly

19 of 20

Efficient

As ablogger, I want to post an entry to update the blog

nFR filters Reminders

Assign responsibles for each quality attr.

Page 20: Quality problems related to agile methods / scalability.

20 of 20

New role, responsible for

QA to understand and

measure risk and assist in QA activities.

nFR ill-defined

Involving the customer is essential,

explaining the importance of

quality attributes.

General Issues Non-functional requirements

Stories quality filters.

Reminders

Assign responsibles for each quality attr.

Proposed solutions