Communication for Software Engineers

Course DD1393 Software Engineering
4/26/2016
Communication for
Software Engineers
Rebecca Hincks
Unit for Language and Communication, ECE
[email protected]
1
Good communication really matters
 Engineers spend a lot of time communicating
 Good communication skills are key to your
professional advancement
 Supportive environments encourage good
communication
2
Rebecca Hincks 1
Course DD1393 Software Engineering
4/26/2016
Who am I and why am I here?





Associate Professor of English
Director, KTH Language & Communication
Taught at KTH for 20+ years
PhD from Tal, musik och hörsel, CSC
My unit is responsible for the communication
components of your program from 2016 on
3
At the end of this lecture, you should
 Have a better understanding of the kind of
communicator you should be when you
graduate
 Be reminded of key aspects of successful oral
presentations
 Have some clear ideas about how to structure
and deliver your hour-long Demo
 Be ready to send me plans for your long and
short presentations (due May 2 to [email protected])
4
Rebecca Hincks 2
Course DD1393 Software Engineering
4/26/2016
Part 1
WHAT COMMUNICATION
SKILLS ARE EMPLOYERS
LOOKING FOR?
5
Published research on this topic
 Ruff and Carter (2009) “Communication
learning outcomes from software engineering
professionals: A basis for teaching
communication in the engineering curriculum”
– I reproduce their results in the next eleven slides
 Norback and Hardin (2005) “Integrating
Workforce Communication into Senior Design
Tutorial”
Software engineers should be able to…
6
Rebecca Hincks 3
Course DD1393 Software Engineering
4/26/2016
Design communication
 Evaluate communication situations and design
communication appropriately for different purposes
and contexts
 Frame communication in terms of the knowledge
and concerns of the audience. Communicate
effectively to a variety of audiences
 Recognize the different communication cultures and
norms of different countries, organizations, areas
within organizations, ethnic groups, and individuals,
and adapt to those differences
7
Design communication
 Prioritize communication
tasks to use time wisely
 Discern when it is more
appropriate/effective to
keep silent rather than to
speak and to ask
questions rather than to
assert an opinion
8
Rebecca Hincks 4
Course DD1393 Software Engineering
4/26/2016
Explain clearly
 Present information in a way that goes beyond the
specific details of a project to provide the big picture,
a higher level of summary
 Explain code, methods and design decisions by
communicating the intent– what was meant to be
achieved– and reasons– why key choices were made
 Achieve an appropriate balance between conciseness
and explanation; go directly to the point
9
Explain clearly
 Answer questions clearly by going beyond what the
questioner has explicitly asked; anticipate what else
the questioner might need to know
 Communicate effectively under stress
 Communicate convincingly
 Use consistent and appropriate terminology
10
Rebecca Hincks 5
Course DD1393 Software Engineering
4/26/2016
Discuss productively
 Lead a productive group discussion
 Deal constructively with conflict: debate/discuss/
negotiate/collaborate productively and respectfully
 Support the transition from debate to the formation
of a decision; e.g. summarize issues, propose
solutions, and/or back down, as needed
 Hear criticism as a constructive contribution to the
outcome of a project (without getting defensive)
 Give criticism constructively and respectfully
11
Discuss productively
 Collaborate with others within an integrated project
team or from different areas of the organization.
 Demonstrate an understanding of how software
engineering decisions affect others
12
Rebecca Hincks 6
Course DD1393 Software Engineering
4/26/2016
Receive communication
 Solicit help, advice, or information
 Listen actively; ask clarifying questions
 Read with comprehension and evaluate information
to determine what is credible and relevant
 Adjust communication based on (non-verbal)
reactions of the audience; solicit feedback about the
effectiveness of the communication
 Learn and improve communications skills, especially
interpersonal skills
13
Communicate professionally
 Give opinions with a balance of confidence and
humility
 Avoid complaining, by proposing a solution, fixing the
problem, or remaining silent
 Be nice to others, through words and tone
 Manage non-verbal communication to avoid sending
inappropriate messages
 Make own accomplishments known without
arrogance
14
Rebecca Hincks 7
Course DD1393 Software Engineering
4/26/2016
Communicate professionally
 Communicate charismatically; be passionate/animated
in order to influence people
 Mentor others and help them grow
 Communicate through transparency (make
information openly available)
 Develop the flexibility to communicate in different
roles within an organization
 Inform managers and team members of potential
problems before the problems become serious
 Participate in meetings
15
Use common forms and tools
 Demonstrate a mastery of the kinds of formal and
informal communication most often used in the
industry
– Email, bug reports, meetings, presentation to groups, oneon-one, teleconferences, IM, code comments,
documentation, requirements, status reports
 Use digital tools that are beneficial for
communication and teamwork
– Tools for document control, bitmap and vector
illustrations, documentation, web pages, basic video/audio
for presentations, intuitive GUI design, project planning
16
Rebecca Hincks 8
Course DD1393 Software Engineering
4/26/2016
Use common forms and tools
 Use email appropriately,
demonstrating an understanding of
– What information should be included
and what should not
– When to use ‘reply all’
– The necessity to read carefully before
sending
 Give effective and engaging
