Vous êtes sur la page 1sur 39

State of Software Development

2018

Published by
3 Introduction
15 Hiring Talents

4 Cool Partners
20 Software
Outsourcing

5 Managing Software
Development
23 Performance
Measurement

11 Tools
Welcome to the State of Software Development 2018 report!

We’re excited to show you the current state of software development.

This year, we took this report to the next level. The number of participants
more than doubled and we closely collaborated with 9 awesome partners to
promote the survey.

INTRODUCTION This year’s report will give you the data you need to benchmark your activities
against other 300+ survey participants, get some insights to further improve
your developer team and keep up with the rapidly changing industry.

Software development is a fast-changing field. A tool or framework used


today might be obsolete tomorrow. Our intention is to track the evolution of
the industry, take a snapshot of its current state, and make educated predic-
tions about where it's heading.

The first part of the report uncovers the biggest challenges software teams
are facing and also some tips on how they try to overcome these challenges.

This section also shows the most popular and trending programming
languages, agile methods and the current state of remote work.

Hiring is among the biggest challenges tech companies are facing. This part
of the report shows the most effective ways software teams hire and retain
talents. You will also see the difference between high and average
performing teams.

The last chapter focuses on performance management, showing how soft-


ware teams measure performance and ensure code quality. You will see the
causes of delivery problems from a developer and manager point of view.

I hope you will enjoy scrolling through the report and get some interesting
insights you can apply right away.

Thank you,
Tamas Torok
Head of Online Marketing, Coding Sans

Feel free to share the statistics by clicking on the ht ps:/ ct .ec/FoT0klogo.


COOL https://apiumhub.com https://instabug.com
PARTNERS
Publishing this report wouldn’t have been
possible without the close collaboration
with these cool companies. If you want to
https:/ clutch.co/ https:/ www.shippable.com
https:/ www.stridenyc.com/
take your software project to the next

https://codegiant.io/
level, make sure to check them out.

https:/ codeship.com https:/ usersnap.com


https:/ www.gitkraken.com
MANAGING
SOFTWARE DEVELOPMENT
The biggest challenge tech companies are facing is
related to capacity: delivering working software while the
backlog is full and capacity is limited. This challenge is
closely followed by hiring. We can confidently say that
attracting and retaining talent is a huge problem in
software development.

In this section you'll see the biggest challenges respond-


ents identified, and the differences in the types of chal-
lenges developers and managers face. Is there any signifi-
cant difference? See the answers below.
What is your biggest challenge in What have you done to overcome
software development? https:/ ct .ec/ERcbS these challenges? https:/ ct .ec/nc203

CAPACITY

The most popular way to overcome this chal-


lenge is to optimise team’s workflows and
perform the work more effectively. After that
26.16% comes relentless prioritization and increasing
the number of people working on the project.
23.84% Also, applying agile methods is a common
way to tackle capacity challenges.

HIRING

So what do software teams do to overcome


the hiring challenge? The most popular way
to do it is by hiring in-house recruiters,
14.57% external headhunters or agencies to get in
13.91% touch with potential candidates. Another
13.25% method tech companies use is to run an
internship program where they can capture
talent early. This method takes time until
your interns become juniors and seniors, but
this works exceptionally well since interns
learn super fast and usually convince their
friends to join the team as well. Excited?
Keep scrolling and make sure to check out
the hiring part of this report.
3.31% 3.31%
1.66%

Capacity Hiring Prioritizing Sharing Time Employee Selecting Other


talent dev. knowledge mgmt. retention technology
What is your biggest challenge in software Seeing an aggregated picture of the challenges is a cool
development? https:/ ct .ec/ERcbS thing, but once we started to dig deeper into the data we
got really excited. We decided to group our survey partici-
pants into two groups: developers and managers (managing
developer teams).

Is there any notable difference? Yes, there is!

After filtering the data it was clear that the challenges devel-
opers and managers are facing are different. The biggest
challenge for developers are dealing with limited capacity
and time management and also sharing knowledge
between the team members.
33.55%
But the picture is a bit different when we take a look at
managers. Their biggest challenge is hiring developers and
also dealing with capacity issues.
28.29%

