Upload
shweta-agrawal
View
20
Download
0
Embed Size (px)
Citation preview
Master of Science in Informatics at Grenoble
Workshop it!Problem Solving Team Building Digital Solution
Supervisor
Francois Delaunay, Agnes Front
Candidate
Shweta Agrawal
September 1, 2016
Outline
• Presentation of Enterprise & Workshop it!
• Overview
• Problem Statement & Proposed Solution
• Contributions
• Testing and it’s results
• Conclusions and Future Work
2 of 38
Presentation of Enterprise
• Extellient is a service based company located in Grenoble
• Established in 2005
• Directed by Francois Delaunay and Patrick Torrents
• Offers consulting, software engineering and technical assistance
• Offer full support to create mobile applications
• Its own product is Workshop it!
• Prefered technologies are JAVA, PHP5, HTML5, CSS3,JavaScript
3 of 38
Presentation of Workshop it!
• It is the time saving digital solution
• Used for collaborative workshops to improve ideas and to makebetter decisions
• Remote user can also attend the workshop
• Used in training, meeting, seminar and events
Figure: Low tech to High tech graphics
4 of 38
What is PSTB?
• Stands for Problem Solving Team Building
• Workshop it! brings PSTB to your digital devices
• It is an efficient means of running a meeting to find a solution toan open, intractable issue by using the collective intelligence ofthe team
• Basically it uses a large brown paper taped to the meeting roomwall, Post-It notes, markers and other goodies handed out to theparticipants.
5 of 38
PSTB user involvement
It is made up of different categories of people:
• Facilitator
• Clients
• Users
6 of 38
Overview: Initial Scenarios
• Initializing a client space and managing first user accounts• Preparing a workshop• Getting the mobile App to participate in a workshop• Workshop runtime• After workshop
Figure: Workshop Life Cycle8 of 38
Overview: Detailed scenario of PSTB workshop
• Steps 1 and 2: brief stage - Problem statement and context• Step 3: Idea generation• Step 4: Idea selection• Steps 5 and 6: Benefits and concerns, killer concern• Step 7: Action plan
Figure: Ideas Life Cycle9 of 38
Problem Statement & Proposed Solution
• Problem1: Manually send user guides to individual is anunbearable condition for the company.
10 of 38
Problem Statement & Proposed Solution
• Problem1: Manually send user guides to individual is anunbearable condition for the company.Solution: Private support system would consider the best solution
11 of 38
Problem Statement & Proposed Solution
• Problem1: Manually send user guides to individual is anunbearable condition for the company.Solution: Private support system would consider the best solution
• Problem2: As it is consider each workshop as an independentissue, so there is a no way to link multiple workshops for finalobjective
12 of 38
Problem Statement & Proposed Solution
• Problem1: Manually send user guides to individual is anunbearable condition for the company.Solution: Private support system would consider the best solution
• Problem2: As it is consider each workshop as an independentissue, so there is a no way to link multiple workshops for finalobjectiveSolution: Program Management is the solution where ownermanage multiple workshops and their dependency
13 of 38
Resource Center
Needs: Several user guides are available and it cannot afford thisunbearable situation to send manual guides.
Objective: Main goal is to make available user guides toauthenticated users only within the application.
14 of 38
Resource Center Specification
Front end specifications: Display list of resources according visibilityconditions that have been defined by super administrator for each ofthem.Possible visibility conditions are:• restricted or not to ”not free trial” plans• restricted or not to Administrator profile
Figure: Help and Support 15 of 38
Resource Center Document
Back end specifications: Enable super administrator to manageresource center, upload documents in different languages and uploadupdates.
Figure: Resource Center Document List
16 of 38
Resource Center Releases
Figure is showing all the available version of participant’s user guide
Figure: Resource Center Document’s Releases
17 of 38
Program Management-Needs
Workshop it! considers each workshop as an independent issue. TheProgram Management functionality had fulfilled the need fororganizing a ”program”, it means a set of workshops aiming at afinal objective.
Figure: UML diagram for existing and new entities18 of 38
Program Management-Specifications
• Create, list, update and delete are the basic features of program
• Program view display page:◦ show program general properties◦ list user groups◦ list workshops◦ workshop timeline, show their dependencies and their status◦ display some simple graphical objects that monitors completion /
progress
• Workgroup Management
• Workshop Management
19 of 38
Workgroup Management
A workgroup is defined within the scope of a given program and forits sole usage.
Figure: Workgroup List
21 of 38
Workgroup Users
Add/Remove users in workgroup within the program
Figure: Add users in workgroup
22 of 38
Workshop Management
Program responsible can declare workshops as belonging to itsprogram and one workshop can not belong to another program
Figure: Workshop list 23 of 38
Workshop’s Workgroup
Adding and removing workgroups in the worshop is a two way databinding. When you add or remove workgroup from workshop, it willreflect on the workshop list as well as on timeline
Figure: Add/remove workgroup in workshop
24 of 38
Workshop Workgroup dependency
Program responsible can add/retrieve one or more workgroupsto/from a workshop.
Figure: Gantt chart for workshops and their dependencies
25 of 38
Workshop State
Workshop’s state bar chart which is showing the progress of totalnumber of workshop state (created/open/close) within the program
Figure: Progress bar for workshop’s state
26 of 38
Workshop’s Idea state
Workshop idea’s state bar chart which is showing the total numberof ideas states (shared/dismissed/selected) of workshop have beentaken into account
Figure: Stacked bar chart for idea’s state of workshop
27 of 38
Technologies and Tools used
• Technologies: Symfony2, AngularJs, HTML, CSS
• Tools: Virtual machine, PHP Storm, Putty
28 of 38
Contribution
→ Proposing ideas
→ Draw technical specifications
→ Design and Development
→ Testing and Verification
29 of 38
Unit Testing
The goal of unit testing is to isolate each part of the program andshow that the individual parts are correct.
• PHP unit testing: It is used to test all the methods and servicesdefined for backend functionality
• Angular unit testing: It is used to test methods defined forfrontend functionality
30 of 38
PHP Unit Test: Pseudo code
#Unit Test to check the "Create Program" Service
public function testCreateProgramSuccess() {
$customer = // get customer object by companyname
$user = // get user object by user id
$program = new ProgramFormObject();
$program->title = ’MoSiG Program’;
$program->description = ’International Master Program’;
$program->start_date = // insert start date
$program->end_date = //insert end date >= start date
$result =
$this->getProgramService()->createProgram($program,
$user, $customer);
$this->assertEquals(1, count($result),"program is
registered successfully");
}
31 of 38
PHP Unit Test: Result
Results of all services of program:
PHPUnit 4.8.26 by Sebastian Bergmann and contributors.Time: 24.62 seconds, Memory: 94.00MBOK (8 tests, 52 assertions)
32 of 38
AngularJS Pseudo code
#ProgramController.js
angular.module(’programApp’, []);
angular.module(’programApp’)
.controller(’programCtrl’, [’$scope’, function($scope) {
$scope.workshops = []; // define workshop array
//add workshop func
$scope.addWorkshop = function (workshop) {
$scope.workshops.push(workshop);
};
//remove workshop func
$scope.removeWorkshop = function (i) {
$scope.workshops.splice(i);
};
}]); 33 of 38
Angular Unit Test: Pseudo code
#ProgramControllerTests.js
describe(’The Workshop Controller’, function(){
var scope;
beforeEach(module(’workshopApp’));
beforeEach(inject(function ($rootScope, $controller) {
......
}));
describe(’when we add a workshop’, function () {
......
assert.equal(scope.workshops[0].name, ’1st workshop’);
});
describe(’when we remove a workshop’, function () {
......
assert.ok(!scope.workshops.length);
});
});
34 of 38
Angular Unit Test: Result
karma start......PhantomJS 2.1.1 (Linux 0.0.0): Executed 2 of 2 SUCCESS (0.041secs / 0 secs)
35 of 38
Conclusion
• Workshop it! Digitised Problem Solving / Team Building
• Brainstorming meeting to generate ideas
• Keep timing under control
• Outcomes are shared instantly on-line and can be downloaded.
• Cross entity participation is possible for the workshop planned bya given entity involves facilitator, owner or participants of otherentities
36 of 38
Future Work
• I-Calendar invitations and attendees list
• Workshop type other than PSTB
• Workgroup Uses
37 of 38