Interviews

Techarenan names CodeScene as a Nordic rising star

Techarenan names CodeScene as a Nordic rising star

Global upstart solving a 3 trillion dollar problem

CodeScene identifies, visualizes and solves a host of software development problems. One of CodeScene’s most critical characteristics is its ability to reduce technical debt, which is currently a 3 trillion dollar problem globally.

Based on powerful algorithms and machine learning, CodeScene prioritizes technical debt and identifies code quality issues based on how organizations actually work with the code. It presents relevant, actionable information which can be directly turned into business value During 2020, two independent North American universities recognized CodeScene as the world’s leading platform for identifying technical debt. In the same year, CodeScene also successfully registered a patent in the US.

Since the start in 2015, CodeScene has rapidly developed an international client base, and currently has customers in 26 countries across many different industries. At present, CodeScene generates over 40% of its ARR (Annualized Recurring Revenue) from US customers, including several Fortune 100 firms. CodeScene has also experienced viral adoption at grassroots level within the developer community. This trend seems set to continue.

CodeScene – a company with a clear mission

Based on its international success so far, CodeScene’s strategy is clearly working. CodeScene is available to customers as a SaaS subscription, allowing them to instantly realize business value. The company plans to expand its sales and marketing footprint geographically, starting with the US after the summer. We will continue to scale up our marketing activities until our vision is known to all:

"Our vision is to give code an intelligent voice."


Techarenan nominates CodeScene as a Nordic rising star

Techarenan har arranged its annual ”Techarenan Challenge” since 2014 aimed at promoting the top 50 startup and growth companies in the Nordic region. In previous years, several well known companies have been nominated, which have since gone on to international success. For a company to be nominated, it needs a unique innovation or business idea combined with global commercial potential. Key selection variables are market growth potential, uniqueness and scalability. Techarenan has judged that CodeScene fulfills all these criteria. The company has thereby won a ticket to the final in Stockholm later this year.

From the left: Adam Tornhill (CTO & Founder), Hamdija Jusufagic (CEO & Co-founder) and Christian Kvist (COO & Co-founder)

Hamdija Jusufagic (CEO & Co-founder)

”To be nominated as part of Techarenans competition is a great honour for us, and at the same it is confirmation that we are running a business that makes a real difference. Not only on a local level, but also globally.”

Adam Tornhill (CTO & Founder)

“CodeScene helps software development projects succeed by clearly and concisely identifying risks and quality issues. However our greatest contribution to the IT industry is that we are able to visualize software quality for all involed, even non-technical stakeholders. This enables the right decisions to be taken in each and every case. . This nomination really means a lot to us – we solve a growing problem and are delighted at the acknowledgement”

About CodeScene

CodeScene is a SaaS platform that provides companies with valuable, actionable insights. These insights are visualized and prioritized in such a way that the user can always focus on the change and maintenance work that will have the biggest impact.

CodeScene solves the problem of technical debt by delivering innovative visual insights based on patented machine-learning algorithms. CodeScene’s platform is completely automated. Within a matter of minutes, the problems within a customer’s code base are identified and prioritized. By acting on the insights that CodeScene provides, customers can significantly reduce delivery risks and unnecessary extra work in their IT projects. In this way developer time and resource is freed up, for innovation and higher value activities. This also supports shorter time to market, which is directly correlated with business value.

CodeScene has been recognized internationally by two independent North American universities who named CodeScene as the best tool for managing technical debt. CodeScene has an international customer base and is used by companies such as Philips, Sky, SoundCloud, Tencent and DFDS. You can find out more about how companies solve their development challenges with CodeScene at codescene.com/reviews

For more information, please contact us at press@codescene.com

Ework interview

Interview with Daniel Asvelius, CIO Ework Group

All together I believe that CodeScene contributes with better insights, at a lower cost, compared to manual processes.

“Ework Group AB is a Swedish company founded in 2000 with operations in Sweden, Finland, Norway, Poland and Denmark. The company mediates consultants in collaboration with small and medium-sized consulting companies in IT, telecom, technology and business development.”
“We are looking at lead times, throughput and code quality as some examples.”

What are the main challenges in today’s distributed software development teams with respect to delivery efficiency?

