workshop it!
TRANSCRIPT
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