workshop it!

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

Upload: shweta-agrawal

Post on 16-Apr-2017

18 views

Category:

Software


0 download

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

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