Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Managing agile software development projects

Martina
September 18, 2011

Managing agile software development projects

Managing agile software development projects: best practices and project management tools
2011

Martina

September 18, 2011
Tweet

More Decks by Martina

Other Decks in Business

Transcript

  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. 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.
  5. 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.
  6. 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/.
  7. 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.
  8. Extreme programming - XP Roles On-site customers Product Owner Domain

    experts Business analysts Technical specialists Interactions designers Programmers Designer and architects Testers Stakeholders Coaches
  9. 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
  10. 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/.
  11. Scrum (18) Eclipse. Eclipse organization. [Online] [Cited: 22 February 2011.]

    http://epf.eclipse.org/wikis/scrumpt/Scrum/guidances/supportingmaterials/resources/ScrumLarge Labelled.png
  12. Tools for Agile Software Development PivotalTracker Team Foundation Server VersionOne

    The Exia Process Acunote BrixHQ Target Process Mingle BannanaScrum
  13. Tools for Agile Software Development Evaluation model:  Basic description

     Team collaboration and source code management  Tool configuration  Reporting and documentation  Specific product characteristics Results
  14. Analysis of Agile software development projects – POS project 

    4 persons project team + 1  Desktop application  Visual Basic  Visual Studio Team Foundation Server
  15. 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?
  16. Analysis of Agile software development projects – POS project Question

    2: What does the one story point actually indicate?
  17. Analysis of Agile software development projects – POS project Question

    3: Is it possible to add user stories during the sprint?
  18. Analysis of Agile software development projects – POS project Question

    4: What can POS project team do to get higher results?
  19. Analysis of Agile software development projects – Invoicing project 

    3 persons project team + 1  Web application  Ruby on Rails  DokuWiki, email, TFS
  20. Analysis of Agile software development projects – Invoicing project Question

    5: Agile methodologies and new technologies, how does it fit together?
  21. Analysis of Agile software development projects – Invoicing project Question

    6: Is it possible that a Wiki system replace an agile project management tool?
  22. Analysis of Agile software development projects – Invoicing project Question

    7: Is it possible to practice Scrum without planning poker game and triangulation?
  23. Analysis of Agile software development projects – Invoicing project Question

    8: How far can the team go in agile methodology adoption?
  24. Analysis of Agile software development projects – Invoicing project Question

    9: What can Invoice project team do to get higher results?
  25. 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
  26. 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?
  27. Analysis of Agile software development projects – Educational software project

    Question 11: How do the agile methodologies respond to the needs of distributed teams?
  28. Analysis of Agile software development projects – Educational software project

    Question 12: What can Educational software project team do to get higher results?
  29. 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
  30. Future work…  Agile documentation  Managing distributed systems 

    Transaction of knowledge between senior and junior programmers  http://agile-only.com/
  31. 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/.
  32. 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.