In my opinion, as a CIO, it is to get everyone working in the same direction when teams are not meeting in person on a weekly basis. When the amount of small talk is heavily reduced its harder to identify misunderstandings in an early stage or to identify where additional clarifications might be needed. People also tend to avoid “nice to know” questions in meetings or to ask someone they never met in person, and when those questions are not asked in the lunchroom either they tend to stay unanswered. For this reason we work actively with our teams to not only know “what” they should do, but also “why” they should do it. When everyone is aware of the “why” we work better as a team and we see a reduced need for clarifications.

How do you and your teams currently use the CodeScene reports?

Depending on our roles in the teams we use them in different ways. As a CIO I’m mainly interested in getting an ”unbiased opinion” on how we are doing as an development organization, and an ability to identify potential risks lying ahead. I also see that our teams become more and more accurate in estimating tasks and maintaining their backlogs when this data is used for reports which are shared with management – something that makes it easier to plan our work. In essence our developers have increased their contribution in the areas of panning and reporting, in addition to coding, after we implemented CodeScene.

Which is the most important metric you are tracking in the CodeScene reports?

We are looking at lead times, throughput and code quality as some examples. We try to follow a group of KPI:s that has impact on each other to make sure that an increased output does not also come with lower code quality or longer lead times for fixing bugs (as one example). By following KPI:s in this way we can ensure that an increased focus on one area does not mean that we lose focus on other areas.

Daniel Asvelius, CIO Ework Group

Would it be possible to get this data without a tool like CodeScene?

It would, but it would take substantially more manpower to get the same level of insights into the data. It would also be harder to identify unknown risks since humans tend to focus on the risks they are already aware of, not the ones they are not aware of. All together I believe that CodeScene contributes with better insights, at a lower cost, compared to manual processes.

Is there any specific project you could share metrics about? In % if you are prohibited to share actual figures.

For the past years Ework has invested heavily in an online marketplace for services, such as consulting and staffing, called Verama (www.verama.com). Most of our development teams are focused on various parts of the Verama platform and since sales of it has gone better than expected, with multiple global brands already on board, our development teams have high expectations on their output.

I know from experience that when the demands for output increases we face risk of lower code quality which was one of the reasons we got in contact with CodeScene in the first place. At that time we set up an internal KPI saying that regardless of the pressure to deliver new features we should not let our code quality drop under 9 out of 10 to avoid building a technical backlog already from start. 3 years later we still keep this KPI and with a short drop to 8 and then back to 9 we have been able to maintain this high code quality throughout the whole project. This is something that I know our developers are very proud of and as a CIO its great to know that we are building on a solid foundation.

Read more about Ework group

Interview with CFO Edward Cattermole

Interview with Edward Cattermole, CFO Codescene.

I really like technology. Throughout my career I have always worked either in technology companies, or focused on the technology sector.

“I was born and bred in the UK, but my wife is Swedish so most of my adult life has been divided between the UK (London) and Sweden (Malmö / Stockholm).”

In your role as CFO at CodeScene, what will you bring to the table?

I am a finance generalist which is important for CodeScene at this stage in its evolution – there is work to be done across every area of finance, from the more technical side (accounting, tax, payroll) to the more commercial side (planning/analysis, contracts, investor relations) and everything in between. From my early years, I also have experience from outside finance. This is useful, as the CFO role in an early-stage startup often branches into other areas - such as operations or marketing. On a personal level I am relatively relaxed and try to keep a sense of humour at all times – both of these qualities help a lot when working in a startup environment as the pace and variety can be a bit crazy from time to time.

Why tech business and CodeScene?

I really like technology. Throughout my career I have always worked either in technology companies, or focused on the technology sector. I like the pace of change, but also the fact that there are some longer-term trends which generally prevail. My most recent experience was at Dell which has its origins as an innovator on the hardware & supply chain side of the industry. On leaving Dell I knew I wanted to work more closely with software and applications – so for me CodeScene was a great fit. I was also looking for a small company setting. While my background is mainly at large companies, I have generally worked in smaller satellite offices or in small divisions within the wider firm. I prefer this kind of environment, where it is easier to have a direct impact and you are generally closer to the customer.

Tell us a bit about yourself and your previous work experience.

