We recently announce source{d} 0.11, 0.12 and 0.13, two releases with lots of new features and performance improvements. From windows support, to port management, C# language support and new SQL querying, there is a lot for you to get excited about. We also discussed why you should care about Engineering Observability and what are some of the top use cases for source{d} in enterprises.
5. Entering a new Observability era
1990s
Linux
Apps are monolithics and the work
split across silos: Development,
Testing and Operations
Git
Version Control allowed
developers to collaborate
effectively
2000s
DevOps
CI / CD and container systems
allowed Developers and Ops
to collaborate effectively
Observability
Shared data, common
processes and end to end
visibility allowing business and
IT leaders to collaborate
effectively
2020s2010s
6. 6
Large investment success!
$200M+
average investment per year
over five years for large companies to
transform their business to digital
COSTLY
Sources: McKinsey: A CEO guide for avoiding the ten traps that derail digital transformation (2017); McKinsey: Digital Reinvention (2017).
RISKY
>70%
failure rate
In all IT platform
renewal projects
Veterans Affairs Wasted Closer to $2
Billion On Failed IT Projects
Michigan Sues HP Over $49
Million IT Modernization Project
7. 7
IT Modernization = opportunities
$1.4 billion
annual incremental revenues
potential impact of the right
transformation team over 9 months
VERY REWARDING
✔ Reduces infrastructure and/or development costs
✔ Faster time to market & issue resolution
✔ Higher developer productivity & morale
✔ Shifting IT budget from maintenance to innovation, from CapEx to OpEx
✔ Tech stack is more appealing to engineering talents
8. 8
What is the common thread
between successful IT
modernization projects?
Clear visibility over technology
portfolio, people and processes
9. With no data, IT leaders are in the dark
Lack of visibility comes from:
✖ Volume, variety, intricacy and versioning of source code
✖ No easy way to retrieve, parse and query source code history at scale
✖ Lack of proper documentation and/or expertise with legacy systems
✖ Source code, software development and business data are spread
across many silos
✖ Shadow IT due to developer frustration with legacy systems & slow
processes
Higher risk of failure
or future rework
10. Where are we now and
what should change?
- How are my people, processes
and technology today?
- Which and how they need
change to achieve our targets?
What do we want and
what do we get out of it?
- What generates value or cuts
costs aligned with our vision?
- Which parts of the product
and processes are suitable?
10
Modernization is a journey
Who to involve and
How do we measure progress?
- What stakeholders & team are
fit and what they care about?
- What KPIs give stakeholders
visibility on actual progress?
SET TARGETS ASSESS & PLAN EXECUTE & MONITOR
Adapted from: McKinsey & Co., Modernizing IT for a digital era (2016).
11. 11
Modernization is not just about code
Understand the technology in
your organization.
- Measure your technology
transformation
- Languages, frameworks, libs
- Map architecture & issues
- Map dependency & impact
Analyze and drive behavior in
your organization.
- Codify your guidelines
& best practices
- Measure impact of actions
- Adopt new practices
(InnerSource)
- Map/avoid compliance issues
PEOPLE PROCESSES TECHNOLOGY
Understand your existing talent
& where you need to upskill.
- Talent analysis
- Skill gap analysis
- Collaboration assessment
- Project/Talent fit
- Identifying knowledge leaders
Adapted from: McKinsey & Co., Digital Reinvention – From disrupted to disruptor: Reinventing your business by transforming the core (2017).
13. Make better decisions
based on actionable
insights from graphs,
charts and tables
13
source{d} data platform
TIMELY
Get up-to-date insights
into your Software
Development Life
Cycle
SCALABLE AI-POWERED
Leverage Machine
Learning on Code to
provide advanced and
predictive analysis
VISUAL
Process billions of lines
of source code from
tens of thousands of
developers
15. Powerful analyses on demand
Universal ASTs* enable deep & wide analyses across
programming languages through semantic concepts
15
Answer your own hard unique questions at any time
Empower your teams through SQL queries
ACCESSIBLE FLEXIBLE & POWERFUL
source code UASTs
← write questions
get answers →
* Universal ASTs were developed by source{d} as a language agnostic layer on top of source code, analyze source code independent of the diversity of programming languages
16. 16
Built on top of our open-source
+2.5k
forks on GitHub
hundreds of community members
contribute back to source{d} projects
go-git
the core project of source{d} tech
3.8k stars & 390 forks
1.3k unique cloners
in the last 30 days
POPULAR IN OSS PROJECT HIGHLIGHT ENGAGED COMMUNITY
+15.5k
stars on Github
source{d} is one of the most popular
open-source software organizations
18. Top use cases
18
Technical Debt Assessment
& IT Modernization
Cloud Native &
Devops Adoption
Engineering Effectiveness
& Inner Source
Talent Assessment
& Management
Engineering Observability is the key to successful IT initiatives
19. 19
Technical Debt Assessment & Modernization
Questions:
● How many COBOL or Fortran lines of code /
files do you still have in your codebase?
● What % of your code/ apps is meant for
mainframes?
● Do we have any unmaintained code?
Queries:
● LoC & File counts per language / OS /
framework
● # repositories per language
● New repos created per languages
● Arguments and methods count
● File and method lengths
20. 20
Cloud Native & DevOps adoption
Questions:
● What apps haven't been adapted to the cloud?
● % of apps that have been dockerized?
● Have all our teams upgraded to the latest
version of Kubernetes?
Queries:
● % of projects with Dockerfiles, Helm charts, etc
● Release tags
● Upcoming: Build data (# of builds / day,
average build duration, etc)
21. 21
Engineering Effectiveness and Inner Source
Questions:
● Where is our development process slowing
down?
● Who are the top performing developers on this
project?
● How effective are we at cross-team / company
collaboration?
● Is code being re-used?
Queries:
● Code churn
● Per-project code ownership plots
● Top developers given project ownership,
language and C# import criteria.
● Measure the effectiveness of onboarding
processes (hire date to first commit merged?)
22. 22
Talent Assessment and Management
Questions:
● How effective are individual developers on my
team and do they have the right skill set?
● Are any of my developers falling behind on
work? How do they compare to the rest of the
team?
● What are the mentorship opportunities I can
give to my developers?
Queries:
● "Impact" of each commit for each project
● # of additions, deletions, file changed by day,
week, month, year
● # of new lines of code, comments or blank
lines by day, week, month, year
● Detect clusters of developers with similar skills
24. v0.11 recap
24
● C# language support.
● Windows 10 support with Docker for Windows (experimental).
● Engine CLI can switch between different datasets.
● Performance improvements: traversing commits is up to 3x faster.
● Lots of bug fixes and stability improvements.
25. v0.12 recap
25
● Up to 2x performance improvement on language parsing.
● Default command line client for querying switched to official MySQL client.
● Lots of usability improvements.
● Lots of bug fixes.
26. v0.13 highlights
26
● Engine configuration can be edited with the srcd config command.
● CPU usage cap to avoid freezing the host on intensive workloads.
● Logging improved and more flexible.
● Command autocompletion.
27. Next releases
27
● Improvements to usability in the web interface
● Integrated customizable dashboard user interface
● Unified interface for dashboarding, querying, UAST inspection
● Built-in more advanced analyses: Git diff for trees, blobs; blame
● Enterprise Edition
WHAT TO EXPECT