Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
State of Software Development2018
Published by
3 Introduction
4 Cool Partners
5 Managing Software Development
11 Tools
15 Hiring Talents
20 SoftwareOutsourcing
23 Performance Measurement
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.
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 TorokHead of Online Marketing, Coding Sans
Feel free to share the statistics by clicking on the logo.
INTRODUCTION
https://ctt.ec/FoT0k
COOLPARTNERSPublishing this report wouldn’t have been possible without the close collaboration with these cool companies. If you want to take your software project to the next level, make sure to check them out.
https://apiumhub.com
https://clutch.co/https://instabug.com
https://www.gitkraken.comhttps://usersnap.comhttps://www.stridenyc.com/
https://codeship.comhttps://codegiant.io/
https://www.shippable.com
MANAGINGSOFTWARE DEVELOPMENTThe 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.
Capacity Hiringtalent
Sharingknowledge
Timemgmt.
Employeeretention
Selectingtechnology
Other
26.16%
23.84%
14.57%13.91%
13.25%
3.31% 3.31%
1.66%
Prioritizingdev.
https://ctt.ec/nc203What is your biggest challenge in software development?
What have you done to overcome these challenges?
CAPACITY
The most popular way to overcome this chal-lenge is to optimise team’s workflows and perform the work more effectively. After that comes relentless prioritization and increasing the number of people working on the project. 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, external headhunters or agencies to get in touch with potential candidates. Another 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.
https://ctt.ec/ERcbS
https://ctt.ec/ERcbS Seeing an aggregated picture of the challenges is a cool 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.
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.
33.55%
28.29%
14.47%
11.84%
7.24%
3.29%1.32%
11.90%
24.60%
15.87%
18.25%
21.43%
2.38%
5.56%
Hiring talent Capacity Prioritizingdevelopment
Sharingknowledge
Timemanagement
Employeeretention
Selectingtechnology
What is your biggest challenge in software development?
Manager
Developer
https://ctt.ec/s86jb
Scrum
Kanban
We don’t use agile methodology
Lean software development
Agile modeling
Extreme programming (XP)
Scrumban
Feature-driven development (FDD)
Rapid application development
Disciplined agile delivery
Adaptive software development (ASD)
Agile Unified Process (AUP)
Dynamic systems development method (DSDM)
58.09%
38.94%
15.18%
14.19%
13.86%
11.55%
11.55%
8.58%
8.25%
3.30%
2.31%
2.31%
0.66%
Crystal Clear methods 0.33%
Do you use any of these agile soft-ware development methodologies?*
*Compared to the whole sample (n=303).
https://ctt.ec/_sy80
https://ctt.ec/QcbYO
What are your company’s primary programming languages?*
What new programming languages are you considering to use in the next 12 months?*
JavaScript
Java
Python
C#
PHP
TypeScript
Ruby
C++
Swift
Other
Go
C
Objective C
Scala
Kotlin
Perl
60.73%
30.03%
25.41%
24.42%
20.46%
11.22%
9.57%
9.24%
8.91%
7.59%
5.94%
4.95%
3.96%
3.30%
2.97%
0.33% Not considering any new languages
Python
Go
JavaScript
TypeScript
Kotlin
Other
Java
Swift
C#
Scala
PHP
C++
Ruby
Objective C
C
36.63%
18.15%
16.83%
16.17%
14.85%
9.24%
7.92%
7.26%
6.93%
4.95%
4.95%
3.96%
3.30%
3.30%
1.65%
1.32%
*Compared to the whole sample (n=303).
https://ctt.ec/D6fPv
74.92%Yes
Yes
No
I don’t know
7.89%
51.32%
25.08%
40.79%
NoIs remote work allowed
at your company?
Are you planning to allow remote work in the next 12
months?https://ctt.ec/D6fPv
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.
TOOLS
Do you use any tools for software testing?
What are the factors that are limiting you from using one?
What tool(s) do you use for testing?Yes
No
69.97%
30.03%Budge
t / co
sts
We don
’t nee
d it ye
t
I’m not
sure
how to
use it
Time t
o res
earch
Time t
o use
Other
18.68%17.58%
10.99%
19.78%
6.59%
Selenium
Jenkins
Mocha
Jest
JUnit
Cucumber
Phpunit
Nunit
Browserstack
Pytest
CircleCI
Jmeter
Karma
Jasmine
12.54%
6.27%
5.94%
5.94%
5.61%
4.95%
4.95%
2.97%
2.97%
2.97%
2.64%
2.64%
2.31%
2.31%
26.37%
Other 42.90%
https://ctt.ec/LH3Vs
https://ctt.ec/LH3Vs
https://ctt.ec/LH3Vs
Jira
Other
GitHub
Trello
Asana
Not using any tool
TFS
Pivotal Tracker
Redmine
VSTS
BitBucket
44.88%
16.17%
12.21%
9.24%
3.63%
2.64%
2.64%
2.31%
1.98%
1.32%
1.32%
Git SVN TFS SCM Not using any
Other
7.92% 3.96% 1.32% 0.66%2.64%
Default i
nterfac
e
GitKrak
en
Source
Tree
GitHub D
eskto
pTo
wer
Torto
iseGit
Smart
GitGitU
pGitla
b
BitBuck
etOth
er
31.68%
27.72%
23.43%
14.52% 14.19%
4.62% 4.29% 3.96% 2.97%1.65% 1.65%
What tool do you use for project management?*
What version control system do you use?*
What SCM tool(s) do you use?*
94.72%
*Compared to the whole sample (n=303).
https://ctt.ec/4D1k5 https://ctt.ec/R3w02
https://ctt.ec/ee7em
Slack Email Jira Skype Go to meeting
GoogleHangouts Other Trello Hipchat Zoom Telegram Discord Webex
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%
Matter-most
What tools do you use to communicate during a project?*
*Compared to the whole sample (n=303).
https://ctt.ec/baRe2
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!
HIRING TALENTS
Employ
ee
referr
als
In-hou
se
recru
iter(s
)
Profes
sional
connec
tions
No spec
ific w
ay
Haven
’t hire
d talen
t for
softw
are dev
elopm
ent
Recru
itmen
t age
ncy or
headhunter
Linke
din
Online
HR portal
sOth
er
Internsh
ip/ Cam
pus
Recru
itmen
t
25.08%
16.83%
12.87%11.88%
10.89%9.57%
6.93%
2.97%1.98%
0.99%
What’s your most e�cient method to hire talent for software development? https://ctt.ec/g6pui
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%
What are your most important hiring criteria?*
*Compared to the whole sample (n=303).
https://ctt.ec/KUnG4
Interesting/challenging taskTeam (team spirit, culture)
Company’s potential
Growth opportunity (professional)Flexible working hours
Remote workSalary (higher than their previous)Self-management/independence
Stock optionDon't know
None
Stability
44.88%44.88%
28.38%26.73%
25.74%22.77%
20.46%18.81%
4.29%0.99%
0.66%0.33%
Challenging/engaging work
Team (team spirit, culture)
Autonomy
Exciting product
Variety of tasks
Money
Extra benefits
Trainings
Carrier path
Stock options
None
Conferences
60.40%
59.41%
35.64%
31.35%
28.38%
18.15%
16.50%
13.86%
13.53%
7.59%
0.66%
0.33%
How do you attract new software developers?*
How do you keep software developers motivated?*
*Compared to the whole sample (n=303).
https://ctt.ec/2XdeA
https://ctt.ec/2XdeA
Challen
ging/e
ngagin
g wor
k
Team
(team
spirit
, cultu
re)
Autonom
y
Excitin
g pro
duct
Varie
ty of
tasks
Money
Extra b
enefi
ts
Trainings
Carrier
path
Stoc
k optio
nsNon
e
Confer
ence
s
68.38%
60.29%
34.56%
36.03%
28.75%
23.13%
35.29%
16.91% 18.75
%
13.75%
11.88%
19.12%
16.18%
13.24%13.75
%
6.88%8.09%
1.47%
0.00%0.00%
0.74%
How do you keep software developers motivated?*
53.75% 59.38%
37.50%
Top performers
Average performers
*Top and average separation is based on a self-evaluating question from page 24. Compared to the whole sample (n=303).
https://ctt.ec/Ijw46
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?
SOFTWARE OUTSOURCING
Have you ever outsourced software development fully or partly?
NO
47.5%
YES
52.5%
Freelancer
Both
18.24%
37.11%
Software development
company
44.65%
Absolutelysatisfied
Somewhatsatisfied
Neither satisfied nor dissatisfied
Somewhatdissatisfied
Absolutelydissatisfied
10.06%
51.57%
16.98%11.95%
9.43%
How satisfied were you with the results?
To whom?
https://ctt.ec/10UFd
Yes
No
I don't know
4.86%
81.25%
13.89%
Are you planning to outsource software projects
in the next 12 months?
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.
PERFORMANCE MEASUREMENT
1 2 3 4 5 6 7 8 9 10
0.33% 0.66% 1.98%3.30%
7.92%
15.18%
26.07%
33.00%
7.59%
3.96%
How effective is software development at your company?*
*Sample is divided into three groups, based on the repondents’ answer on this self-evaluating question.
Top performersAverage performersLow performers
What metrics do you use to measure developer performance?*
What metrics do you use to measure developer performance?
Number of bugs
Test coverage
46.94%
50.00%
23.81%
27.89%
20.07%
22.11%
20.07%
5.44%
3.4%
1.70%
Working software
Completed tasks
Code readability
We don’t use any metrics
Speed of developer
Other
Third-party scoring/grading
Lines of code written
Top performers
Average performers
Working software
Completed tasks
Code readability
We don’t use any metrics
Speed of developer
Number of bugs
Test coverage
Other
Third-party scoring/grading
Lines of code written
29.63%18.24%
28.15% 26.42%
17.61%21.48%
21.48%22.01%
19.26%20.75%
5.93%2.52%
7.4%3.78%
1.48%1.89%
42.22%
47.41% 43.40%
54.09%
*Top and average separation is based on a self-evaluating question from page 24.
https://ctt.ec/Qc0xv https://ctt.ec/Qc0xv
Measuring code quality is di�-cult. There is no metric that could accurately indicate code quality. The most popular method teams use to decide if the code meets the quality standards is by reviewing the code and making sure it’s clear, commented and follows the best practices. Also, using linters can help a lot making the code easy to read and understand.
How do you measure it?
Code Readability
The most popular way soft-ware teams measure devel-opers’ speed is simply meas-uring the time a given task takes to complete. Some measure the number of story points per sprint and also tt100 (time to 100 = the amount of time it takes an engineer to write 100 productive lines of code) is a method to measure the speed of a developer.
Speed of developerHow do you measure it?
22.22% 27.67%
20.00% 22.64%
22.96%19.50%
5.93%6.92%
8.89%4.40%
5.19%5.66%
5.19%5.03%
2.22%3.77%
3.70%3.14%
3.70%1.26%
Working software
On time delivery
Ticket/Feature throughput
360-reviews
Defect rates
Budget management
Other
25.08%
21.45%
21.12%
6.60%
6.60%
5.28%
4.95%
3.30%
3.30%
2.31%
What is the #1 measured criteria for success of software development managers?*
What is the #1 measured criteria for success of software development managers?
Not measured by any concrete criteria
NPS or similar stakeholder satisfaction score
Customer or stake-holder survey results
Working software
On time delivery
Ticket/Feature throughput
360-reviews
Defect rates
Budget management
Other
NPS or similar stakeholder satisfaction score
Customer or stake-holder survey results
Top performers
Average performers
*Top and average separation is based on a self-evaluating question from page 24.
Not measured by any concrete criteria
https://ctt.ec/d02ab https://ctt.ec/d02ab
What is the #1 cause of delivery problems for your team?
14.85%Unrealistic expectations
14.52%Estimation
12.21%Lack of clearly defined deliverables
11.22%Requirements prioritization
9.90%Lack of well-defined success criteria
9.24%Ever changing landscape
6.93%Lack of team experience
3.96%Missing key skills on team
3.63%Lack of management commitment and experience
2.97%Failure to coordinate with outside teams
Lack of budget 2.64%
Team turnover 2.31%
Poor tooling 1.98%
Other 1.32%
Lack of team members 0.99%
0.66%Infrastructure complexity
0.66%Ongoing trouble with outsourced vendors
https://ctt.ec/d02ab
Unrealistic expectations
Lack of clearly defined deliverables
Ever changing landscape
Estimation
Requirements prioritization
Lack of well-defined success criteria
Lack of team experience
Failure to coordinate with outside teams
Missing key skills on team
Lack of budget
Poor tooling
Ongoing troublewith outsourced vendors
Team turnover
Infrastructure complexity
Technical debt
Lack of team members
Other
17.32%
12.60%
12.60%
11.81%
9.45%
7.87%
5.51%
4.72%
4.72%
3.94%
3.15%
2.36%
1.57%
0.79%
0.79%
0.79%
0.00%
0.00%
11.11%
11.76%
7.84%
16.99%
11.76%
11.11%
2.61%
8.50%
1.31%
4.58%
2.61%
1.96%
0.00%
3.92%
0.65%
0.00%
1.31%
1.96%
What is the #1 cause of delivery problems for your team?
What is the #1 cause of delivery problems for your team?
Developers Managers
Lack of managementcommitment and experience
https://ctt.ec/d02ab https://ctt.ec/d02ab
What is the #1 cause of delivery problems for your team?*
Unrealistic expectations
Estimation
Lack of clearly defined deliverables
Requirements prioritization
Lack of well-defined success criteria
Ever changing landscape
Lack of team experience
Missing key skills on team
Lack of management commitment and experience
Failure to coordinate with outside teams
Lack of budget
Team turnover
Poor tooling
Other
Lack of team members
Infrastructure complexity
Ongoing trouble with outsourced vendors
Top performersAverage performers
17.04%
16.30%
11.85%
13.33%
11.11%
10.37%
2.96%
2.96%
4.44%
2.96%
0.74%
0.74%
1.48%
0.00%
0.00%
2.22%
1.48%
13.84%
13.84%
11.95%
9.43%
8.81%
8.18%
10.69%
6.29%
3.77%
1.89%
1.26%
3.14%
1.89%
1.89%
0.63%
1.26%
1.26%
*Top and average separation is based on a self-evaluating question from page 24.
https://ctt.ec/d02ab
Peer review CI and TDD Commentingwithin the code
Documentation Using industrystyle guide
No specific way Other
67.66%
45.21%
20.13% 20.13% 19.47%
12.54%
1.32%
How do you ensure code quality? https://ctt.ec/e2B3J
Peer review CI and TDD Commentingwithin the code
Documentation Using industrystyle guide
No specific way Other
73.53%
63.52%
47.79%
42.77%
22.06% 17.61%
22.06%18.24%
20.59%18.24%
4.41%
16.98%
0.74% 1.89%
How do you ensure code quality?*
Top performers
Average performers*Top and average separation is based on a self-evaluating question from page 24.
https://ctt.ec/e2B3J
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.
ABOUT THIS SURVEY
01101000 01110100 01110100 0111000001110011 00111010 00101111 0010111101100010 01101001 01110100 0010111001101100 01111001 00101111 0011001001001000 01101001 01001101 0101100101011010 01000010
B2B
B2C
Other B2G
64.36%
27.72%
5.61%2.31%
To whom does your company primarily sell?
Europe
North America
Asia & Australia
Central & South America
Middle East, Africa
40.59%
39.93%
7.92%
6.93%
4.62%
Where are you based?
14.52
%
6.93%
4.95%
4.95%
3.96%
2.64%
2.64%
2.31%
2.31%
1.98%
1.98%
1.65%
1.65%
1.32%
1.32%
1.32%
1.32%
0.99
%
0.66
%
0.66
%
0.66
%
0.33
%
0.33
%
38.61
%
Softw
are/Te
chnolo
gy
IT Se
rvice
s/Con
sultin
g
Finan
cial S
ervic
es
Marketi
ng, PR or
Adve
rtisin
g
Arts & Enter
tainm
ent
Media
/ Publis
hing
Health
care
Govern
men
t
Consu
mer
Goods
Manufac
turin
g
Non-p
rofit
Insuran
ce
Utilitie
s
Hospita
lity
Industrial
Goo
ds
Real E
state
Accou
nting S
ervic
es
Human
Res
ource
s
Autom
otive
Trave
l & To
urism
Retail
Telec
omm
unicatio
ns
Educatio
nOth
er
What industry are you in?
Chief Technology O�cer
Developer40.59%
19.47%
Other7.26%
Head of Engineering6.60%
Engineering Director6.60%
Product owner5.61%
VP of Engineering4.29%
CEO2.97%
Chief Information o�cer1.98%
Engineering Team Lead1.32%
Engineering Manager0.99%
Owner or Founder0.99%
Architect0.66%
Agile coach0.66%
What’s your role in your company?
0-5 6-10 11-20 41-100 101+
16.17%
10.89%13.86%
21-40
12.21%
17.16%
29.70%
0-5 6-10 11-20 21-40
32.34%
25.74%
18.15%
11.88%
41-100
8.25%
101+
3.63%
How many full-time employees does your company have?
How big is your software team?
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.
BYLINES ANDMETHODOLOGIES
01101000 01110100 01110100 0111000001110011 00111010 00101111 0010111101100010 01101001 01110100 0010111001101100 01111001 00101111 0011001001001000 01101111 01111010 0100110101101101 01101100
Coding Sans is a software development agency, build-ing serverless mobile and web applications.
We’re based in Hungary working for companies all around the world.
Let’s connect:
Our Facebook pageYes, TwitterOur Linkedin page
Say hi here: [email protected] with a human: Matt Wohlmuth +36-30-281-5252Questions & Feedback: [email protected] mail: 1051 Budapest, Arany János u. 10., HungaryWebsite: www.codingsans.com
NICE TO MEET YOUhttps://www.facebook.com/CodingSans/https://twitter.com/codingsans
https://www.linkedin.com/company/coding-sans/
http://codingsans.com/?utm_source=SOS2018