I was born and bred in the UK, but my wife is Swedish so most of my adult life has been divided between the UK (London) and Sweden (Malmö / Stockholm). My academic background is in business, but after trying out a few different roles (from industry analyst to marketing manager), I found my home in finance. I am a qualified accountant but have always worked close to the commercial end of finance. I was most recently at Dell, where I spent 15 years in a variety of finance roles, most of them within Dell’s local operating companies in the UK, Denmark and Sweden.

How will programming change (in?) the coming years in your estimation?

Over the past couple of decades we have already seen the rise of software, applications and the automation they bring, as well as the long-term trend that hardware functionality tends to be absorbed by software. So in today’s landscape, organizations are already highly invested in software. Within programming, the biggest evolution in recent times has been the widespread adoption of the agile methodology, and related movements like DevOps. While these have allowed organisations to create & update software more quickly, there is a cost in terms of coordination. More updates made more frequently by more developers means more to keep track of. So I think a key change we will see in this space is organisations trying to get more sophisticated and structured about how they manage this “problem of control”.

€3 million in funding - How will this affect CodeScene ?

Until now CodeScene has been entirely boot-strapped, so this funding allows us to move much faster in scaling up the company. Our focus this year is on building out the organization and establishing a stronger presence in some of our most important markets, while continuing to invest in the product. As with any scale-up, there is also a cultural change we have to navigate as we go from being a small closely knit team to a larger diverse team without losing our identity. Since CodeScene has already had a highly distributed organization in its early years, I think we are well set to handle this.

Interview with Markus Borg, AI researcher

Interview with Markus Borg, AI researcher.

CodeScene goes beyond the other static analysis tools by considering more than just the source code instructions

“CodeScene goes beyond the other static analysis tools by considering more than just the source code instructions”
“We use CodeScene’s code health badge on our CI dashboard to encourage the students to maintain high-quality source code”

Who is Markus Borg?

I’m a researcher at the intersection of software engineering and applied artificial intelligence. I work at RISE Research Institutes of Sweden, and I teach at the Lund University as an adjunct lecturer. My first engineering job was in process automation. I returned to the university after a few years to pursue a PhD in software engineering. My primary research interests are related to software engineering for systems that rely on machine learning. Many projects right now deal with requirements engineering and testing of critical systems that must constitute “trustworthy AI,” e.g., automotive systems.

Tell us a bit about your class?

It is an introductory software engineering course that acts as a gateway to more advanced elective SE courses. The curriculum includes brief introductions to development processes, requirements engineering, software design, and software testing. Students practice programming in an IDE, git, test automation, writing technical documentation, formal inspections, developing a business plan, and working in a team. The backbone of the course is a small end-to-end development project done in groups of six students. Each group develops a robot for the programming game Robocode, and we host a tournament in the end.

The twist is that no group is allowed to field their own robot in the tournament. Instead, groups offer their robots on the “open market” and purchase other robots to compose a successful team. This sets up a market-driven development context that is more interesting than the bespoke development context that we typically see in university courses. Student groups must try to position themselves on the market and pitch their robot. In the end, we give three different awards. Student groups can 1) win the tournament, 2) end up as the most profitable group on the market, and 3) develop the robot that ended up as the most valuable during the tournament. The gamification leads to student engagement. I’ve written more about it in a paper.

What are the main challenges in software projects?

Software engineering is a creative human activity. The biggest challenges boil down to human factors. Technology is complex too, of course, but the biggest challenges are related to aligning the involved engineers – both in time and space. We’re getting better at aligning distributed developers. The time dimension, however, remains tricky. Software systems evolve for years, perhaps decades. Humans don’t remember what we had for dinner three days ago. We need tools supporting collaboration, communication, and comprehension. When we support these three C-words, the technical challenges will find their solutions.

How does your course prepare the students for these challenges?

The course is a typical 101 course, a first encounter of software engineering. The students have taken some programming courses before but never worked together in teams. We work in small teams of six students for two months – but this small setting is still enough to experience some of the human issues. If you never contributed to a shared code repository before, this is a big step. Prior to this course, the students have done some pair programming and joint lab exercises. A majority of the students have never used git before.

