managing agile software development projects

35
UNIVERSITY OF ZAGREB FACULTY OF ORGANIZATION AND INFORMATICS VARAŽDIN MANAGING AGILE SOFTWARE DEVELOPMENT PROJECTS: BEST PRACTICES AND PROJECT MANAGEMENT TOOLS MASTER THESIS Mentor: Ph.D. Ruben Picek, assistant professor Student: Martina Šimičić ID Number: 38805/09-R Information and Software Engineering Graduate Study Varaždin, Rujan 2011.

Upload: martina-simicic

Post on 08-May-2015

3.738 views

Category:

Technology


11 download

DESCRIPTION

MANAGING AGILE SOFTWARE DEVELOPMENT PROJECTS: BEST PRACTICES AND PROJECT MANAGEMENT TOOLS 

TRANSCRIPT

Page 1: Managing Agile Software Development Projects

UNIVERSITY OF ZAGREB

FACULTY OF ORGANIZATION AND INFORMATICS

VARAŽDIN

MANAGING AGILE SOFTWARE DEVELOPMENT

PROJECTS: BEST PRACTICES AND PROJECT

MANAGEMENT TOOLS

MASTER THESIS

Mentor:

Ph.D. Ruben Picek, assistant professor

Student:

Martina Šimičić

ID Number: 38805/09-R

Information and Software Engineering

Graduate Study

Varaždin, Rujan 2011.

Page 2: Managing Agile Software Development Projects

Contents

1. Introduction

2. Project management

3. Software development methodologies 1. Traditional

2. Agile 1. Extreme programming

2. Scrum

4. Tools for Agile Software Development

5. Analysis of Agile software development projects 1. POS project

2. Invoicing project

3. Educational software project

6. Conclusion

7. Literature

Page 3: Managing Agile Software Development Projects

Introduction

The fastest and the most efficient way of

developing software?

Deliver software on budget, on time,

satisfy customer, allocate resources?

Traditional or Agile Methodology?

Project management tool?

Page 4: Managing Agile Software Development Projects

Project management

Project team

Executive sponsor

Project Director

Steering Committee

Customers

Stakeholders

Key Stakeholders Vendors

Page 5: Managing Agile Software Development Projects

Software development

methodologies

According to Sommerville [ (5), page 13]

there are three key challenges facing

software engineering nowadays:

The heterogeneity challenge

The delivery challenge

The trust challenge

(5) Sommerville, Ian. Software engineering - 8th edition. s.l. : Addison Wesley, June 4, 2006.

Page 6: Managing Agile Software Development Projects

Software development

methodologies - Traditional

According to Awad [ (7), page 6] there are

four main characteristics of heavyweight

methodologies:

Predictive approach

Comprehensive documentation

Process oriented

Tool oriented

(7) Awad, Mohamed. Comparison between Agile and Traditional Software Development

Methodologies. [Online] [Cited: 25 February 2011.]

http://pds10.egloos.com/pds/200808/13/85/A_comparision_between_Agile_and_Traditional_SW

_development_methodologies.pdf.

Page 7: Managing Agile Software Development Projects

Software development

methodologies - Agile

Agile methodologies are introduced by four

basic values [ (10)]:

Individuals and interactions over processes and tools

Working software over comprehensive

documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

(10) Agile values. Agile manifesto official web page. [Online] [Cited: 2 March 2011.]

http://agilemanifesto.org/.

Page 8: Managing Agile Software Development Projects

Software development

methodologies - Agile Agile process

Modularity

Iterative

Time-Bound

Parsimony

Adaptive Incremental

Convergent

People-Oriented

Collaborative

Granville, Miller G. The Characteristics of Agile Software Processes. [Online] [Cited: 2 March 2011.]

http://faculty.salisbury.edu/~xswang/Research/Papers/SERelated/Agile/12510385.pdf.

Page 9: Managing Agile Software Development Projects

Extreme programming - XP

Values

Principles

Best practices

Page 10: Managing Agile Software Development Projects

Extreme programming - XP

Roles

On-site customers

Product Owner

Domain experts

Business analysts

Technical specialists

Interactions designers

Programmers

Designer and

architects

Testers

Stakeholders

Coaches

Page 11: Managing Agile Software Development Projects

Extreme programming - XP

Concepts and best practices:

Test Driven Development

Refactoring

Timeboxing

The Last Responsible Moment

Technical Debt