24.60%
21.43%
18.25%
15.87%
14.47%
11.90% 11.84%

7.24%
5.56%
3.29%
2.38%
1.32%

Hiring talent Capacity Prioritizing Sharing Time Employee Selecting Manager


development knowledge management retention technology
Developer
Scrum 58.09%

Kanban 38.94%

We don’t use agile methodology 15.18%

Lean software development 14.19%

Agile modeling 13.86%

Extreme programming (XP) 11.55%

Scrumban 11.55%

Feature-driven development (FDD) 8.58%

Rapid application development 8.25%

Disciplined agile delivery 3.30%

Adaptive software development (ASD) 2.31%

Agile Unified Process (AUP) 2.31%


Do you use any of these agile soft-
Dynamic systems development method (DSDM) 0.66% ware development methodologies?*https:/ ct .ec/s86jb

Crystal Clear methods 0.33%


*Compared to the whole sample (n=303).
JavaScript 60.73% 1.32% C

Java 30.03% 1.65% Objective C

Python 25.41% 3.30% Ruby

C# 24.42% 3.30% C++

PHP 20.46% 3.96% PHP

TypeScript 11.22% 4.95% Scala

Ruby 9.57% What are your company’s primary 4.95% C#


programming languages?*https:/ ct .ec/_sy80
C++ 9.24% 6.93% Swift

Swift 8.91% What new programming languages 7.26% Java


are you considering to use in the
Other 7.59%
next 12 months?*https:/ ct .ec/QcbYO 7.92% Other

Go 5.94% 9.24% Kotlin

C 4.95% 14.85% TypeScript

Objective C 3.96% 16.17% JavaScript

Scala 3.30% 16.83% Go

Kotlin 2.97% 18.15% Python

Perl 0.33% 36.63% Not considering any new languages


*Compared to the whole sample (n=303).
I don’t know
40.79%

Yes No
74.92% 51.32%

Are you planning to allow


remote work in the next 12
months?
https:/ ct .ec/D6fPv

No
Is remote work allowed 25.08%
at your company?
ht ps:/ ct .ec/D6fPv
Yes
7.89%
TOOLS
This section shows the most popular tools devel-
oper teams use for testing, project management,
version control and communication. The data
clearly shows that teams use a wide variety of
tools, especially when it comes to testing and
project management.
What tool(s) do you use Other 42.90%
for testing? https://ctt.ec/LH3Vs
Yes
69.97% 12.54% Selenium

6.27% Jenkins

5.94% Mocha

5.94% Jest

What are the factors that are 5.61% JUnit


limiting you from using one? https:/ ct .ec/LH3Vs 4.95% Cucumber

Do you use any tools


4.95% Phpunit
for software testing?
26.37%
https:/ ct .ec/LH3Vs 2.97% Nunit
18.68% 19.78%
17.58% 2.97% Browserstack

10.99% 2.97% Pytest


6.59%
2.64% CircleCI

2.64% Jmeter

e
h
it
s

er
us
ye
st

rc
e

th
co

a
us

to
it

se

O
d

2.31% Karma
t/

to

e
re
ee

m
ge

to
tn

Ti
No
ud

ho

e
n’

m
B

do

30.03%
ur

Ti

2.31% Jasmine
ts

e
W
no
I’m
What version control
What tool do you use for 94.72%
system do you use?* https://ctt.ec/R3w02
project management?* https:/ ct .ec/4D1k5

44.88% Jira

16.17% Other

12.21% GitHub 7.92%


3.96% 2.64% 1.32% 0.66%

9.24% Trello Git SVN TFS Other SCM Not using


any

3.63% Asana
31.68% What SCM tool(s)
27.72% do you use?*https:/ ct .ec/ee7em
2.64% Not using any tool
23.43%

2.64% TFS

14.52% 14.19%
2.31% Pivotal Tracker