The approach in the course is that we expose the student teams to a small-scale software engineering project. We discuss what is going on, what the main challenges tend to be, and how to mitigate them. When specific issues pop up, we illuminate them and try to maximize learning. All this requires continuous monitoring of the development process. We set up a continuous integration environment for the student teams and do our best to stay on top of the activity. We encourage the students to communicate using Slack. This helps the supervisors to follow the discussions. This has worked particularly well during the pandemic actually. Most work is done by distributed teams of students, and more communication happens in Slack channels.

How are your students using CodeScene?

We use CodeScene for gamification and visualization. First, CodeScene contributes nicely to the gamification approach we rely on in the course. We use CodeScene’s code health badge on our CI dashboard to encourage the students to maintain high-quality source code. Getting such an explicit assessment motivates the students to investigate code smells and refactoring accordingly. Second, we use the visualizations provided by CodeScene during supervision meetings. Visualizations of hotspots and code health are intuitive. I like them as a backdrop when meeting with student teams. When both supervisors and students rest their eyes on the same visualizations, it is easier to guide discussions around the source code repository. I find that the importance of source code visualization in teaching has been amplified during all the screen-sharing sessions we’ve had throughout the pandemic.

How does CodeScene complement other tools used in your class?

We use a bunch of tools in the course to support the students’ Java development. While many tools are great, I also don’t want to overwhelm the students. I prefer sticking to a set that I really like. Teams maintain their code on GitHub and we use GitHub Actions for CI together with Gradle and the JaCoCo Java Code Coverage Library. The test results are sent to CodeClimate. We also use the static code analysis provided by CodeClimate supported by SonarJava. We also use FindBugs during our lab sessions. CodeScene goes beyond the other static analysis tools by considering more than just the source code instructions. I’m very pleased with the toolbox used in the course at the moment – the students get a good feel of what can be done with tool support.

Rating and analyzing the code.

Rating and analyzing the code.

Interview with Stephen Marikkar, Customer Success Manager Codescene

Interview with Stephen Marikkar, Customer Success Manager Codescene

Simply put, technology is everywhere, you can’t escape it.

The economical cost of technical debt is increasing and is now estimated to be in the region of $100 billion.

In your role as Customer Success Manager at CodeScene, what will you bring to the table?

Despite being a relatively young company, we have managed to build a game changing forward thinking solution and a loyal customer base. Now with recent investment we are primed for growth and I have joined the team to ensure we stay on top of our customer’s needs as we scale to ensure they are realising continuous value from CodeScene. My mission is to turn our loyal customers and new customers into raving fans by enabling them to deliver high quality solutions to their customers rapidly while providing them with an industry leading customer experience.

Why tech business and CodeScene?

Simply put, technology is everywhere, you can’t escape it. The economical cost of technical debt is increasing and is now estimated to be in the region of $100 billion. Additional independent research has shown that up to 70% of development time is spent on activities that do not relate to new work. That is a problem, right? I believe technology is best utilised for solving problems so when I was introduced to CodeScene and saw the actionable insights it provides to help companies reduce their technical debt, it was a no brainer. Since joining I have been blown away by the company wide commitment to reducing technical debt and the success of our customers.

Tell us a bit about yourself and your previous work experience.

I have been working across a broad spectrum of industries in a variety of customer facing roles for over 15 years. From retail and direct sales to front line IT support and managing enterprise customers with their hosted solutions (software and the hardware). As the SaaS subscription economy has evolved over time and Customer Success has established itself as a critical growth engine, I transitioned into my first role as a Customer Success Manager. I have managed some of my previous company’s most strategic and globally recognizable customers, ensuring they get the most return of investment from their purchase. Most recently I worked in Denmark for an amazing start-up where I built up the Customer Success & Support teams. Together we implemented strategies that enabled us to improve our NPS score dramatically and elevate the way customers experience the brand.

In your mind, what are the top three things that resembles a good customer experience?

A good customer experience starts by listening to why our customers chose CodeScene and understanding their expectations. As much as technology has advanced, this human emotional touch cannot be replicated. Customers are much wiser and have more choices than ever before, treat them as human beings, be transparent. The next step is to do everything possible to help them realise their first quantifiable business value in the shortest time possible. We tell our customers that we will be with them every step of the way and we mean it. Who knows the product inside out? We do. Who knows the product outside in? Our customers and they should feel heard and supported. The third step is to not stop at delivering on the initial expectations but surpassing these expectations! For example, reaching out proactively to make them aware of new functionality that will add further ROI based on their business needs specifically or a feature they requested that has now been released. If you hear from us, then you know this is information we truly believe will benefit your business.