presentations
17
Part 2
EFFECTIVE AND ENGAGING
PRESENTATIONS
18
Rebecca Hincks 9
Course DD1393 Software Engineering
4/26/2016
 Allow plenty of time
– Ten hours of prep for one hour
presentation not unreasonable
1.
2.
3.
4.
Planning
Structuring
Creating Visuals
Delivering
19
1. Plan your content carefully
 Must be targeted to your audience
– Background knowledge?
– Expectations?
 Must accomplish your purpose
– What should they learn?
– What is your main point?
 Must be appropriate to the occasion
– Formal or informal?
– Time limits?
– Time of day and location?
20
Rebecca Hincks 10
Course DD1393 Software Engineering
4/26/2016
Consider storyboarding
21
Lots of reasons for storyboarding





Fast and easy to structure and rearrange
Keep focus on task by not being online
Less stressful way to start the process
Prevents work that is unnecessary or redundant
Helps you focus analysis
22
Rebecca Hincks 11
Course DD1393 Software Engineering
4/26/2016
Do not drown audience in detail
Scope
Depth
 Depends on audience
 Cannot include
everything
 Some details better in
writing
Source: Alley (2003) p. 62
23
2. Structure your content
 The organization of the
major points
 The way the points are
connected
 The depth of the
information
 The emphasis of details
 Should have a beginning, a
middle and an end
I
M
C
24
Rebecca Hincks 12
Course DD1393 Software Engineering
4/26/2016
Framing your presentation
 Your structure provides a framework
 Your points are hung up on this
framework
 Allows audience to understand your
message
25
The introduction is very
important
 Do not assume your audience is familiar with the work
you are presenting
 Take time to put them into the picture
 Answer these questions:
–
–
–
–
What exactly is the subject?
Why is this subject important?
What background is needed to understand this subject?
In what order will the subject be presented?
26
Rebecca Hincks 13
Course DD1393 Software Engineering
4/26/2016
What exactly is the subject?
 Leave your title slide up for a minute
 Give the audience time to adjust to you as a speaker
 Don’t overwhelm them with information at the
beginning
27
Why is the subject important?
 Motivate your audience to keep listening to
you
 Appeal to existing problems or
 Appeal to curiosity
 ‘Ground’ abstract information by providing
an example
– Don’t save all information about applications for
the end
28
Rebecca Hincks 14
Course DD1393 Software Engineering
4/26/2016
Aristotelian rhetoric
 Appeal to logic
 Appeal to character
 Appeal to emotion
29
Make your structure clear
 As you move between
introduction, middle and
conclusion
 As you move between parts of
the middle
 Plan your transitions
 Particularly important as you
reach the end
30
Rebecca Hincks 15
Course DD1393 Software Engineering
4/26/2016
Framing: the conclusion
 Identify for the audience the most important points
 Connect with the context you used in the introduction
 Leave the summary slide up at end instead of this:
Thanks!
Any questions?
31
Emphasize key points





By mentioning them at beginning and/or end
By repeating them
By illustrating them
By being selective
By leaving conclusion
slide up at end
32
Rebecca Hincks 16
Course DD1393 Software Engineering
4/26/2016
3. Designing visuals
Do I need visuals?
 PowerPoint was invented by
engineers for engineers
 Provides good support for
both speakers and listeners
 Multimedia improves
people’s ability to
remember content
 But can be misused
 Great work can be done
without visuals
Kinds of visuals
 Videos
 Demonstrations
 Objects
 Black/whiteboard
 Slides
33
Typography
 Use sans-serif such as Verdana or Arial (Times New
Roman is serif)
 Use boldface for emphasis but not underlined or italics
 Use at least 18 points
 Avoid using all capital letters
 Set language for spellchecking from the creation of the
document
 NO TYPOS or misspellings
This and following reproduced
from Alley (2003) p. 116
Rebecca Hincks 34
17
Course DD1393 Software Engineering
4/26/2016
Use color wisely
 Use light type against dark background
or
 Dark type against light background
 Avoid red-green combinations
 Keep to a color scheme
 Consider effect of colors: hot or cold?
35
Consider using sentence headlines
 Sentence headlines express a point
 Phrase headlines introduce topic
 Headlines should be left-justified
 Text blocks should be no more than two lines (6 words?
6 items?)
 Listed items should be parallel
 Be generous with white space
36
Rebecca Hincks 18
Course DD1393 Software Engineering
4/26/2016
Include lots of images
 People are drawn to
pictures
 Keep them simple
 Make them big
 Label axes and parts
 Maximize the data-ink
ratio
37
More things to think of
 Plan on 1-2 minutes per slide
 Number your slides
 Key words in print help non-native speakers
 Indenting helps audience focus on key points
38
Rebecca Hincks 19
Course DD1393 Software Engineering
4/26/2016
4. Delivering the presentation





Interaction with audience
Eye contact
Interaction with room
Voice
Gesture
 Body language
39
Rehearse!
 Save plenty of time to rehearse your presentation
repeatedly
 Don’t memorize or read
