ucd application developer survey 2016 final report · 2020-06-10 · (campus data source usage,...

31
UCD Application Developer Survey 2016 Prepared by: Christopher Thielen, Lead Application Developer DSS IT March 23, 2016 UC DAVIS APPLICATION DEVELOPER SIG

Upload: others

Post on 13-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

UCD Application Developer Survey 2016 Prepared by: Christopher Thielen, Lead Application Developer DSS IT March 23, 2016

UC DAVIS APPLICATION DEVELOPER SIG

Page 2: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

EXECUTIVE SUMMARY 4 OBJECTIVE 4 RESPONSE SUMMARY 4 CONCLUSIONS 5

RESPONSES 7 TEAMS 8

DEVELOPERS PER PROJECT 8 TEAM SIZE 9 APPLICATION COUNT 10 USES DESIGNERS 11

TECHNOLOGY STACK 12 LANGUAGE USAGE 12 DATABASE USAGE 13 FRONT-END JS DEVELOPMENT 14 CLOUD HOSTING 15

SOFTWARE LIFECYCLE 16 VERSION CONTROL USAGE 16 TEST USAGE 17 MONITORING 18 SECURITY SCANNERS 19

COMMUNITY 20 CAMPUS DATA SOURCE USAGE 20 OPEN SOURCE PUBLISHING 21 EXISTING COLLABORATION 22 COMMUNITY ENGAGEMENT 23 SENSE OF CONNECTEDNESS 24 INTEREST IN COMMUNITY BUILDING 25

TEAM SIZE VS. SOFTWARE LIFECYCLE PRACTICES 26 TEAM SIZE VS. AUTOMATED TESTING 26

UC DAVIS APPLICATION DEVELOPER SIG

Page 3: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

TEAM SIZE VS. SECURITY SCANNING 27 TEAM SIZE VS. CLOUD HOSTING 28 TEAM SIZE VS. MONITORING 29

APPENDIX 30 SURVEY METHODOLOGY 30 SALARY INVESTMENT CALCULATION 30

CREDIT 31

UC DAVIS APPLICATION DEVELOPER SIG

Page 4: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

EXECUTIVE SUMMARY Objective

The federated nature of UC Davis creates challenges in collaboration, resource sharing, and mentorship for developers on campus. This survey was designed to better understand the current environment from a developer’s perspective.

Response Summary Teams (Developers Per Project, Team Size, Application Count, Uses Designers) • Projects tend to have 2-6 developers though a single developer per project is not atypical. • Almost 2/3s of developers support 6+ applications. • Designers are rarely used.

Technology Stack (Language Usage, Database Usage, Front-end Javascript Development, Cloud Hosting) • Java, C#, PHP, and Python top the list with a notable amount of legacy ColdFusion. • Oracle, MySQL, and SQL Server make up most database usage. NoSQL and other newer forms are not widely

used. • Web front-ends consisting of jQuery or a more sophisticated framework are used by about 2/3s of respondents. • Cloud hosting is not widely used.

Software Lifecycle (VCS Usage, Test Usage, Monitoring, Security Scanners) • Git is very popular. • Testing is largely not performed. • Around 3/4s of respondents use some form of application monitoring. • Security scanners are not widely used.

Community (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness, Interest in Community) • Public open source participation is low though a majority of respondents are interested. • Most teams do not collaborate with other teams often. • Around 2/3s of respondents engage in some form of community (mailing lists, etc.) • Sense of connectedness with other developers is very poor. • Interest in building community is strong.

Page 5: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

Team Size vs. Software Lifecycle Practices • Larger team size correlates with most software lifecycle practices.

Conclusions (Opinions of survey report author.)

UC Davis commits an estimated $27 million in salary investment to software development on campus but the practices currently utilized do not adequately realize that investment. Development is largely performed along the same divisions of the University’s federated structure, resulting in severe strategy separation, redundant effort, and a hindered developer community. Opportunities for collaboration are not widely grasped and the resulting duplicative effort can be found in areas as small as specific software routines up to entire development products.

It should be noted the organizational separation is likely responsible for the positive effect of allowing greater tool choice and autonomy within the development community. It has been theorized that having many disparate teams enables those teams fit for rapid technology adoption to do so without hinderance, allowing the University a certain degree of agility.

Sophisticated development practices found in the modern Software Development Lifecycle (structured design, testing, monitoring, formal security policies, code retirement) are not widely adopted, likely due to inadequate team sizes. Current resource allocations demand an average of at least six applications per developer, suggesting applications receive insufficient coverage.

There are many proposals to address this problem:

• Consolidate development resources where appropriate (college-level, IT service center, or similar). This will enable specialization of talent (test engineers, front-end designers, development operations) to better target the needs of the Software Development Lifecycle.

• Greatly increase the quantity and affordability of shared services: the campus virtualization cluster as well as its dynamic analysis security scanner are beginnings toward this end but additions could be made such as a turnkey continuous integration service, easily-updatable starter templates for application projects (such as the “UCD Arch” bootstrap provided by the College of A&ES), and so on.

• Provide training certificates to mitigate the lack of available developer mentorship in small teams.

• Support community efforts to share source code, provide specific examples of popular subroutines, and maintain a directory of public subject-matter experts willing to answer questions.

• Create a specific on-boarding experience for new developers to quickly understand the resources and structures here at the University.

Page 6: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

It is the intention of the Application Developer SIG to produce these survey results annually and track any changes to determine growth in these areas.

Page 7: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

RESPONSES

Page 8: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

Teams

Developers Per Project

!

Answer Response %

1 48 37%

2-3 54 42%

4-6 27 21%

7+ 1 1%

Total 130 100%

7+1%4-6

21%

2-342%

137%

Page 9: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

Team Size

!

Answer Response %

1 23 18%

2-3 46 36%

4-8 44 34%

9+ 16 12%

Total 129 100%

9+12%

4-834%

2-336%

118%

Page 10: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

Application Count

!

Answer Response %

0-2 17 13%

3-5 36 28%

6-10 28 22%

11+ 49 38%

Total 130 100%

11+38%

6-1022%

3-528%

0-213%

Page 11: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

Uses Designers

!

Answer Response %

Near Always 10 8%

Usually 8 6%

Sometimes 41 32%

Rarely/Never 70 54%

Total 129 100%

Rarely/Never54% Sometimes

32%

Usually6%

Near Always8%

Page 12: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

Technology Stack

Language Usage

!

Answer Response %

ColdFusion 27 23%

PHP 36 30%

Python 22 18%

Perl 11 9%

Ruby 7 6%

C# 24 20%

Java 45 38%

Javascript 97 81%

Other 43 36%

Language Usage

ColdFusion

PHP

Python

Perl

Ruby

C#

Java

Other

0 12.5 25 37.5 50

Page 13: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

Database Usage

!

Answer Response %

Oracle 51 42%

MySQL (or MariaDB) 59 49%

SQL Server 57 47%

PostgreSQL 18 15%

MongoDB 23 19%

MS Access 12 10%

SQLite 14 12%

Apache Derby 1 1%

FileMaker 8 7%

Other 7 6%

Oracle

MySQL (or MariaDB)

SQL Server

PostgreSQL

MongoDB

MS Access

SQLite

Apache Derby

FileMaker

Other

0 15 30 45 60

Page 14: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

Front-end JS Development

!

Answer Response %

Frameworks 40 34%

jQuery-only 42 36%

Small Snippets 17 15%

None 18 15%

Total 117 100%

None15%

Small Snippets15%

jQuery-only36%

Frameworks34%

Page 15: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

Cloud Hosting

!

Answer Response %

AWS 26 57%

Azure 13 28%

Heroku 1 2%

Rackspace 1 2%

Other 14 30%

No Answer 80

AWS

Azure

Heroku

Rackspace

Other

No Answer

0 20 40 60 80

Page 16: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

Software Lifecycle

Version Control Usage

!

Answer Response

Github 55

Bitbucket 56

Git (solo) 27

Subversion (solo) 25

CVS (solo) 2

Team Foundation Server 3

Other 13

No Answer 18

Github

Bitbucket

Git (solo)

Subversion (solo)

CVS (solo)

Team Foundation Server

Other

No Answer

0 15 30 45 60

Page 17: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

Test Usage

!

Answer Response

Jasmine 15

Junit 23

Nunit 4

TestNG 1

Minitest 1

Mocha 10

Other 23

No Answer 74

Jasmine

Junit

Nunit

TestNG

Minitest

Mocha

Other

No Answer

0 20 40 60 80

Page 18: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

Monitoring

!

Answer Response

Backend exceptions 62

Resource thresholds 34

JS exceptions 21

Responsiveness 31

Availability 52

Other 7

No Answer 38

Backend exceptions

Resource thresholds

JS exceptions

Responsiveness

Availability

Other

No Answer

0 17.5 35 52.5 70

Page 19: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

Security Scanners

!

Answer Response

Dynamic analysis 32

Static analysis 8

CVE reports 1

Other 7

No Answer 85

Dynamic analysis

Static analysis

CVE reports

Other

No Answer

0 22.5 45 67.5 90

Page 20: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

Community

Campus Data Source Usage

!

Answer Response

LDAP 73

IAM 18

Banner 46

CDW 33

PPS 39

ICMS 9

Other 21

No Answer 29

LDAP

IAM

Banner

CDW

PPS

ICMS

Other

No Answer

0 20 40 60 80

Page 21: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

Open Source Publishing

!

Answer Response %

No 44 37%

No, but desired 29 24%

Yes, only privately 14 12%

Yes, public/private mix 27 23%

Yes, all code open 6 5%

Total 120 100%

Yes, all code open5%

Yes, public/private mix23%

Yes, only privately12%

No, but desired24%

No37%

Page 22: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

Existing Collaboration

!

Answer Response %

Often 20 16%

Yes, not often 69 57%

No 33 27%

Total 122 100%

No27%

Yes, not often57%

Often16%

Page 23: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

Community Engagement

!

Answer Response %

Yes 85 69%

No 38 31%

Total 123 100%

Engages in UCD IT Community (e.g. tsp-share)

No31%

Yes69%

Page 24: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

Sense of Connectedness

!

Answer Response %

Very good 9 7%

Good 24 20%

Not good 61 50%

Poor/Non-existent 28 23%

Total 122 100%

Poor/Non-existent23%

Not good50%

Good20%

Very good7%

Page 25: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

Interest in Community Building

"

Answer Response %

Yes 56 47%

Yes, some amount 26 22%

Maybe 34 29%

Probably not 3 3%

Not at all 0 0%

Total 119 100%

Probably not3%

Maybe29%

Yes, some amount22%

Yes47%

Page 26: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

Team Size vs. Software Lifecycle Practices

Team Size vs. Automated Testing

!

1 2-3 4-8 9+

Yes 6 18 18 10

No 17 28 26 6

% Automated Testing

26.09% 39.13% 40.91% 62.50%

1

2-3

4-8

9+

0.00% 17.50% 35.00% 52.50% 70.00%

Page 27: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

Team Size vs. Security Scanning

!

1 2-3 4-8 9+

Yes 5 11 17 7

No 18 35 27 9

% Scanning 21.74% 23.91% 38.64% 43.75%

1

2-3

4-8

9+

0.00% 12.50% 25.00% 37.50% 50.00%

Page 28: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

Team Size vs. Cloud Hosting

!

1 2-3 4-8 9+

Yes 1 14 24 7

No 22 32 20 9

% Cloud Usage 4.35% 30.43% 54.55% 43.75%

1

2-3

4-8

9+

0.00% 15.00% 30.00% 45.00% 60.00%

Page 29: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

Team Size vs. Monitoring

!

1 2-3 4-8 9+

Yes 10 37 27 13

No 13 9 17 3

% Monitoring 43.48% 80.43% 61.36% 81.25%

1

2-3

4-8

9+

0.00% 22.50% 45.00% 67.50% 90.00%

Page 30: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

APPENDIX Survey Methodology

The survey utilized a set of 40 title codes at UC Davis resulting in 302 individuals. The survey was solicited to these individuals via e-mail and hosted using Qualtrics. It was also solicited via the campus TSP Share e-mail list, a community resource utilized by members of the UCD IT family. The survey received 156 responses over the course of two weeks.

Salary Investment Calculation The salary investment figure mentioned in the Execute Summary is the result of calculating the average salary based on public salary grade ranges for the 302 targeted individuals mentioned in the Survey Methodology section. The minimum investment figure was $17,633,386 and the maximum was $37,020,462.

Page 31: UCD Application Developer Survey 2016 Final Report · 2020-06-10 · (Campus Data Source Usage, Open Source Practices, Existing Collaboration, Community Engagement, Sense of Connectedness,

CREDIT Survey AuthorsChristopher Thielen (Lead Developer, Division of Social Sciences IT) Scott Kirkland (Enterprise Application Architect, College of A&ES)

Special ThanksJeremy Phillips (Director of IT, Division of Social Sciences IT) Steve Pigg (Executive Director of IT, College of Engineering) UCD Application Developer SIG members