Lastly, what is your secret in achieving Customer Success?

If you have had the (mis)fortune of sitting through one of my presentations on the subject, you will know that I am a massive advocate for the equation “Customer Success = Customer Experience + Customer Outcomes”. You need to deliver both in spades to achieve Customer Success and both need to be tailored depending on the customer. No customer is equal nor their challenges constant, the market forces continue to move at a rapid pace.

Primarily, customers must be able to realise the business value they were expecting when they purchased CodeScene as soon as possible. If there is a mismatch between the customer’s expectations and what your product actually does, it makes for an initially poor customer experience. If the two are aligned, then we are in a much stronger position to help customers have a long and successful journey with us. Our customer’s success is our success and there is nothing more personally rewarding than seeing what our customers can achieve with CodeScene. When we see these same customers raving about the impact CodeScene has had on their business internally and publicly, we know we are on the right path.

Migrating to a Microservice Architecture

Interview with Martin Bundgaard, Chapter Lead at DFDS HQ in Copenhagen, Denmark

How DFDS is using development data to drive and monitor their migration from a monolithic codebase to a microservice architecture

DFDS, the Danish international shipping and logistics company is the busiest shipping company in Northern Europe. DFDS provides shipping, transport, port terminal services and logistics solutions to over 8,000 freight customers and more than 6 million passengers yearly. DFDS has 6,400 employees across 20 countries.

DFDS’s key goals are to limit the impact of activities on the environment, keep people and goods safe with secure jobs and good working conditions. To achieve their goals, one focus area is digital capabilities. For DFDS this is key to future success. Martin Bundgaard, Chapter Lead at DFDS HQ in Copenhagen, told us about their journey from a monolithic architecture to microservices.

“Are we making a distributed monolith or are we making decoupled microservices? It can be hard to see if just looking at the repositories. I find it clear to get information from CodeScene regarding this by using the change coupling”

Is the architecture aligned with the organization?

DFDS were aware of some problematic parts in their codebase, leading to difficulties when adding new features. Martin explains:

"Often, these files with already problematic code quality slowly increase in size because it is easier to add 20 new lines of code to a 4000-line file than to start a refactoring of the file. With CodeScene we have found it easy to overview if we are moving in the right direction or not."

Acting on these issues is a challenge. DFDS operates large systems that transport thousands of people every day; the company is a critical part of the infrastructure between countries. This means that their systems have to evolve securely without disruptions to their mission of keeping people and goods safe. Progressing by small, incremental and frequent releases is the only choice.

In 2018, with the goal of maintaining a high-performing development team while restructuring, DFDS set out to get teams and microservices organized around their business capabilities. This was a core strategic initiative to have a software architecture that allows for autonomous teams, enabling easy scaling, faster time to market and smooth onboarding of new developers.

“It is not just a gut feeling, but something we actively measure.”

Shifting from a monolith into a microservice landscape is a complex task.

Aligning development teams with capabilities is challenging and needs monitoring to make sure the effort is moving in the right direction. DFDS uses the CodeScene tool to provide this monitoring. More specifically, DFDS uses CodeScene’s architectural analyses to uncover unexpected team coupling, track implicit dependencies, and visualize the coordination needs between development teams. This makes it possible to measure how organizational patterns influence code quality and how they are linked to the software architecture.

CodeScene can help monitor the shift from monolith to microservices.

An example on how CodeScene visualizes implicit dependencies between teams and code.

Monitor new code with automated Pull Request Reviews

CodeScene is also integrated into the development pipelines where it reports valuable metrics automatically. This lets the DFDS development teams utilize CodeScene to ensure high quality in new code via the automated pull request review. Martin observes that:

“It is very hard to change code already running in production compared to changing it before it is merged into master. CodeScene informs our developers about undesired parts of the new code – and the recommendations are mostly met."

When they identify files with low Code Health, DFDS also use CodeScene’s Goals that allow them to make sure the relevant code is improving over time. They also use the Hotspot map to identify problematic areas and candidates for pro-active refactorings. Martin adds:

