Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software...

29
Yaron Tsubery Website: www.dSmartest.com Email: [email protected] Mobile: +972 52 8549255 Smartest technologies Ltd. Providing the SMART solutions to your deliveries Daily Dilemmas in Agile Projects SIGiST Israel Event 5 th May 2010 16 May 2010 1 Smartest Technologies (c) 2010

Transcript of Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software...

Page 1: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

Yaron Tsubery

Website: www.dSmartest.comEmail: [email protected]

Mobile: +972 52 8549255

Smartest technologies Ltd.Providing the SMART solutions to your deliveries

Daily Dilemmas in Agile ProjectsSIGiST Israel Event

5th May 2010

16 May 2010 1Smartest Technologies (c) 2010

Page 2: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

Introduction

Presentation’s objectives

What is Agile?

Why do we have dilemmas?

The simplified process – AC/DC

Questions and Dilemmas

Summary

Page 3: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

Introduction

Yaron Tsubery

Married and having 3 children

More then 18 years experience in Software Development and Testing,

Managing testing groups and projects deployed to customers located in Israel, USA, Europe, and Fareast countries and...

Director QA & Testing, Comverse,

President of ITCB (Israeli Testing Certification Board) and a formal member in ISTQB,

President of ISTQB (International Software Testing Qualifications Board).

16 May 2010 3Smartest Technologies (c) 2010

Page 4: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

Introduction

Presentation’s objectives

What is Agile?

Why do we have dilemmas?

The simplified process – AC/DC

Questions and Dilemmas

Summary

Page 5: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

Presentation’s Objectives

Share with you dilemmas that we had in Agile projects,

Stimulate your mind on this subject,

Show some benefits you can gain from.

16 May 2010 5Smartest Technologies (c) 2010

Page 6: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

Introduction

Presentation’s objectives

What is Agile?

Why do we have dilemmas?

The simplified process – AC/DC

Questions and Dilemmas

Summary

Page 7: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

Agile Software Development

Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams. The term was coined in the year 2001 when the Agile Manifesto was formulated.

Agile methods generally promote a disciplined project management process that encourages frequent inspection and adaptation, a leadership philosophy that encourages teamwork, self-organization and accountability, a set of engineering best practices intended to allow for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals.

And in Hebrew?

16 May 2010 7Smartest Technologies (c) 2010

Page 8: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

Agile Manifesto

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