1.98% Redmine 4.62% 4.29% 3.96%


2.97%
1.65% 1.65%
1.32% VSTS

ab
p
er
er
e

it
n

op

Sm it

t
ke
ce

itU
tG
ke

eG
w
th

itl
Tr

kt

uc
rfa

To

ar
ra

ce

is

G
es
itK

to

itB
1.32% BitBucket
te

ur

r
in

To
So

B
ub
lt

itH
au
ef

G
D

*Compared to the whole sample (n=303).


What tools do you use to
communicate during a project?*https:/ ct .ec/baRe2

64.03%

54.46%

34.98%

26.40%

18.48%
15.18% 14.52% 13.86%

5.94%
1.98% 1.65% 1.32% 1.32% 0.99%

Go to Google Matter-
Slack Email Jira Skype Other Trello Hipchat Zoom Telegram Discord Webex
meeting Hangouts most

*Compared to the whole sample (n=303).


HIRING TALENTS

In general, hiring is the second biggest challenge


among software teams, and the first for managers.
This chapter sheds some light on the hiring practices
of tech companies, including hiring methods, criteria,
and attracting and motivating talent. But instead of
just looking at the whole picture, we filtered the
data, showing the difference between the top and
average performing teams. What an exciting thing!
Em
re pl
fe oy
rr e
al e
s
25.08%

I
re n-h
cr o
ui us
te e
r(s
16.83%
)
Pr
co of
nn es
ec sio
tio na
ns l
N
12.87%
o
sp
ec
H ifi
a c
so ve w
ft n’ ay
w t
11.88%
What’s your most efficient method to

ar hi
e re
de d
ve ta
R lo len
ec pm t
ru f
hire talent for software development? https:/ ct .ec/g6pui

itm en or
t
10.89%

he e
ad nt
hu ag
nt en
er c
y
or
9.57%

Li
nk
ed
in
6.93%

H On
R l
po ine
rt
al
2.97%

O
th
In er
te
1.98%

rn
R sh
ec ip
ru /
itm Ca
en mp
t us
0.99%
What are your most important
hiring criteria?* ht ps:/ ct .ec/KUnG4

Willingness to learn 44.55%

Cultural fit 39.60%

Work experience 37.62%

Technical skill evaluation (tests) 37.62%

Test project or task 17.16%

Side projects (apps, libraries, frameworks etc.) 12.21%

Soft skills 7.26%

College Degree 5.28%

Certifications (i.e. AWS) 1.98%

Other 2.64%

*Compared to the whole sample (n=303).


How do you attract new software developers?* https:/ ct .ec/2XdeA
Interesting/challenging task 44.88%
Team (team spirit, culture) 44.88%
Company’s potential 28.38%
Growth opportunity (professional) 26.73%
Flexible working hours 25.74%
Remote work 22.77%
Salary (higher than their previous) 20.46%
Self-management/independence 18.81%
Stock option 4.29%
Don't know 0.99%
None 0.66%
Stability 0.33%

How do you keep software developers motivated?* https:/ ct .ec/2XdeA


Challenging/engaging work 60.40%
Team (team spirit, culture) 59.41%
Autonomy 35.64%
Exciting product 31.35%
Variety of tasks 28.38%
Money 18.15%
Extra benefits 16.50%
Trainings 13.86%
Carrier path 13.53%
Stock options 7.59%
None 0.66%
Conferences 0.33%
*Compared to the whole sample (n=303).
Ch
al
le
ng
in
g/
en
ga
gi
Te ng
a m w
68
.38
or %
(te k 53
am .75
%
sp
iri
t,
cu 60
ltu .2
re 59 9%
) .38
%
Au
to 34
no .5
m 37 6%
y
How do you keep software

Ex .50
ci %
tin
g
developers motivated?* https:/ ct .ec/Ijw46

pr 36
od .03
uc
t 28 %
.75
Va %
rie
ty
of 35
t as .29
ks 23 %
.13
%