Stories

Iterations

Velocity

Theory of Constraints

Mindfulness

Page 12: Managing Agile Software Development Projects

Scrum

Values and principles

Empiricism

Emergence

Timeboxing

Prioritization

Self-organization

Page 13: Managing Agile Software Development Projects

Scrum

Roles

Product Owner

Scrum Master

Project team

Smaller teams

For bigger - Scrum

of Scrums

(17) Waters, Kelly. Using Scrum on Larger Projects: "Scrum of Scrums". [Online] [Cited: 22

February 2011.] http://www.allaboutagile.com/using-scrum-on-larger-projects-scrum-of-

scrums/.

Page 14: Managing Agile Software Development Projects

Scrum

(18) Eclipse. Eclipse organization. [Online] [Cited: 22 February 2011.]

http://epf.eclipse.org/wikis/scrumpt/Scrum/guidances/supportingmaterials/resources/ScrumLarge

Labelled.png

Page 15: Managing Agile Software Development Projects

Tools for Agile Software

Development

PivotalTracker Team Foundation Server VersionOne

The Exia Process Acunote BrixHQ

Target Process Mingle BannanaScrum

Page 16: Managing Agile Software Development Projects

Tools for Agile Software

Development

Evaluation model:

Basic description

Team collaboration and source code

management

Tool configuration

Reporting and documentation

Specific product characteristics

Results

Page 17: Managing Agile Software Development Projects

Analysis of Agile software

development projects – POS project

4 persons project team + 1

Desktop application

Visual Basic

Visual Studio Team Foundation Server

Page 18: Managing Agile Software Development Projects

Analysis of Agile software

development projects – POS project

Question 1:

Is it possible for the Product Owner to

be a Scrum Master at the same time?

Page 19: Managing Agile Software Development Projects

Analysis of Agile software

development projects – POS project

Question 2:

What does the one story point

actually indicate?

Page 20: Managing Agile Software Development Projects

Analysis of Agile software

development projects – POS project

Question 3:

Is it possible to add user stories during

the sprint?

Page 21: Managing Agile Software Development Projects

Analysis of Agile software

development projects – POS project

Question 4:

What can POS project team do to get

higher results?

Page 22: Managing Agile Software Development Projects

Analysis of Agile software development

projects – Invoicing project

3 persons project team + 1

Web application

Ruby on Rails

DokuWiki, email, TFS

Page 23: Managing Agile Software Development Projects

Analysis of Agile software development

projects – Invoicing project

Question 5:

Agile methodologies and new

technologies, how does it fit

together?

Page 24: Managing Agile Software Development Projects

Analysis of Agile software development

projects – Invoicing project

Question 6:

Is it possible that a Wiki system

replace an agile project

management tool?

Page 25: Managing Agile Software Development Projects

Analysis of Agile software development

projects – Invoicing project

Question 7:

Is it possible to practice Scrum

without planning poker game and

triangulation?

Page 26: Managing Agile Software Development Projects

Analysis of Agile software development

projects – Invoicing project

Question 8:

How far can the team go in agile

methodology adoption?

Page 27: Managing Agile Software Development Projects

Analysis of Agile software development

projects – Invoicing project

Question 9:

What can Invoice project team do

to get higher results?

Page 28: Managing Agile Software Development Projects

Analysis of Agile software development

projects – Educational software project

5 persons project team

Dislocated team (5h time-zone difference)

Web application

Ruby on Rails

PivotalTracker, DokuWiki

Page 29: Managing Agile Software Development Projects

Analysis of Agile software development

projects – Educational software project

Question 10:

Is it possible and is it needed to

perform daily meetings in

distributed project teams?

Page 30: Managing Agile Software Development Projects

Analysis of Agile software development

projects – Educational software project

Question 11:

How do the agile methodologies

respond to the needs of distributed

teams?

Page 31: Managing Agile Software Development Projects

Analysis of Agile software development

projects – Educational software project

Question 12:

What can Educational software

project team do to get higher

results?

Page 32: Managing Agile Software Development Projects

Conclusion

When starting agile, a methodology

should be chosen and all of the concepts

should be adopted

Coach, project management tool and wiki

system are desirable

Team communication is essential

Best tool

Page 33: Managing Agile Software Development Projects

Future work…

Agile documentation

Managing distributed systems

Transaction of knowledge between senior

and junior programmers

http://agile-only.com/

