38
Master of Science in Informatics at Grenoble Workshop it! Problem Solving Team Building Digital Solution Supervisor Fran¸cois Delaunay, Agnes Front Candidate Shweta Agrawal September 1, 2016

Workshop it!

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

System Environment

Figure: System Environment

7 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

Program View

Figure: Program detailed view 20 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

Thank you for your attention!

38 of 38