M 16.
on 91
ey 18. %
75
Ex %
tr
a
be
ne 19.
fit
12%
s 13.
75
%
Tr
ai 16.
ni
n gs
18%
11.8
8%
Ca
rr
ie 13.
rp
at 24
h 13. %
75
%
St
oc
k
op 8.0
tio 9
ns 6.8 %
8%

N
on 1.4
e 7%
Co
0.0
n
0%
fe
r en
ce 0.7
s 4%
0.0
0%
Top performers

*Top and average separation is based on a self-evaluating question from page 24. Compared to the whole sample (n=303).
Average performers
SOFTWARE OUTSOURCING

Since dealing with capacity issues is one of the biggest


challenges along with hiring talents, outsourcing could
be a quick fix. But some horror stories about software
outsourcing could keep companies away. What do
they think about software outsourcing? Were they
satisfied or dissatisfied?
Have you ever outsourced software Software
Freelancer
development fully or partly? https://ctt.ec/10UFd development 18.24%
company
44.65%
To whom?

Both

47.5% 52.5%
37.11%

How satisfied were you with the results?

51.57%

NO YES
16.98%
10.06% 11.95%
9.43%

Absolutely Somewhat Neither satisfied Somewhat Absolutely


satisfied satisfied nor dissatisfied dissatisfied dissatisfied
4.86%
13.89%
I don't know Yes

Are you planning to


outsource software projects
in the next 12 months?

No
81.25%
PERFORMANCE MEASUREMENT

What are the differences between top and average


performing teams? In this section we dig deeper
into how software teams measure performance,
success of software development managers and
what are the number one cause of delivery prob-
lems. This part also shows how developer teams
ensure code quality.
How effective is software development
at your company?*

33.00%

26.07%

15.18%

7.92%
7.59%

3.30% 3.96%
0.66% 1.98%
0.33%

4 5 6 7 8 9 10
1 2 3
Low performers Average performers Top performers

*Sample is divided into three groups, based on the repondents’ answer on this self-evaluating question.
What metrics do you use to measure What metrics do you use to measure
developer performance?* https://ctt.ec/Qc0xv developer performance? https:/ ct .ec/Qc0xv

Working software
47.41% Working software 46.94%
43.40%

Completed tasks 42.22% Completed tasks


54.09% 50.00%

Code readability 29.63%


18.24% Code readability 23.81%

28.15%
We don’t use any metrics We don’t use any metrics
26.42% 27.89%

Speed of developer 21.48%


17.61% Speed of developer 20.07%

Number of bugs
21.48%
22.01% Number of bugs 22.11%
Test coverage 19.26%
20.75% Test coverage 20.07%
Third-party scoring/grading 7.4%
3.78%
Third-party scoring/grading 3.4%
Other
5.93%
2.52%
Other 5.44%
Lines of code written 1.48%
1.89%
Lines of code written 1.70%

Top performers

Average performers

*Top and average separation is based on a self-evaluating question from page 24.
Speed of developer Code Readability
How do you measure it? How do you measure it?

The most popular way soft- Measuring code quality is diffi-


ware teams measure devel- cult. There is no metric that
opers’ speed is simply meas- could accurately indicate code
uring the time a given task quality. The most popular
takes to complete. Some method teams use to decide if
measure the number of story the code meets the quality
points per sprint and also tt100 standards is by reviewing the
(time to 100 = the amount of code and making sure it’s
time it takes an engineer to clear, commented and follows
write 100 productive lines of the best practices. Also, using
code) is a method to measure linters can help a lot making
the speed of a developer. the code easy to read and
understand.
What is the #1 measured criteria for success of What is the #1 measured criteria for success
software development managers? https://ctt.ec/d02ab of software development managers?* https://ctt.ec/d02ab

22.22%
Working software
Working software 25.08% 27.67%

20.00%
On time delivery
On time delivery 21.45% 22.64%

Not measured by any 22.96%


Not measured by
21.12% concrete criteria 19.50%
any concrete criteria

5.93%
Ticket/Feature throughput
Ticket/Feature throughput 6.60% 6.92%