Page 34: Managing Agile Software Development Projects

Literature 1. The Standish Group. The Standish Group Report CHAOS. [Online] [Cited: 12 September 2011.] http://www.projectsmart.co.uk/docs/chaos-report.pdf.

2. —. CHAOS Report Press Release. The Standish Group. [Online] [Cited: 12 September 2011.] http://www1.standishgroup.com/newsroom/chaos_2009.php.

3. PMI, Project management institute. A Guide to the Project Management Body of Knowledge (PMBOK Guide)- 4th edition. s.l. : Project management institute, December 31, 2008.

4. Barry, Timothy R. Top 10 Qualities of a Project Manager. Project Smart. [Online] 2010. [Cited: 22 March 2011.] http://www.projectsmart.co.uk/top-10-qualities-project-manager.html.

5. Sommerville, Ian. Software engineering - 8th edition. s.l. : Addison Wesley, June 4, 2006.

6. Abran, Alain, et al. Guide to the Software Engineering Body of Knowledge (SWEBOK). s.l. : IEEE, 2004.

7. Awad, Mohamed. Comparison between Agile and Traditional Software Development Methodologies. [Online] [Cited: 25 February 2011.] http://pds10.egloos.com/pds/200808/13/85/A_comparision_between_Agile_and_Traditional_SW_development_methodologies.pdf.

8. IBM Rational Unified Process. Wikipedia, The Free Encyclopaedia. [Online] [Cited: 1 March 2011.] http://en.wikipedia.org/wiki/IBM_Rational_Unified_Process.

9. IBM Rational Unified Process (RUP). IBM Official Web Pages. [Online] [Cited: 1 March 2011.] http://www-01.ibm.com/software/awdtools/rup/.

10. Agile values. Agile manifesto official web page. [Online] [Cited: 2 March 2011.] http://agilemanifesto.org/.

11. Granville, Miller G. The Characteristics of Agile Software Processes. [Online] [Cited: 2 March 2011.] http://faculty.salisbury.edu/~xswang/Research/Papers/SERelated/Agile/12510385.pdf.

12. Rittenbruch, Markus, et al. Official web pages of Linkoping University. [Online] June 2002. [Cited: 25 February 2011.] http://www.ida.liu.se/~TDDD26/material/extremeparticipation.pdf.

13. Shore, James and Warden, Shane. The Art of Agile Development. s.l. : O'Reilly Media, Inc., 2008.

14. Bachan & Catherine. Essence of Scrum. Conscires Agile Practices. [Online] [Cited: 17 September 2011.] http://agile.conscires.com/2010/09/18/essence-of-scrum/.

15. Cohn, Mike. Mountain Goat Software. [Online] [Cited: 18 February 2011.] http://www.mountaingoatsoftware.com/topics/scrum.

16. Watts, Geoff. Scrum Alliance. [Online] 11 January 2010. http://www.scrumalliance.org/articles/321-getting-retrained-to-be-a-scrummaster.

17. Waters, Kelly. Using Scrum on Larger Projects: "Scrum of Scrums". [Online] [Cited: 22 February 2011.] http://www.allaboutagile.com/using-scrum-on-larger-projects-scrum-of-scrums/.

18. Eclipse. Eclipse organization. [Online] [Cited: 22 February 2011.] http://epf.eclipse.org/wikis/scrumpt/Scrum/guidances/supportingmaterials/resources/ScrumLargeLabelled.png.

19. Brothersoft. Brothersoft. [Online] [Cited: 22 February 2011.] http://img.brothersoft.com/screenshots/softimage/v/virtual_scrum_board-180890-1.jpeg.

20. InfoQ. InfoQ. [Online] [Cited: 22 February 2011.] http://www.infoq.com/resource/articles/agile-kanban-boards/en/resources/Fig1_task-board.jpg.

21. Scrum Alliance.org. Glossary of Scrum Terms. Scrum alliance. [Online] [Cited: 22 February 2011.] http://www.scrumalliance.org/articles/39-glossary-of-scrum-terms#1113.

22. Demeer, Peter and Benefield, Gabrielle. An introduction to Project Management with Scrum. Rally Dev. [Online] [Cited: 22 February 2011.] http://www.rallydev.com/documents/scrumprimer.pdf

23. Team Foundation Server. Microsoft Visual Studio. [Online] [Cited: 18 June 2011.] http://msdn.microsoft.com/en-us/vstudio/ff637362 .

