1 1 case example of applying bridgepoint to oo development training shohei kuki ricoh company, ltd

31
1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD.

Upload: rosemary-mcgee

Post on 21-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

11

Case Example of Applying BridgePoint to OO Development Training

Shohei KUKI

Ricoh Company, LTD.

Page 2: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

22

KUKI, Shohei

• Started working as an embedded system engineer at Ricoh in 1999.

• First project was UI (User Interface) common component development, where he gained experience and skills on object-oriented software modeling.

• Has been training new engineers to improve their abilities and skills in object-oriented software modeling, as well as creating a system of skill development in object-oriented software modeling since 2003.

九鬼 昌平

Page 3: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

33

Contents• Background

• Introductory OO Development Training

• Road to the effective training– Use BridgePoint– Lecture the concept of domain– Iteration evaluation review

• Conclusion

Case Example of Applying BridgePoint to OO Development Training

Page 4: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

44

BackgroundHistory

Practical OO Development Training

Initial skill level of trainees

Page 5: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

55

History1996 2001 2002

Trying to adopt MDD again

2003

Model based OO development(the differential development)

Rose was chosen as the major tool.Practical OO development

training for newly hired employees

Modeling technique was learned from SMM at the beginning.

Bridge Point was one of the proposed tools.

Bridge Point was not chosen as the major tool.

but, still automatic code generation was promising.

developed a part of printer engine controller by Bridge Point with a consultant.

MDD was not adopted. OMG began

advocating MDA.

2000 2004

Then,proposed MDD to a production side.

Page 6: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

66

Practical OO Development Training• Purpose

– Developing software modeling engineers– Making constitution of building the quality into

software at upper process– Making a set of software as outputs

• Trainees– Newly hired employees who assigned as

software engineers

• Period– About 1 year

Page 7: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

77

Initial skill level of trainees• Academic background

– University or master course graduates

• Programming experience– Some have development experience, some have

no knowledge of programming language  example in 2004:

• Experience of OO development – Nobody has

knowledge development

C 97 % 59 %C++ 59 % 25 %Java 59 % 16 %Other language 22 % 9 %

Page 8: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

88

Introductory OO Development Training

Positioning and purpose

Spec of Training

Spec of Subject

Development plan

Training style and System

Page 9: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

99

Positioning and purpose

• Positioning– Initial training of “practical OO development

training”

• purpose– Aware of the fun in developing embedded

software– Aware of the base of OO thinking

Page 10: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

1010

Spec of TrainingSubject Pathfinder※Hardware LEGO MindStormsOS legOS 0.2.5Trainees Newly hired employees who

assigned as software engineersinitial skill of trainees

Exp. of software development: about 70%

Exp. of OO development:0%

Period About 10 days※This subject is the same as the one used for UML robot contest. (requested spec is simplified)

URL of UML robot contest: http://www.otij.org/umlforum2004/robocon/ (Japanese Version Only)

Page 11: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

1111

Spec of Subject• Pathfinder

– Self-steering vehicle– running along the line

• Proceed• Stop• Pause for 2 seconds• Detect line• Detect out-of-track

– Maintenance• Correct threshold level of sensors• Check motors

  Turn the steering to theright direction when theblack color is detected

coursePathfinder

sensor

Turn the steering to theleft direction when thewhite color is detected.

Page 12: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

1212

Development plan• Achieving functions incrementally

Basic func. Proceed, stop and detect line

Additional func. 1

Detect out-of-track (in 2002 and 2003)

Pause for 2 seconds (in 2004)

Additional func. 2

Check motors (in 2002 and 2003)

Correct threshold level of sensors (in 2004)

Page 13: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

1313

Training style and system• Training style

– Lecture + exercise(group work)• Promote understanding by many

exercises

• Training system– lecturer

• Give lectures

– advisers• Support reviews• 2 advisers for about 3 groups

– trainees• Form a group with 4 to 6 members

Page 14: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

1414

Road to the effective training

Page 15: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

1515

We did various kaizenrate of achievement of total groups

year

functions2002 2003 2004

Basic func. 100% 100% 100%

Additional func. 1 80% 100% 100%

Additional func. 2 0% 80% 100%UP!

UP!

UP!

Not good progressLittle time for

analysis

Not best progress

Kaizen1: use BridgePoint

Kaizen2: Lecture the concept

of domain

Kaizen3: Iteration evaluation

review

Page 16: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

1616

Result in 2002