Customer or stake- Customer or stake- 8.89%


6.60% holder survey results 4.40%
holder survey results

360-reviews
5.19%
360-reviews 5.28% 5.66%

Defect rates 5.19%


Defect rates 4.95%
5.03%

Budget management Budget management 2.22%


3.30%
3.77%

NPS or similar stakeholder NPS or similar stakeholder 3.70%


3.30%
satisfaction score satisfaction score 3.14%
Top performers

Other 2.31% Other 3.70% Average performers

1.26%

*Top and average separation is based on a self-evaluating question from page 24.
What is the #1 cause of delivery
problems for your team? https:/ ct .ec/d02ab

Unrealistic expectations 14.85%


Estimation 14.52%
Lack of clearly defined deliverables 12.21%
Requirements prioritization 11.22%
Lack of well-defined success criteria 9.90%
Ever changing landscape 9.24%
Lack of team experience 6.93%
Missing key skills on team 3.96%
Lack of management commitment and experience 3.63%
Failure to coordinate with outside teams 2.97%
Lack of budget 2.64%
Team turnover 2.31%
Poor tooling 1.98%
Other 1.32%
Lack of team members 0.99%
Infrastructure complexity 0.66%
Ongoing trouble with outsourced vendors 0.66%
What is the #1 cause of delivery What is the #1 cause of delivery
problems for your team? https:/ ct .ec/d02ab problems for your team? https:/ ct .ec/d02ab
Developers Managers
Unrealistic expectations 17.32% 11.11%

Lack of clearly defined deliverables 12.60% 11.76%

Ever changing landscape 12.60% 7.84%

Estimation 11.81% 16.99%

Requirements prioritization 9.45% 11.76%

Lack of well-defined success criteria 7.87% 11.11%


Lack of management
commitment and experience 5.51% 2.61%

Lack of team experience 4.72% 8.50%

Failure to coordinate with outside teams 4.72% 1.31%

Missing key skills on team 3.94% 4.58%

Lack of budget 3.15% 2.61%

Poor tooling 2.36% 1.96%


Ongoing trouble
1.57% 0.00%
with outsourced vendors
Team turnover 0.79% 3.92%

Infrastructure complexity 0.79% 0.65%

Technical debt 0.79% 1.31%

Lack of team members 0.00% 1.96%

Other 0.00% 0.00%


What is the #1 cause of delivery
problems for your team?* https:/ ct .ec/d02ab

Average performers Top performers

Unrealistic expectations 13.84% 17.04%

Estimation 13.84% 16.30%

Lack of clearly defined deliverables 11.95% 11.85%

Requirements prioritization 9.43% 13.33%

Lack of well-defined success criteria 8.81% 11.11%

Ever changing landscape 8.18% 10.37%

Lack of team experience 10.69% 2.96%

Missing key skills on team 6.29% 1.48%

Lack of management commitment and experience 3.77% 2.96%

1.89%
Failure to coordinate with outside teams 4.44%

Lack of budget 1.26% 2.96%

Team turnover 3.14% 0.74%

Poor tooling 1.89% 2.22%

Other 1.89% 0.74%

Lack of team members 0.63% 1.48%

Infrastructure complexity 1.26% 0.00%

Ongoing trouble with outsourced vendors 1.26% 0.00%

*Top and average separation is based on a self-evaluating question from page 24.
How do you ensure code quality? https:/ ct .ec/e2B3J

67.66%

45.21%

20.13% 20.13% 19.47%

12.54%

1.32%

Peer review CI and TDD Commenting Documentation Using industry No specific way Other
within the code style guide
How do you ensure code quality?* https:/ ct .ec/e2B3J

73.53%

63.52%

47.79%
42.77%

22.06% 22.06% 20.59%


17.61% 18.24% 18.24% 16.98%

4.41%
0.74% 1.89%

Peer review CI and TDD Commenting Documentation Using industry No specific way Other
within the code style guide

