Presentation is loading. Please wait.

Presentation is loading. Please wait.

TSSG Case Study: Using Free & Open Source Tools to Manage Software Quality EECS811: Software/IT Project Management Agile Integration Management Case Study.

Similar presentations


Presentation on theme: "TSSG Case Study: Using Free & Open Source Tools to Manage Software Quality EECS811: Software/IT Project Management Agile Integration Management Case Study."— Presentation transcript:

1 TSSG Case Study: Using Free & Open Source Tools to Manage Software Quality EECS811: Software/IT Project Management Agile Integration Management Case Study Ben Underwood 2/5/2016

2 Resource(s) used This presentation primarily uses a case study by Phelim Dowling and Kevin McGrath called “Using Free and Open Source Tools to Manage Software Quality,” which appeared in the July 2015 issue of Communications of the ACM. This is a good case study for agile integration management because many agile shops are smaller companies with limited budgets. 2

3 Organization Introduction TSSG Successes Agile Development Project Management & Issue Tracking Code Repository Continuous Integration Testing Tools Conclusions References 3

4 Introduction The Telecommunications Software & Systems Group (TSSG) is a research and innovation group based at the Waterford Institute of Technology in Ireland. TSSG’s work is project-based, with all projects being funded separately. Thus with little or no baseline funding, teams must make liberal use of free and open source software tools. 4

5 TSSG Successes TSSG has had many successes while using freeware tools. Most notably, in 2014, Red Hat acquired a mobile application platform developed by TSSG for $82 million in cash (FeedHenry). At any one time, TSSG may have 30 to 40 research projects going concurrently, with partners in industry, government, and academia. 5

6 Agile Development 1 of 2 TSSG views each project like an early-stage start-up. Therefore, they use agile development methods to stay lean and flexible, and react efficiently to change. Free and open source tools fit well with the agile ethos. They are plentiful, customizable, and able to contribute organization or automation in place of formal documentation. 6

7 Agile Development 2 of 2 TSSG’s agile process is as follows: – Document requirements as user stories. – Create a Project Plan composed of Engineering Releases (ER), with each ER composed of 2-week iterations (IR). – Assign stories to an IR, then break them down into subtasks and subfeatures. – Test-driven development, and continuous integration to allow time for extensive testing. 7

8 Project Management & Issue Tracking 1 of 3 They use one software tool for documenting requirements, project planning, and defect/issue tracking. Integrating these three areas helps to streamline the workflow. Redmine (http://www.redmine.org/)http://www.redmine.org/ Written in the Ruby on Rails web application framework Currently on version 3.2.0 8

9 Project Management & Issue Tracking 2 of 3 TSSG installed Redmine on a Ubuntu virtual machine paired with a MySQL database, and they use an Apache web server to allow users to access it from any web browser. Has templates for many common agile practices such as user stories, task boards, sprint cards, gantt charts, time tracking, defect reports, and more. 9

10 Project Management & Issue Tracking 3 of 3 Integration of requirements documentation and defect tracking is key. Defect reports can be tracked back to original feature requirements. Developers have one place to go to see defects to fix and new features to develop. Also integrates with the project’s code repository 10

11 Code Repository A source code control framework is a necessity Central location for team members to check in code and have it get backed up, and version control to allow rollbacks if necessary TSSG locally hosts Git (https://git-scm.com/)https://git-scm.com/ Currently on version 2.7.0 Integrates with Redmine. The repository, commits and stats are viewable from Redmine. 11

12 Continuous Integration 1 of 2 A key component of TSSG’s agile process is frequent builds. This ensures frequent testing, since automated tests run at build time, and it makes regular builds available for further testing in their test environment. Apache Ant (http://ant.apache.org/) and Apache Maven (https://maven.apache.org/) generate the buildshttp://ant.apache.org/https://maven.apache.org/ 12

13 Continuous Integration 2 of 2 Jenkins (https://jenkins-ci.org/) manages the automation.https://jenkins-ci.org/ Written in Java, current version is 1.647. Builds can be triggered by code check-ins or at regular intervals. Web-based interface for viewing list of builds, changes in each build, and test results. Can be configured to send e-mail notices. 13

14 Testing Tools 1 of 4 The choice of tool for unit testing varies with the technologies being tested, but TSSG’s most frequently used is JUnit (http://junit.org/)http://junit.org/ For testing Java code. Current version is 4.12. Cobertura (http://cobertura.github.io/cobertura/) is used to measure the test coverage. Version 2.1.1.http://cobertura.github.io/cobertura/ Integrates with Jenkins to show results there. 14

15 Testing Tools 2 of 4 Selenium (http://www.seleniumhq.org/) is used to automate regression testing.http://www.seleniumhq.org/ It is essentially used to record and replay browser sessions to test web applications. It is installed as a Firefox browser add-on, though it can emulate most major browsers for browser compatibility testing. Current version is 2.51.0. 15

16 Testing Tools 3 of 4 Apache Jmeter (http://jmeter.apache.org/) is used for load testing, using multiple threads to emulate multiple users.http://jmeter.apache.org/ It is a Java application, current version 2.13. NetSparker (https://www.netsparker.com/) is used for security testing.https://www.netsparker.com/ Free community edition can show vulnerabilities to cross-site scripting, SQL injection, etc. 16

17 Testing Tools 4 of 4 Not all testing activities are automated. For creating and executing manual test cases, TSSG uses a free community edition of Klaros. Klaros (http://www.klaros- testmanagement.com/en/), version 4.3.11.http://www.klaros- testmanagement.com/en/ Integrates with both Redmine and Jenkins, so that test results can be viewed in multiple places. 17

18 18 Review of TSSG Processes & Tools

19 Conclusions Free and open source software tools can meet the needs of professional development teams, and may fit especially well within agile processes. Thank you for your time. Questions and feedback are welcome. 19

20 References Apache Ant (2016). Retrieved from http://ant.apache.org/http://ant.apache.org/ Apache Jmeter (2016). Retrieved from http://jmeter.apache.org/http://jmeter.apache.org/ Apache Maven (2016). Retrieved from https://maven.apache.org/https://maven.apache.org/ Cobertura (2016). Retrieved from http://cobertura.github.io/cobertura/http://cobertura.github.io/cobertura/ Dowling, P. and McGrath, K. (July 2015). Using Free and Open Source Tools to Manage Software Quality. Communications of the ACM (Vol. 58, No. 7, pp. 51-55). Git (2016). Retrieved from https://git-scm.com/https://git-scm.com/ Jenkins (2016). Retrieved from https://jenkins-ci.org/https://jenkins-ci.org/ Junit (2016). Retrieved from http://junit.org/http://junit.org/ Klaros Test Management (2016). Retrieved from http://www.klaros- testmanagement.com/en/http://www.klaros- testmanagement.com/en/ NetSparker (2016). Retrieved from https://www.netsparker.com/https://www.netsparker.com/ Redmine (2016). Retrieved from http://www.redmine.org/http://www.redmine.org/ Selenium (2016). Retrieved from http://www.seleniumhq.org/http://www.seleniumhq.org/ TSSG About Us (2016). Retrieved from https://www.tssg.org/about/https://www.tssg.org/about/ 20


Download ppt "TSSG Case Study: Using Free & Open Source Tools to Manage Software Quality EECS811: Software/IT Project Management Agile Integration Management Case Study."

Similar presentations


Ads by Google