• No group could achieve additional func. 2rate of achievement of total groups

year

functions2002

Basic func. 100%

Additional func. 1 80%

Additional func. 2 0%

No group could achieve additional function2 despite my efforts in preparing this function!

Page 17: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

1717

Problem in 2002• problem

– Not good progress• Many trainees deadlocked at design and

implementation– Some trainees didn’t have experience of programming

– Little time for analysis

• cause– Mismatching between training level and trainee’s

skill level • Especially, design and implementation were difficult

for the trainees

We used Rose as development tool, with which implementation is necessary

Page 18: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

1818

Kaizen1 in 2003: using BridgePoint• Changed development tool

– Switched from Rose to BridgePoint• With BridgePoint, design and implementation is not

necessary

Page 19: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

1919

Result in 2003• Speed up of development

rate of achievement of total groups

• Had a lot of time for analysis

year

functions2002 2003

Basic func. 100% 100%

Additional func. 1 80% 100%

Additional func. 2 0% 80%

UP!

UP!

But some groups could not achieve additional function2

Page 20: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

2020

Problem in 2003• problem

– Not best progress• Couldn’t separate semantics

– pathfinder and device

• Model quality varied depending on each group

• cause– Didn’t lecture the concept of domain

• Concept of domain and bridge was not understood well

– Lack of quality management• Couldn’t take hold of each group

Page 21: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

2121

Example : mixed semantics:pathfinder:pathfinder

:motor:motor:line sensor:line sensor

:steering:steering :accelerator:accelerator

OperateStop

Steering stop notice

Start detectionStop detection On-line notice

Out-of-line noticeSensor stop notice

ForwardReversebreaking

Forwardbreaking

DriveStop

Accelerator stop notice

Motor stop notice

Motor stop notice

Page 22: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

2222

Kaizen2 in 2004: lecture the concept of domain• Added the concept of domain lecture to

program– Increased training days, lecture and

exercisePathfinder

Timer

Device driverUI

Page 23: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

2323

Example: separated semantics

 : navigator  {1,NAV}

 : handle  {3,HAN}  : accelerator  {2,ACC}

 : User Interface {UI}

HAN1:change direction[direction]

HAN2:stop drivingACC1:change mode[mode]

ACC2:stop engine

NAV1:start driving

NAV3:stop driving

 : pathfinder controller {4,ADM}

ADM1:go

ADM3:measurement stop

Page 24: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

2424

Problem in 2003• problem

– Not best progress• Couldn’t separate semantics

– pathfinder and device

• Model quality varied depending on each group

• cause– Didn’t lecture the concept of domain

• Concept of domain and bridge was not understood well

– Lack of quality management• Couldn’t take hold of each group

Page 25: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

2525

Kaizen3 in 2004: Iteration evaluation review

• Iteration evaluation review– Review for outputs in each iteration

– We can take hold of each group’s status and quality of outputs.

– Late group can increase the speed by doing some review intensively

Page 26: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

2626

Result in 2004• All groups achieved all functions!

– Could shift the semantics

– Developed the models in excess of a certain level

rate of achievement of total groupsyear

functions2002 2003 2004

Basic func. 100% 100% 100%

Additional func. 1 80% 100% 100%

Additional func. 2 0% 80% 100%

Page 27: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

2727

Comments from trainee• Satisfaction level

0%

20%

40%

60%

80%

100%

2002 2003 2004

Very unsatisfactory

Unsatisfactory

No opinion

Satisfactory

Very satisfactory

No data

Comment sample

Very satisfactory I learned how we should do the group work

Very satisfactory Pathfinder was a fun as a subject

Very satisfactory Now, I can understand the flow of OO development

Page 28: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

2828

We accomplished the purpose• Aware of the fun in developing embedded

software– All groups achieved all functions

• Aware of the base of OO thinking– Focused on analysis– Could shift the semantics– Developed the models in excess of a certain level

Page 29: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

2929

Conclusion

Page 30: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

3030

What we learned about education• Take care of trainee’s skill level !

– Newly hired employees may not have implementation skill

• Focus OO thinking !– Take a lot of time to analyze– Beginners cannot separate semantics

• Make trainees be fun to develop software !– Rapid development

BridgePoint is an excellent tool for educationand future development

Page 31: 1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD

3131

Thank you for listening!

Case Example of Applying BridgePoint to OO Development Training

Shohei KUKI

Ricoh Company, LTD.