Top performers
Average performers
*Top and average separation is based on a self-evaluating question from page 24.
ABOUT THIS SURVEY

This year’s State of Software Development survey


had the largest number of respondents, 303 pro-
fessionals from 48 countries participated. This
chapter provides more info about who they are,
what kind of company they work for and where
they’re based.

01101000 01110100 01110100 01110000


01110011 00111010 00101111 00101111
01100010 01101001 01110100 00101110
01101100 01111001 00101111 00110010
01001000 01101001 01001101 01011001
01011010 01000010
Middle East, Africa
B2G 4.62%
Other
2.31%
5.61% Central & South America
6.93%

Asia & Australia


7.92%

B2C To whom does Where are you Europe


27.72% your company based? 40.59%
primarily sell?

B2B
64.36% North America
39.93%
So
ft
w
IT ar
Se e/T
rv e
M ic ch
ar es n
ke /C olo
Fi on g
tin n
a y
g, nc sul 38.61%
PR ia ti
l S ng
or e 14.52%
Ad rvi
ve ces
rt
i 6.93%
Ed sing
A uc 4.95%
rt
s at
& io
n
What industry are you in?

En
M te O 4.95%
ed rta the
ia in r 3.96%
/P m
ub en
Te
le
lis t 2.64%
co He hin
m a g
m lth 2.64%
un ca
ic re 2.31%
G a
Co ov tion
ns ern s 2.31%
um m
en
M er
an G t 1.98%
uf oo
ac ds
tu 1.98%
N ri
on ng
Au -pr
1.65%
to ofit
m 1.65%
ot
iv
Tr
av e
el R 1.32%
& et
To ail
u 1.32%
In rism
su
ra 1.32%
nc
U e
til 1.32%
i
In Ho ties
du s pi 0.99%
st t
ria alit
Ac lG y
o
0.66%
co R
ea od
un l s 0.66%
H tin Est
um g at
S e
an e
rv 0.66%
R
es ice
ou s 0.33%
rc
es
0.33%
Chief Information officer
1.98%
Engineering Team Lead
1.32%
Engineering Manager
0.99%
CEO Owner or Founder
2.97% 0.99%
VP of Engineering What’s your role in your
Architect
company?
4.29% 0.66%
Product owner Agile coach
5.61% 0.66%
Engineering Director Developer
6.60%
40.59%
Head of Engineering
6.60% Other
7.26%
Chief Technology Officer
19.47%
How many full-time employees How big is your software team?
does your company have?

32.34%
29.70%
25.74%

18.15%
16.17% 17.16%
13.86%
10.89% 12.21% 11.88%
8.25%
3.63%

0-5 6-10 11-20 21-40 41-100 101+ 0-5 6-10 11-20 21-40 41-100 101+
BYLINES AND
METHODOLOGIES
Coding Sans fielded an online survey in cooperation
with 10 partner companies from the end of January
2018 until 12th of March 2018. The survey was
available in English and consisted of 37 questions.
The responses were sourced via email invitations,
social media and newsletter promotion with other
companies. No personal information was collected
within the survey, and a book was offered as a prize
for one lucky participant.

01101000 01110100 01110100 01110000


01110011 00111010 00101111 00101111
01100010 01101001 01110100 00101110
01101100 01111001 00101111 00110010
01001000 01101111 01111010 01001101
01101101 01101100
Coding Sans is a software development agency, build-
ing serverless mobile and web applications.

We’re based in Hungary working for companies all

NICE TO MEET YOU around the world.

Let’s connect:

Our Facebook page


https://www.facebook.com/CodingSans/
Yes, Twitter
https://twitter.com/codingsans
Our Linkedin page
https://www.linkedin.com/company/coding-sans/

Say hi here: info@codingsans.com


Talk with a human: Matt Wohlmuth +36-30-281-5252
Questions & Feedback: tamas@codingsans.com
Snail mail: 1051 Budapest, Arany János u. 10., Hungary
Website: http://codingsans.com/?utm_source=SOS2018
www.codingsans.com

Vous aimerez peut-être aussi