“From time to time we also use the offboarding analyses, so we have a good idea about what should be handed over and what the impact is of a developer leaving a project."
.

Our new microservices have a code health score of 9.7 out of 10

This process, with the help of CodeScene’s analytic feedback, allowed DFDS to successfully break down existing monoliths into smaller and more comprehensible components, and build a more maintainable system that is ready to respond to future challenges.

Martin also shared some impressive insights on their code health metrics.

"Our inherited monolith code base of our passenger system has a code health score of ~2-3 depending on what hotspots are active. We only have a few files with these low scores, but it is dragging the overall score down. Our new microservices have a score of 9.7. CodeScene is also helping us being at the high end of the scale."

Martin concludes:

"It is also evident that the immediate feedback given to our developers on quality when creating pull requests is lowering the development cost in the long run."

We want to thank Martin Bundgaard and DFDS for sharing this inspiring story! To read more about DFDS’s journey from monolith to microservices, check out:

About CodeScene

CodeScene offers unique insights into your software and is a quality visualization tool for code. Prioritize technical debt, detect delivery risks, and measure organizational aspects. If you’re interested in learning more about CodeScene, please reach out to sales@codescene.com

How a master-level Software Reengineering course uses CodeScene. Interview with Dr. Henrique Rocha at University of Antwerp, faculty of Science and AnSyMo

Interview with Dr. Henrique Rocha from the University of Antwerp

How a master-level Software Reengineering course uses CodeScene.

“An existing software can be very complex, understanding the software architecture and infrastructure well enough to contribute with changes can be very challenging.”

Background:

AnSyMo, Antwerp Systems and software Modelling, is a research group at the University of Antwerp investigating foundations, techniques, methods and tools for the design, analysis and maintenance of software-intensive systems.

Today, a large part of our world and society is shaped and steered by systems and software. More or less all devices and machines use software to some extent. Add to this all the organizations, businesses and enterprises that you communicate with on a daily basis that could not function without software.

One of the courses led by AnSyMo is the master course Software Reengineering. Find below an interview with Dr. Henrique Rocha about challenges with software reengineering and the goal of the course.

The goal of the course is to become acquainted with a broad selection of principles, techniques and skills used when reengineering existing software systems. For 2 semesters this course has used CodeScene in an assignment to restructure existing software.

What is a common challenge or pain point when restructuring existing software?
From my experience, the hardest part is what some researchers call the “entry barrier for contributors”. An existing software can be very complex, understanding the software architecture and infrastructure well enough to contribute with changes can be very challenging. Most often, new developers trying to contribute to open-source software feel discouraged as they don’t know where to start. From my observations, our students face similar problems when attempting to reengineer a software for the course.
How are your master-class students using CodeScene?

We suggest students to always start with CodeScene as it provides great insights on how to begin the restructuring project.

CodeScene is the recommended software for two topics, visualization and metrics. CodeScene provides several visualization options that allow the students to have a better overview of the analyzed software. The visualizations also help the students identify possible candidates for refactoring, especially the Technical Debt tab. Moreover, the complexity metrics and smells details on artifact-level shows the reasoning for the students on why such artifacts were marked as candidates for refactoring.

About how long does it take new students to get up to speed with CodeScene?
The learning curve for CodeScene seems very easy. We direct them in a lab lecture on how to use most of the Technical Debt tab, and to look at the complexity metrics. Most students tend to explore other features for themselves. But usually, after one lab session, the students seem more than able and comfortable to use CodeScene.
How does CodeScene complement other tools used in your master-class?
The visualizations options provided by CodeScene synergizes well with other tools. Moreover, I was impressed by how CodeScene has so many more features that complement tools for other topics. For instance, we use SonarQube in the lecture “Refactoring Assistants”. SonarQube shows detailed reports for code smells, often too much detail. CodeScene also shows potential refactoring targets and some code smells affecting artifacts. Therefore, good projects use both to justify their refactorings. As another example, other CodeScene features fall into the “Mining Software Repositories” lecture, complementing its analysis.

For readers interested in learning more about AnSyMo and their research on the increasing complexity of software intensive systems, there is more information here.

CodeScene is free for students, find more information about it here.

CodeScene is also active in an international research project with the overall goal of helping software teams strike a balance between increased development speed without sacrificing quality. Read more here or visit the project directly.