This document is a master's thesis that examines best practices for managing agile software development projects. It discusses traditional and agile development methodologies like Scrum and Extreme Programming (XP). It also analyzes three case studies of agile projects and evaluates tools to support agile development. The thesis concludes that adopting a methodology fully and using communication tools are keys to agile success.
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Managing Agile Software Development Projects
1. 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.
2. 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
3. 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?
4. Project management
Customers
Project Steering
Director Committee
Executive
sponsor
Project
team Stakeholders
Key
Stakeholders Vendors
5. 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.
6. 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.
7. 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/.
8. Software development
methodologies - Agile
Agile process Modularity
Collaborative Iterative
People-
Time-Bound
Oriented
Convergent Parsimony
Incremental Adaptive
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.
10. Extreme programming - XP
On-site
customers
Product
Coaches
Owner
Domain
Stakeholders
experts
Testers
Roles Business
analysts
Designer
Technical
and
specialists
architects
Interactions
Programmers
designers
11. 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
13. Scrum Product
Owner
Smaller teams
Roles
For bigger - Scrum
Project Scrum
of Scrums team Master
(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/.
15. Tools for Agile Software
Development
PivotalTracker Team Foundation Server VersionOne
The Exia Process Acunote BrixHQ
Target Process Mingle BannanaScrum
16. Tools for Agile Software
Development
Evaluation model:
Basic description
Team collaboration and source code
management
Tool configuration
Reporting and documentation
Specific product characteristics
Results
17. Analysis of Agile software
development projects – POS project
4 persons project team + 1
Desktop application
Visual Basic
Visual Studio Team Foundation Server
18. 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?
19. Analysis of Agile software
development projects – POS project
Question 2:
What does the one story point
actually indicate?
20. Analysis of Agile software
development projects – POS project
Question 3:
Is it possible to add user stories during
the sprint?
21. Analysis of Agile software
development projects – POS project
Question 4:
What can POS project team do to get
higher results?
22. Analysis of Agile software development
projects – Invoicing project
3 persons project team + 1
Web application
Ruby on Rails
DokuWiki, email, TFS
23. Analysis of Agile software development
projects – Invoicing project
Question 5:
Agile methodologies and new
technologies, how does it fit
together?
24. Analysis of Agile software development
projects – Invoicing project
Question 6:
Is it possible that a Wiki system
replace an agile project
management tool?
25. Analysis of Agile software development
projects – Invoicing project
Question 7:
Is it possible to practice Scrum
without planning poker game and
triangulation?
26. Analysis of Agile software development
projects – Invoicing project
Question 8:
How far can the team go in agile
methodology adoption?
27. Analysis of Agile software development
projects – Invoicing project
Question 9:
What can Invoice project team do
to get higher results?
28. 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
29. 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?
30. Analysis of Agile software development
projects – Educational software project
Question 11:
How do the agile methodologies
respond to the needs of distributed
teams?
31. Analysis of Agile software development
projects – Educational software project
Question 12:
What can Educational software
project team do to get higher
results?
32. 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
Best tool
Team communication is essential
33. Future work…
Agile documentation
Managing distributed systems
Transaction of knowledge between senior
and junior programmers
http://agile-only.com/
34. 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/.
35. 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.