Quality problems related to agile methods / scalability.

Post on 22-Nov-2014

1.088 views 2 download

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.

1 of 20

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

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.)

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.)

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.)

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…

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.)

8 of 20

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

Non-Functional Requirements (nFR) example

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

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

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

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…

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…

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…

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.)

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:

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?

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.)

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.

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