managing agile software development projects

Post on 08-May-2015

3.738 Views

Category:

Technology

11 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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.

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

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?

Project management

Project team

Executive sponsor

Project Director

Steering Committee

Customers

Stakeholders

Key Stakeholders Vendors

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.

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.

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

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.

Extreme programming - XP

Values

Principles

Best practices

Extreme programming - XP

Roles

On-site customers

Product Owner

Domain experts

Business analysts

Technical specialists

Interactions designers

Programmers

Designer and

architects

Testers

Stakeholders

Coaches

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

Scrum

Values and principles

Empiricism

Emergence

Timeboxing

Prioritization

Self-organization

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

Scrum

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

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

Labelled.png

Tools for Agile Software

Development

PivotalTracker Team Foundation Server VersionOne

The Exia Process Acunote BrixHQ

Target Process Mingle BannanaScrum

Tools for Agile Software

Development

Evaluation model:

Basic description

Team collaboration and source code

management

Tool configuration

Reporting and documentation

Specific product characteristics

Results

Analysis of Agile software

development projects – POS project

4 persons project team + 1

Desktop application

Visual Basic

Visual Studio Team Foundation Server

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?

Analysis of Agile software

development projects – POS project

Question 2:

What does the one story point

actually indicate?

Analysis of Agile software

development projects – POS project

Question 3:

Is it possible to add user stories during

the sprint?

Analysis of Agile software

development projects – POS project

Question 4:

What can POS project team do to get

higher results?

Analysis of Agile software development

projects – Invoicing project

3 persons project team + 1

Web application

Ruby on Rails

DokuWiki, email, TFS

Analysis of Agile software development

projects – Invoicing project

Question 5:

Agile methodologies and new

technologies, how does it fit

together?

Analysis of Agile software development

projects – Invoicing project

Question 6:

Is it possible that a Wiki system

replace an agile project

management tool?

Analysis of Agile software development

projects – Invoicing project

Question 7:

Is it possible to practice Scrum

without planning poker game and

triangulation?

Analysis of Agile software development

projects – Invoicing project

Question 8:

How far can the team go in agile

methodology adoption?

Analysis of Agile software development

projects – Invoicing project

Question 9:

What can Invoice project team do

to get higher results?

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

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?

Analysis of Agile software development

projects – Educational software project

Question 11:

How do the agile methodologies

respond to the needs of distributed

teams?

Analysis of Agile software development

projects – Educational software project

Question 12:

What can Educational software

project team do to get higher

results?

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

Future work…

Agile documentation

Managing distributed systems

Transaction of knowledge between senior

and junior programmers

http://agile-only.com/

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

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.

top related