Content uploaded by Jari Porras
Author content
All content in this area was uploaded by Jari Porras on Nov 09, 2017
Content may be subject to copyright.
Infusing Design Thinking Into a
Software Engineering Capstone
Course
Maria Palacin-Silva, Jayden Khakurel, Ari
Happonen, Timo Hynninen, Jari Porras
firstname.lastname@lut.fi
Motivation
− SE educators are challenged to balance the scope and
depth in their courses to train students in skills which
fulfill industry needs.
− Project/Problem Based Learning (PBL) is an effective way to train
SE students to face real world challenges.
− A popular way to bring PBL into SE education is through
capstone courses. These allow engage students to engineer a
solution to a problem from the beginning to the end, and expose
them to practical project working, team level collaboration and
project management.
− We present the design of a human-centric SE capstone,
infusing design thinking methods and agile practices into
the project life-cycle knowhow.
Background
− Lappeenranta University of Technology offers
− Computer science Bachelor , 3 years, 180 ects, 10
ects Bachelor’s thesis
− Computer science Master , 2 years, 120 ects, 30 ects
Master’s thesis
− Bachelor’s programme is rather practically oriented with
emphasis on programming skills
− Master’s programme is more scientific
− Many courses had practical parts but missing a real
“capstone” project
Approaches to PBL
− Visited Aalborg University to get familiar their approach
• A teaching paradigm utilized throughout the schools
and programmes both in bachelor and master level
• A teacher collaboration method enabling teachers
(from different disciplines) to work together
• A practical learning approach based on real work
and experiences transforming knowledge and skills
into capabilities
• A project focused semester structure so that other
courses support the project
LUT approach
− Running a software project course, 3 ects (=84h of work)
− Focus on master’s level, implementation twice
− First year fall, project management practice
− First year spring, practical project
− Failure already at first fall !!
− Too small course
− No real life connections
− Not really PBL
− Two projects (which could not be helped at that
point)
− The spring project was planned bigger than 3 ects
Spring implementation
− Running a software project course as the practical course
and the following courses supporting
− Green IT and sustainable computing (most course
tasks were applied to the software project)
− Software as a service (never realized)
− Theme for the course was local challenges related to
the WWF’s Urban Solutions for a Living Planet –
report
− Cities are new hot spots
Running a software project - story
Goal
− Design and implement a human-centric software engineering
capstone course that infuses design thinking methods to software
development project and links to the other courses
− Design Thinking is a design methodology that provides a solution-
based approach to solving problems. It’s extremely useful in tackling
complex problems that are ill-defined or unknown, by understanding
the human needs involved, by re-framing the problem in human-
centric ways, by creating many ideas in brainstorming sessions, and
by adopting a hands-on approach in prototyping and testing.
BY
RIKKE DAM
AND
TEO SIANG
|
2 WEEKS AGO
150
SHARES
!
"
#
!"#$%&'()$&*$&%'$#'+',"#$%&'-".)/,/0/%1'.)+.'23/4$,"#'+'#/05.$/&67+#",'+223/+8)'./
#/04$&%'23/70"-#9':.;#'"<.3"-"01'5#"=50'$&'.+8*0$&%'8/-20"<'23/70"-#'.)+.'+3"'$006,">&",'/3
5&*&/?&@'71'5&,"3#.+&,$&%'.)"'
)5-+&'&"",#
'$&4/04",@'71'3"6=3+-$&%'.)"'23/70"-'$&')5-+&6
8"&.3$8'?+1#@'71'83"+.$&%'-+&1'$,"+#'$&'
73+$&#./3-$&%
'#"##$/&#@'+&,'71'+,/2.$&%'+')+&,#6
/&'+223/+8)'$&'
23/./.12$&%
'+&,'."#.$&%9'A&,"3#.+&,$&%'.)"#"'>4"'#.+%"#'/='
!"#$%&'()$&*$&%
?$00'"-2/?"3'+&1/&"'./'+2201'.)"'!"#$%&'()$&*$&%'-".)/,#'$&'/3,"3'./'#/04"'8/-20"<
23/70"-#'.)+.'/8853'+3/5&,'5#'B'$&'/53'8/-2+&$"#@'/53'8/5&.3$"#@'+&,'"4"&'/53'20+&".9
:&')$#'CDED'#"-$&+0'."<.'/&',"#$%&'-".)/,#@'F
()"'G8$"&8"#'/='.)"'H3.$>8$+0
@I'J/7"0'K3$L"
0+53"+."'M"37"3.'G$-/&'/5.0$&",'/&"'/='.)"'>3#.'=/3-+0'-/,"0#'/='.)"'!"#$%&'()$&*$&%
23/8"##9'G$-/&N#'-/,"0'8/&#$#.#'/='#"4"&'-+O/3'#.+%"#@'"+8)'?$.)'8/-2/&"&.'#.+%"#'+&,
+8.$4$.$"#@'+&,'?+#'0+3%"01'$&P5"&.$+0'$&'#)+2$&%'#/-"'/='.)"'-/#.'?$,"01'5#",'!"#$%&
()$&*$&%'23/8"##'-/,"0#'./,+19'()"3"'+3"'-+&1'4+3$+&.#'/='.)"'!"#$%&'()$&*$&%'23/8"##'$&
5 Stages in the Design Thinking
Process
5 Stages in the Design Thinking Process | Interaction Design ... https://www.interaction-design.org/literature/article/5-stages-i...
1 of 2 08/11/2017, 23.11
Learning objectives
− Plan, estimate and monitor a software project in an iterative
and incremental manner;
− Understand design thinking methods and usability techniques
and, their practical application into a project’s life-cycle
− Implement as software system from scratch
− Familiarize with contemporary development tools and
environments
− Use modern software engineering practices to plan, monitor
and deliver a realistic software project that meets
stakeholders needs, is highly usable and sustainable.
− Understand the new business challenges and opportunities
for their software projects
Course Design
Course Design
− The course's teaching sessions consisted of:
− in-class activities with a short intro to the topic by a lecturer, and
a practical assignment. The lessons had flipped-classroom
elements
− mentoring sessions, where teams were able to get tutoring by the
teaching staff
− Grading was based on a number of components which
supported the both project working and attending in-class
events
− the project itself, and other individual deliverables (storyboards,
idea presentations, test reports) were the basis for grading
student work
− individual questionnaires and reflections were required elements
for completing the course
Teams
− 29 students, 6 teams based on interests through moodle forums.
− We analysed team structures using belbin tests. Teams used this
test to identify their key interests and skills.
The projects
Activate
LUT Events
Ostracon
Blood4Life
Ostaap
Blood4Life
Watchdog
Personas (3 different)
9
3 USER EXPERIENCE DESIGN
The purpose of this design helped us to target our users, and base our design on the feelings
and perception that the user will have when interfacing with the application.
The process for the UX portfolio started with the creation of the personas, scenarios and
storyboard in which we provide how people would need the use of Watchdog application.
The journey maps where created in order to observe the steps that the user and administrator
need to follow and the motivation of why they need to use our application.
3.1 Personas
Scenarios & storyboard
11
3.2 Scenarios
3.3 Story board
Journey maps
12
3.4 Journey Maps
15
3.4 Journey Maps
Paper prototyping
13
3.5 Prototypes
Figure 1 User mobile interface prototype
Figure 2 Administrator interface prototype
Public paper prototype
testing
… development …
Public testing of the solution
Results and lessons learned
Lessons learned
Design Thinking Perspective
− Personas: Creating personas inspired students to look at problems from
the perspective of a group of target application users, rather than from a
technological and own perspective.
− Storyboards: Expressing ideas with real behaviours and actions of users
through storyboarding helped students to further understand who, what,
when, where, and how the application is used and identify the social and
ethical implications. For example with storyboard classroom presentation,
one team found out that their idea could invade the privacy of users. As a
result, the idea was improved.
− Journey mapping: user journey map helped students to improve and
enhance their design thinking by helping them understand the emotions of
the application users in the early stages. In mentoring session, students
pointed out that through the user journey map they managed to
understand the deeper feelings of the users of the application, which might
have been difficult otherwise.
− Prototyping: students found the prototype design to be very helpful in
improving their design process. For example, one of the teams pointed out
during the mentoring session that having feedback from users during the
prototype process was useful in outlining the user interface.
Lessons learned
Lecturer Perspective
− Challenging students to solve real world problems made
students create solutions with potential value for
society. This was pointed out by an external jury from
the local municipality.
− Students took ownership of the projects and got
involved into entrepreneurial initiatives in and out
campus. As a result, two of the projects have continued
into start-ups and one as a open source project.
− The course design was effective to motivate students to
participate actively in the entire course. As a result
dropout rate was zero.
− Interaction between students and lecturers was heavy,
a teaching assistant per team could help ease this.
Lessons learned
Lecturer Perspective
− 5 person teams should have worked
582h
− None of the teams even close
− Measuring work ?
− The measurement of worked hours as
such is not a useful probe of learning
behaviour and outcomes. Therefore,
we need to use additional measures
to understand the student workload
and avoid burnout.
5
portfolio and b) Evaluate how well the solution meets the
quality in use standard. In second activity public testing,
booths were set up for each team in a popular area of
university. They had to show their solutions to anyone
passing by including, students and university staff. Each
user had to fill a survey after testing a solution (They
had to rate statements in a five point scale from strongly
disagree to strongly agree). Those surveys were designed
based on the ten statements from the systems usability
scale (see table II) from [57], [58]. Finally students
processed these surveys and used the results as inputs
for the maintenance stage.
TABLE II
SURVEY STATE ME N TS FROM T HE SYSTEMS USABILITY SCALE [57], [58]
Systems Usability Scale Statements
I think that I would like to use this system frequently
I found the system unnecessarily complex
I thought the system was easy to use
I think that I would need the support of a technical person to be able to use this system
I found the various functions in this system were well integrated
I thought there was too much inconsistency in this system
I would imagine that most people would learn to use this system very quickly
I found the system very cumbersome to use
I felt very confident using the system
I needed to learn a lot of things before I could get going with this system
•Maintenance: This stage aimed at wrapping-up the stages
students had completed before, it lasted three weeks.
This, stage started with a lecture about software main-
tenance practices and workshop to review teams perfor-
mance, practices, success stories and current issues. Stu-
dents had to improve their solutions using the feedback
gathered in the public testing day. They went through all
DT stages to solve certain issues they did not expect.
•Presenting Project Solutions: Industry stakeholders and
the local government were invited as jury for the final
projects presentation. They evaluated the content of the
final reports, the ideas and the project implementation.
The feedback was positive and as detailed in section VI,
they will play the clients role for this course in future.
B. The Teaching Process
The teaching team was composed by the authors of this
article. The course was led by MSc. Maria Palacin-Silva,
special lectures and mentoring - in particular topics- were
given by MSc. Jayden Khakurel (DT techniques and usability
design), DSc. Ari Happonen (Team dynamics) and MSc. Timo
Hynninen (software quality testing).
The course had one session per project stage (Fig 3). Each
session started with a 5 to 10 minutes progress presentation
by each team. This would be followed by one hour lecture on
a particular topic (e.g software quality testing). Then teams
would have an in-class practical exercise to complete (e.g
paper prototyping, in figure 4). Afterwards,students would
receive an assignment to apply the session teachings onto
their own projects and generate a deliverable (which would
get presented during the following session). In addition, two
sessions were fully dedicated to evaluate the teams detailed
progress (a mid-term and a final presentation). Finally, one
Fig. 4. Paper prototyping in-class exercise
mentoring session per project stage was organized for the
teams.
This course used moodle as a platform for sharing the
reading and lecture materials, exercises, deliverables and dis-
cussion forums (e.g. a forum was set for students to brainstorm
ideas and join teams).
IV. THE TEAMS
Project teams of four to five students were formed in the
early stage of the course (via the forum tool of Moodle). In
order to promote inter-cultural diversity, students were advised
to team up with students of different nationalities.Students
posted their interests and skills and searched for students
matching their interests. Teams were formed among students
with closest interests. Each team had to appoint clear roles
for each team member and divide responsibilities from the
beginning of the project. Students had to record their project
work hours and report them on a weekly basis. Figure 5
presents a summary of cumulative work hours per team (this
figure includes all team members).
Fig. 5. Total worked hours per project
Teams had a total of nine deliverables consisting
project plan, UX design portfolio, code repository,
architecture, verification and validation review, usability
testing results, weekly reports, belbin tests [59] and final
report. Teams also had progress presentations by the
end of each project stage. The two main presentations,
a mid-term and a final presentation, were evaluated
and rated by other teams and invited panel of external
experts. Teams also had a possibility to receive bonus
Lessons learned
Students Perspective
Students highlighted that in this course they had learned that:
− Project management matters
− Conceptualizing an idea before developing is important
− To work in a multicultural team
− Share responsibilities and meet deadlines in a systematic way
− How to develop a software project from scratch. From an idea to
user validation.
− Your users are not engineers
− Importance of understanding the user behaviour
− Master new development frameworks
− To explore business opportunities
− To explain your application to potential users
− To own a project
Lessons learned
Students feedback
− ”We did learn a lot about team and project management dynamics
(including documentation, project time tables, skills and work
division, collaboration and so on).”
− “We did learn team skills and we noticed that knowing others
specialties and skills is important Step-by-step course approach but
everyone as responsible person in some part of the course.”
− “When you are a normal user of different applications you are not
conscious about the real steps that were taken to develop it. You
assume that to develop an application someone needs just to code.
What we learned from this course is that there are certain processes
that should be carried out, as much important as the coding itself.
UX Design is one of them. Storyboards, Personas, Scenarios are all
crucial to understand what user really needs... of the general
message, most of the course reflection did pin point.”
Conclusion
− We presented a 16 week software engineering capstone course
that infuses design thinking (DT) methods and agile practices
into the SE project life-cycle to address the existing gap between
applying design thinking into software development, and skills
taught in SE education.
− DT was used to prompt project-based learning, requirements
elicitation, software design and development.
− DT methods were proven to be a hands- and minds-on method to
engage students and improve soft skills (e.g. team working)
important in industry.
− The approach allowed students to be self-directed which increased
their motivation and reduced dropouts to minimum.
− Additionally, out of the 26 students and their six projects, two
projects are being continued as entrepreneurial initiatives and
one as an open-source project.