– But the presence of a script can be reassuring
– Memorize the first minute if necessary
 Speak from points or keywords
 Film yourself
 Get feedback from peers
40
Rebecca Hincks 20
Course DD1393 Software Engineering
4/26/2016
Manner of delivery is critical
 Audience will be interested if you show interest and
enthusiasm
 Everyone needs to find own style
 Everyone can improve with practice and focus
 Get friends to comment on your performance
 Think of a model speaker and pretend you are that
person
41
Try to involve your audience
 Ask questions
 Relate your points to familiar things
 Make personal connections
 Use personal pronouns—I, you, we
 Use examples and stories
 Use humor if it comes naturally
42
Rebecca Hincks 21
Course DD1393 Software Engineering
4/26/2016
Pay attention to your audience




Maintain eye contact
Look at all sides of the room
If they look bored, work harder!
Don’t talk to the projection screen
 Don’t hesitate to use pointers
43
The room has an effect
 Aula or classroom?
 Tightly packed or spaced
out?
 Lit or unlit?
 Comfortable chairs or
not?
 Possibility of moving or
not?
 Size of screen?
 Take charge of the room!
44
Rebecca Hincks 22
Course DD1393 Software Engineering
4/26/2016
Your voice is your medium







Avoid flat tones
Stress important words
Pauses are effective—don’t rush
Speak to the back of the room
Use your whole register
Introduce new topics with raised pitch
Vary loudness, speed and pitch
45
Your physical presence matters
 Dress for the occasion
 Move naturally and with a purpose
 Rest your hands somewhere
 Avoid any repetitive movements
 Gestures contribute meaning and emphasis
 Eye contact is critical
46
Rebecca Hincks 23
Course DD1393 Software Engineering
4/26/2016
Pay attention to time




At least 60 s per slide
Practice so you have a good idea
Be wary of digressions
Skip slides if you must
 Be in control if questions are asked
 Rephrase questions for the benefit
of the audience
47
Everyone is nervous




Adrenalin can help you do a better job
Audience most often doesn’t see your nervousness
People are on your side
Deep breaths can help
 Think positive thoughts
48
Rebecca Hincks 24
Course DD1393 Software Engineering
4/26/2016
Summarizing Delivery







Be enthusiastic
Do not hurry
Give time on visuals
Maintain eye contact
Modulate your voice
Look friendly
Try to involve your audience
49
In conclusion
Keep audience and aim in mind as you plan
Prepare visual material carefully
Use lots of images
Leave time to practice
Use keywords instead of written language
Say what you are going to say, say it, and say what you
have just said
 Be aware of body language and voice






 Enjoy sharing your knowledge!
50
Rebecca Hincks 25
Course DD1393 Software Engineering
4/26/2016
Apply these principles in your 5minute project presentation in class
 Using screen shots instead of demoing
 Summarize the product
– Its strengths
– Its weaknesses
– How well you fulfilled your original plan
51
Part 3
MAKING A GREAT DEMO
52
Rebecca Hincks 26
Course DD1393 Software Engineering
4/26/2016
From your course handbook




Your demo is to be held on campus
The whole group does not need to attend
Your audience is your supervisor
Your purpose is to allow the supervisor to assess:
– How well the overall product vision and detailed user
requirements have been fulfilled
– How and why you have deviated from your project
plans
– The quality of the final product
53
From your course handbook
 You have about an hour
 You need to produce a plan for how the time will
be used
– Who will speak
– What they will say
 Your plan should allow about 20 minutes for
questions
 I will review your plans (send to [email protected])
54
Rebecca Hincks 27
Course DD1393 Software Engineering
4/26/2016
Your supervisor is not a customer
 Apply principles of audience, purpose and occasion
when planning your presentation
– Audience of one
– Purpose is examination
– Place is an office rather than a stage
 Put a lot of effort into demonstrating what you have
created and accomplished
55
Things to include or bring




Written feedback from the end-user
Demonstration of error-handling capacity
Realistic cases and examples
Answers to questions you will be asked, such as
–
–
–
–
Any discovered bugs
Limitations and missing requirements
Best and worst features
Project execution and experiences
56
Rebecca Hincks 28
Course DD1393 Software Engineering
4/26/2016
Some general demo advice
Have a clear and real problem to solve
Tell a story
Start with the best part, which is often the end
Keep it simple
Minimize typing during demo by planning shortcuts
by automation or copy-paste
 Plan your answers for the tough questions you might
be asked





57
Backups and safety measures






Backup computer
Videos of demos ?
Backup screenshots
Software running before examiner arrives
Keep all other applications closed
Test in the CSC environment
58
Rebecca Hincks 29
Course DD1393 Software Engineering
4/26/2016
Finally






Share your enthusiasm
Engage and have fun
Keep cool
Don’t troubleshoot in real time
Make your talk an interactive dialogue
Show rather than tell
59
Now, you should
 Have a better understanding of the kind of
communicator you should be when you
graduate
 Be reminded of key aspects of successful oral
presentations
 Have some clear ideas about how to structure
and deliver your hour-long Demo
 Be ready to send me plans for your long and
short presentations (due May 2 to [email protected])
60
Rebecca Hincks 30