Improvement of Collaborative Work
on Software Development PBL in a
Distributed Environment
Satoru Kizaki,
Graduate School of Information Systems,
The University of Electro-Communications,
Tokyo, Japan
Yoshihide Chubachi
Advanced Institute of Industrial Technology,
Tokyo, Japan
3rd International PBL Symposium 2012
Thursday, 08 March 2012
Agenda
1. Background
2. Challenges in 2010
3. Idea for an improvement
4. Challenges in 2011
5. Conclusions
2
Agenda
1. Background
2. Challenges in 2010
3. Idea for an improvement
4. Challenges in 2011
5. Conclusions
3
Outline
• PBL activity is performed every year.
• We are development in distributed environment.
• We tried to agile software development last year.
Although, we were not able to make it successful.
• The environment where agile development could be
carried out was made this year.
• I reported knowledge about experience which performed
agile development in distributed environment.
4
Background
• The goal aims at personnel training.
• We aimed to improve the skills of the team(PM and
project members).
• Problem discovery and solution capability is learned.
• The success level of a development project is connected
to the level of management skills
• Management skills are problem recognition, problem-solving and
human relation among team members
5
Collaborative Management Laboratory
PBL type education
Collaborative Management Laboratory
6
- Group work
- Foreign student - Skype - Meeting with Client etc.
- Brainstorming
- Research - Requirements analysis etc.
- Make a document
- Method of a presentation - Questions and answers etc.
-WBS
-Scope -Cost
-Progress etc.
- Screen transition
- ER Chart - UML etc.
- Development method
- Programming -Data base
-Test method etc.
Communication
Presentation
Design
Plan
Management
Development
Project flow
7
Starting (Oct.)
Progress report
(Once a week)
Interim report (Nov.)
Progress report
(Once a week)
Last report (Jan.)
Distributed Environment
• We could have a off-line meeting only once per week.
• It was necessary to do work individually.
8
At company
At university At home
Agenda
1. Background
2. Challenges in 2010
3. Idea for an improvement
4. Challenges in 2011
5. Conclusions
9
Environment in 2010
• Participants
• Teachers: Professor of Keio University
• Project Managers: Working people and graduate students
• Project Members: Undergraduate students of Keio University
• 4 teams (Each team had one PM and several students)
• Period
• 4 months (Oct. 2010 – Jan. 2011)
10
Projects
• Fiscal year 2010 (4 teams)
• Team 1
• Using a smart phone, development of camera application system
• Team 2
• Goods trading system which performs commodity transaction using
stock merchandise
• Team 3
• System for managing individual tasks using GTD
• Team 4
• Create a monitor system that used a sensor network and HTML5
11
Team members (team1)
12
Teacher1 Teacher2 Teacher3
PM
Student A Student B
Client
IT company
Student C
Goal and Achievement
• “Katazou”: Camera application system
• Add new functions
• Aim at increasing users
13
Android
iPhone WEB(http://katazou.jp/)
Forwarding
web site
Development cycle
14
Requirement Definition
Design
Implementation
Test
Release Iteration
Requirement Definition
Document (RDD)
Base Specification (Scenario, Use Case etc.)
Screen Design Specification
Out Put
Source Code
Test Specification
Test Result Report
Oct.
Nov.
Dec.
Jan.
The 1st release: Dec. The 2nd release: Jan.
Results
• Some functions were able to be released.
• Layout change
• The picture displayed on a website is increased.
• Picture search
• Keywords are inputted and pictures are searched.
• Facebook linkage
• A website and Facebook are made to cooperate and the contribution
from a website to Facebook is enabled.
• An important function was not able to be released.
• Twitter linkage
• The function posts message to Twitter from KATAZO of Android Application
15
Problems
• Overwork of PM
• PM made source code instead of students.
• PM taught the student coding.
• PM could not take time for project management.
• Maintaining motivation
• Student did not take time to work (Only about 2 hours of a week).
• Priority was given to other lectures, club activities, part-time job,
etc.
• Member’s assignment
• The student who was taking charge of the important function was
not able to secure working hours.
16
Agenda
1. Background
2. Challenges in 2010
3. Idea for an improvement
4. Challenges in 2011
5. Conclusions
17
Idea for an improvement
• Ideas
• Introduction of ticket-driven development
• Participation of member-of-society PLs
• Agile coach's participation
18
Improvement of collaborative work • Ticket-driven development
19
Plan/ Ticket creation Start of task
Validation
Commit to SVN
End of task
Ticket Close
At the time of renewal of information, sent an E-mail.
All the tasks are registered into a
system.
- Effective
Visualization of work
Visualized the progress by using a
graphic “progress rate bar”
Visualization of products
Showed how documents and
source code are connected to
products
Increase a working efficiency
We gain an understanding of the
big picture through ticket.
Risk management is able to be
performed at an early stage.
PM Member
Redmine
• Use a Bug Tracking System (BTS) "Redmine" with a
project management function.
20
- Effective
Web-based: Access is easy Open source: Installation is easy. Related to Subversion(well-used system). Control functions are abundant.
- Project management is easy with distribution development - Unification of project information.
Agenda
1. Background
2. Challenges in 2010
3. Idea for an improvement
4. Challenges in 2011
5. Conclusions
21
Environment in 2011
• Participants
• Teachers: Professor of Keio University
• Agile coaches: Specialist of agile development
• Project Managers: Working people and graduate students
• Project Leaders: Working people, Engineers
• Project Members: Undergraduate students of Keio University
• 3 teams (Each team had one PM and one PL, and several students)
• Period
• 4 months (Oct. 2011 – Jan. 2012)
22
Projects
• Fiscal year 2011 (3 teams)
• Team 1
• Using an android phone and RSNP(Robot Service Network
Protocol) development of robot network service
• Team 2
• New marketing tool using Graph API of Facebook
• Team 3
• Improvement of an inventory control system
23
Team members
24
Teacher1 Teacher2
PM
Student A Student B
Client
(professor of
university)
Student C
Agile coach 2
Agile coach 1
Team members
Clients Management
Coaching
Client
(Kato Laboratory
students)
PL
Project (Step1)
• A robot is moved by Android phone
• forward, back, and right and left
25
Command
Project (Step2)
• Transmission of GPS sensor information
• GPS information is acquired at a fixed interval
• Acquired information is displayed on a screen
• Status
• Latitude
• Longitude
• Time
• Transmit to server using RSNP
26
Schedule
27
2011/10 11 12 2012/1
Step1 Develop (Student A)
Step2 Training Develop(Student B & C)
• We developed Step 1 and Step 2 simultaneously.
• Because
• There was only one robot (using Step 1).
• Step 2 has been developed only by Android phone.
Technical support (PL)
• Code review
• He carried out for the application which the members
manufactured.
• Following viewpoints
• Performance
• It is important to consider the smart phone structure, which is poor composed
with a PC
• Readability
• It is important to raise readability of source codes, perhaps by adding
comennts
• Make sample applications
• VoiceRecorder, SharedPreferences
• Sample of GPS acquisition
28
Meeting with client
29
Progress was reported to the client
once a week on Saturday
Every member adjusted their
schedule to visit the Kato laboratory
Agile coaches
30
• The professionals of agile development joined the
members of team.
• They performed a lecture on agile development.
• They taught how to use BTS (Bug Tracking System) at the
beginning of class.
• They advised the creating of the progress report.
Management
• Training
• Training was decided depending on each developer level of skill.
• Studied documents created exclusively for training
• Studied using Java drills
• Creation of a sample android application
• Ticket-driven development
• Development was done using the Redmine ticket system.
• Parallel development
• Initiated step 1 and step2 at the same time
• Use communication tools
• Mailing list, Skype chat etc.
31
Result: Data
32
Quantity Explanation
Source code
(RSNP Client)
2,027 /LOC The program which operates Andoroid
to LEGO MINDSTORMS
Source code
(GPSSender)
399 /LOC The program which carries out Android
sensor information acquisition
Source code
(RSNP Server)
200 / LOC RSNP server program
Source code
(VoiceRecorder)
407 / LOC Android application which records a
sound
Source code
(SharedPreferences)
202 / LOC Data is saved with Android
application(RSNP server's connection
place information, etc.)
Documents 9 /doc Basic, Test specifications, etc.
Work time 204.5 / h About 10 hours of moons per person
Number of tickets 98 / ticket
Result: Educational data
33
Man hour Worker
Training teaching-materials creation 8 (h) PM
Skill level test 1.5 (h) All students
Java language basic study 13 (h) Student C
Creation of android application 10.5 (h) Student C
Creation of android application 3 (h) Student B
Code review 4 (h) PM, PL
Server side Java study 13.5 (h) Student C
Sum 53.5 (h)
Result: Man hour
34
Estimate Track record
Training 39.5/h 53.5 /h
Development environment 9 /h 15 /h
Step1 31 /h 30.5 /h
Step2 36 /h 43.5 /h
Meeting (client) 14 /h 1(h) * 14(times) = 14(h)
Core meeting 225 /h 3(h) * 15(times) = 45(h)
45(h) * 5(human) = 225(h)
Management - 19 /h
Creation of document - 18.5 /h
Sum 429.5 (h)
Retrospective
• Good point
• System development
• Team activity
• Environment
• Bad point
• Communication
• Motivation
35
Agenda
1. Background
2. Challenges in 2010
3. Idea for an improvement
4. Challenges in 2011
5. Conclusions
36
What We Have Learned
Things the students have learned:
• Latest information technology
• Android Development
• Robot Service
• Software development process
• Communication skills
• Team activity
Things I (PM) have learned:
• Management skills
• Software development project using an agile development process
37
Subjects • Cooperation with customers
• There is the necessity to educate the customer in the agile
development.
• Deliberations between customers and vendors, and the
environmental structure in which customer companies take part
positively raise the effectiveness of agile development.
• Documents
• Documents were created to meet customers demands. However,
this became in efficient and the question whether the documents
were necessary was raised.
• Motivation
• The member's motivation was not able to be maintained.
• Member's assignment
• The work load was not well-allotted to members
38
Conclusions
• Problems that were solved
• The product was delivered.
• Work was able to be visualized by applying the ticket-driven
development.
• The participation of the agile coaches allowed I (PM) and other
members to learn more about agile development.
• With the help of the engineer, I (PM) was able to concentrate on
manage and avoid over work.
• Problems that were not solved
• The maintaining of motivation.
• The balancing of task allotment.
39
Thank you.
40
Additional Info: VoiceRecorder
• Practical use image
41
Android application
Recording
function
RSNP
Server
RSNP
Client
Web page
Reproduction
function
Corresponding point
Recording f iles save at
the storage of a terminal
Additional Info: SharedPreferences
• Practical use image
42
Android application
RSNP Server(B)
RSNP
Client
Setting
function
Corresponding point
URL under setup
RSNP Server(A)
New URL can be inputted
History of URL inputted in the past is displayed
Additional Info: Risk
• Hardware
• LEGO MINDSTORMS
• Android phone
• Return of robot
• In order to use International Robot Exhibition, it returned for one
week
• A member's condition management
• Sudden illness of PL
• Grasp by the whole project
• It is a unique field called a research-and-development project while
an object is advancing, and was not able to grasp the global image
in the state of the first stage.
43
Additional Info: Related work
• Motivation UP on PBL
• Naoya Nitta, Yasuhiro Takemura & Izuru Kume(2009). A practice of
collaborative project-based learning for mutual edification between
programming skill and artistic craftsmanship. 39th Frontiers in
Education Conference (FIE), 1 - 5.
• Tucker Smith, Kendra M.L., Cooper, C. & Shaun Longstreet
.(2011). Software Engineering Senior Design Course: Experiences
with Agile Game Development in a Capstone Project. 1th
International Workshop on Games and Software Engineering, 9 -
12.
• Game work was made into the subject matter of PBL.
44
Additional Info: Related work
• Using management tools
• H.W.A.S. Gondim, A.P.L. Ambrósio & F.M. Costa(2011). TaskBoard
- Using XP to Implement Problem-Based Learning in an
Introductory Programming Course. 12th International Conference on
Agile Software Development (XP2011), 162 – 175
45