24. Pivotal Tracker. Pivotal Tracker. [Online] [Cited: 18 June 2011.] http://www.pivotaltracker.com/.

Page 35: Managing Agile Software Development Projects

Literature 26. The Exia Process. The Exia Process. [Online] [Cited: 19 June 2011.] http://www.exiaprocess.com/.

27. Acunote. Acunote. [Online] [Cited: 19 June 2011.] http://www.acunote.com/promo.

28. Banana Scrum. Banana Scrum. [Online] [Cited: 19 June 2011.] http://www.bananascrum.com/.

29. ThoughtWorks. Mingle . [Online] [Cited: 19 June 2011.] http://www.thoughtworks-studios.com/mingle-agile-project-management.

30. BrixHQ. BrixHQ. [Online] [Cited: 19 June 2011.] http://www.brixhq.com/.

31. VersionOne. VersionOne. [Online] [Cited: 19 June 2011.] http://versionone.com/.

32. TargetProcess. TargetProcess. [Online] [Cited: 19 June 2011.] http://www.targetprocess.com/.

33. Finance portal of Portugal. Finance portal of Portugal. [Online] [Cited: 17 February 2011.] http://info.portaldasfinancas.gov.pt/pt/dgci/.

34. Lewison, Mark. Can Product Owner and Scrum Master be combined? InfoQ. [Online] [Cited: 24 February 2011.] http://www.infoq.com/news/2008/12/scrum-master-product-owner.

35. Nelson, Barbara. Scrum and the Product Owner. Pragmatic Marketing. [Online] [Cited: 24 February 2011.] http://www.pragmaticmarketing.com/resources/ask/scrum-and-the-product-owner.

36. Marchenko, Artem. Product Manager VS. Scrum Product Owner. Agile Software Development. [Online] [Cited: 24 February 2011.] http://agilesoftwaredevelopment.com/blog/artem/product-manager-vs-scrum-product-own.

37. FiscoLex. Portuguese collection of fiscal and trade data. FiscoLex. [Online] [Cited: 22 February 2011.] http://www.fiscolex.com.br/dest_18796967_NOVAS_REGRAS_IRPF_2011.aspx.

38. Milunsky, Jack. Switching user stories mid sprint. The Agile Buddy Blog. [Online] [Cited: 24 February 2011.] http://blog.agilebuddy.com/2009/07/switching-user-stories-mid-sprint.html.

39. Cohn, Mike. Succeeding with agile; Bugs on the product blog. Mountain Goat Software. [Online] [Cited: 24 February 2011.] http://blog.mountaingoatsoftware.com/tag/user-stories.

40. DokuWiki. DokuWiki. [Online] [Cited: 14 July 2011.] http://www.dokuwiki.org/dokuwiki.

41. Cockburn, Alistair. Agile Software Development Joins the "Would-be" Crowd. Agile Alliance. [Online] [Cited: 13 September 2011.] http://cf.agilealliance.org/articles/system/article/file/782/file.pdf.

42. Cleland, David I. and Ireland, Lewis R. Project management. strategic design and implementation- 5th edition. s.l. : The McGraw-Fill Companies Inc., 2007.

43. McMahon, Paul E. Bridging Agile & Traditional Development Methods: A Project Management Perspective. [Online] [Cited: 25 February 2011.] : http://www.sstc-online.org/proceedings/2004/PDFFiles/PEM972.pdf.

44. Viliet, Hans van. Software Engineering. Principles and Practice. s.l. : Wiley, 2007.

45. Scrum (development). Wikipedia The Free Encylopaedia. [Online] [Cited: 16 February 2011.] http://en.wikipedia.org/wiki/Scrum_(development).

46. Miller, Grancille G. The Characteristics of Agile Software Processes. Official pages of Alisbury university. [Online] [Cited: 18 5 2011.] http://faculty.salisbury.edu/~xswang/Research/Papers/SERelated/Agile/12510385.pdf.

47. Hazrati, Vikas. Slide Share. [Online] [Cited: 25 February 2011.] http://www.slideshare.net/nashjain/introduction-to-extreme-programming.

48. Microsoft. Microsoft MSDN. [Online] [Cited: 21 February 2011.] http://i.msdn.microsoft.com/dd347827.fig09_L(en-us).gif.

49. The Standish Group. The Standish Group Report. CHAOS. 1995.