(http://agilemanifesto.org/)

(http://agilemanifesto.org/principles.html)

16 May 2010 8Smartest Technologies (c) 2010

Page 9: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

Introduction

Presentation’s objectives

What is Agile?

Why do we have dilemmas?

The simplified process – AC/DC

Questions and Dilemmas

Summary

Page 10: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

Why Do We Have Dilemmas?

Maybe because…

The whole Agile concept is new to us

We’re used to other methods and implementations

We’re implementing it already and we have questions with no direct answer in the method

We have a dynamic project atmosphere

We didn’t follow exactly the method

We’re testers – that is why we are questioning everything (-:

16 May 2010 10Smartest Technologies (c) 2010

Page 11: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

Introduction

Presentation’s objectives

What is Agile?

Why do we have dilemmas?

The simplified process – AC/DC

Questions and Dilemmas

Summary

Page 12: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

The Simplified Process – AC/DC

Analyze

Consider and Communicate

Decide

Control

…Because you maybe you as well want to sleep like a baby…

16 May 2010 12Smartest Technologies (c) 2010

Page 13: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

AC/DC

AnalyzeGo over the method you’re implementing and try to locate

the answer there

Consider and Communicate Prepare list of key points for consideration: process,

management, customer, project interfaces etc’

Advise with: peers, managers, other groups in the company, Agile colleagues (forums)

Decide Using the analysis you ,made and the results of your

communication

Control Control and maintain the solution

Improve where needed

16 May 2010 13Smartest Technologies (c) 2010

Page 14: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

Introduction

Presentation’s objectives

What is Agile?

Why do we have dilemmas?

The simplified process – AC/DC

Questions and Dilemmas

Summary

Page 15: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

Questions

16 May 2010 15Smartest Technologies (c) 2010

Page 16: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

Tradition or Agile?

Should we defend the traditional methods or should we move to Agile ones?

Are you facing this dilemma?

Is it fit with to the declaration stated in the Agile Manifesto?

Have you decided alone OR were you a part of a team that joined OR were you forced to join the Agile team?

Did you checked how is it done with a perspective to your interfaces: developers, project managers etc’?

What have you done at a challenged situation as this?

16 May 2010 16Smartest Technologies (c) 2010

Page 17: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

Is It A Real Agile Project?

Is the project defined as an Agile one?

Are we working in a unified team? Are we equal?

Who has the source of knowledge?

Which Agile method/s is/are implemented?

Are we forced or agreed to work in the project?

Are we doing it just to say that we do that…

…OR because our manager asked from us

…OR because we believe in it?

…Do you want to question more this situation?

16 May 2010 17Smartest Technologies (c) 2010

Page 18: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

Dilemmas

16 May 2010 18Smartest Technologies (c) 2010

Page 19: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

Dilemmas

Should I report on defects while I’m testing with the developers?

Do we need regression tests if we already performed the tests with the developers?

The project manager is asking to test a daily build, is it Agile?

Formal vs. un-formal build…

16 May 2010 19Smartest Technologies (c) 2010

Page 20: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

More Dilemmas

Test automation, is it Agile?

We have a monthly Sprint and the project manager asks to divide to 2 cycles of 2 weeks each…

How to measure and which measurements to use?

What about non-functional tests?

How to implement Agile within distributed groups?

16 May 2010 20Smartest Technologies (c) 2010

Page 21: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

Let’s Try The AC/DC...

Should I report on defects while I’m testing with the developers?

AnalyzeWe’re using SCRUM which define that we can report

Consider and CommunicateWe wanted to keep the good cooperation between teams

We discussed with some colleagues and with our peers

DecideWe decided not to report

Control BUT Then, while controlling, we changed to manage

defects by an internal excel file in early builds

In major builds we reported defects using the tool

16 May 2010 21Smartest Technologies (c) 2010

Page 22: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

Let’s Try The AC/DC...

What about non-functional tests?

Analyze We’re using SCRUM which not define that precisely

Consider and Communicate We prepared a list of risks if we’ll not perform non-functional or if

we’ll not perform the risky parts of it

We discussed with some colleagues, our peers and managers at the team

Decide We decided to test just the risky areas in major releases

While certifying new HW in the systems, we performed only sanity

Control We measured problems from customers

We decided to add more regression while certifying new HW in these systems

16 May 2010 22Smartest Technologies (c) 2010

Page 23: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

Let’s Try The AC/DC...

How to implement Agile within distributed groups?

This case is much more complex and requires

more than few minutes to talk about… (-:

16 May 2010 23Smartest Technologies (c) 2010

Page 24: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

More Dilemmas

16 May 2010 24Smartest Technologies (c) 2010

Page 25: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

Introduction

Presentation’s objectives

What is Agile?

Why do we have dilemmas?

The simplified process – AC/DC

Questions and Dilemmas

Summary

Page 26: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

Summary

It is important to understand if we implement Agile in our company – or just declare that…

It is important to understand which Agile method are we implementing and how much we cover this method

In a case we’re a big company, it is important to understand if we implement the same method/s in all of our groups… efficiency or unity…

The world is progressing fast all the time, and we should find what is the best for us to do in order to continue achieving our missions and goals!

16 May 2010 26Smartest Technologies (c) 2010

Page 27: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

16 May 2010 27Smartest Technologies (c) 2010

Page 28: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

16 May 2010 28Smartest Technologies (c) 2010

Page 29: Smartest technologies Ltd.legacy17.sela.co.il/...In_Agile_Projects_05-2010.pdf · Agile Software Development Agile software development refers to a group of software development methodologies

29

Yaron Tsubery:

[email protected]

Mobile: +972 52 8549255