Blogs on Empearhttp://www.empear.com/blog/
Recent content in Blogs on EmpearHugo -- gohugo.ioen-usThu, 01 Feb 2018 10:39:06 +0100Measure Conway's Law with CodeScenehttp://www.empear.com/blog/measure-conways-law/
Thu, 01 Feb 2018 10:39:06 +0100http://www.empear.com/blog/measure-conways-law/Mel Conway&rsquo;s astute observation that an organization&rsquo;s communication structure should be reflected in the software architecture has received plenty of attention over the past years. Part of that is due to the popularization of microservices, which promises natural team boundaries where each team might be responsible for their own service. As such, Conway&rsquo;s Law is an important principle that drives both organizational and technical decisions. At the same time, the organizational and social side of code is largely left to subjective judgments.Release of CodeScene 2.2http://www.empear.com/blog/codescene-release-2_2/
Wed, 13 Dec 2017 09:00:06 +0100http://www.empear.com/blog/codescene-release-2_2/We&rsquo;re proud to announce our 2.2 release of the CodeScene on-premise version!
CodeScene 2.2 comes with a new set of branch analyses that let you detect delivery risks and measure your lead times for different features. We also introduce an author mapping interface that lets you resolve author aliases directly in the UI, and expand the Project Management analyses to measure costs on an architectural level.
New Features Branch Measures: CodeScene&rsquo;s new branch analysis detects delivery risks and highlights the lead times for each feature branch.The Cost of Code: Bridging the Gap between Tech and Businesshttp://www.empear.com/blog/cost-of-code/
Wed, 22 Nov 2017 10:39:06 +0100http://www.empear.com/blog/cost-of-code/CodeScene&rsquo;s project management metrics let you measure where you spend your costs and how the development activity shifts over time. This information is useful to bridge the gap between the technical side of the organization and the business side, as you let non-technical managers peek into the codebase from a different point of view.
The Need for Cost Metrics CodeScene&rsquo;s project management metrics answer two common questions:
How shall we prioritize improvements to our codebase?Meet the Branch Measures: A Behavioral Code Analysis to Predict Delivery Risks http://www.empear.com/blog/branch-delivery-risks/
Fri, 10 Nov 2017 10:39:06 +0100http://www.empear.com/blog/branch-delivery-risks/Many organizations transition to short lived feature branches and employ practices like continuous integration/delivery. To work in practice, those feature branches have to be kept short lived. By applying behavioral code analysis, we&rsquo;re able to visualize the branching activity, measure lead times, and even predict the delivery risk of individual branches. The resulting information may highlight bottlenecks in our process or development workflows, and also gives us early warnings so that we can prevent future problems.Release of CodeScene 2.1http://www.empear.com/blog/codescene-release-2_1/
Tue, 12 Sep 2017 10:00:06 +0100http://www.empear.com/blog/codescene-release-2_1/We&rsquo;re proud to announce our 2.1 release of the CodeScene on-premise version!
CodeScene 2.1 comes with a set of optimizations for faster analyses and a groundbreaking X-Ray extension that lets you uncover implicit dependencies between code in different Git repositories.
New Features X-Ray Temporal Coupling Between Repositories: Since CodeScene’s analyses are language neutral it can identify implicit/hidden change patterns between code implemented in different languages. But CodeScene can now go an extra mile and even uncover such change patterns when the different files are located in separate Git repositories!Early Warnings for Future Maintenance Problemshttp://www.empear.com/blog/early-warnings/
Fri, 08 Sep 2017 10:39:06 +0100http://www.empear.com/blog/early-warnings/A codebase under active development evolves at a rapid pace, and as soon as the organization scales beyond 10-12 people it&rsquo;s virtually impossible for a single individual to maintain a holistic picture of the system. The roots of future maintenance problems are often introduced in change bursts, perhaps by shoehorning a new feature into an existing design, and from there they only grow worse over time. Wouldn&rsquo;t it be great if you could get an early warning when that happens so that you can take appropriate counter measures and save your code from decay?Release of CodeScene 2.0http://www.empear.com/blog/codescene-release-2_0/
Fri, 07 Jul 2017 10:00:06 +0100http://www.empear.com/blog/codescene-release-2_0/We&rsquo;re proud to announce our 2.0 release of the CodeScene on-premises version!
CodeScene 2.0 offers a new UI/UX together with several new analyses, particular on an architectural level.
New Features Conway&rsquo;s Law: CodeScene offers a new analysis that lets you evaluate how well your architecture aligns with your organization, aka Conway’s Law. Note that a similar analysis has been supported on file level; The difference here is that the analysis operates on your architectural components, for example on service boundaries.CodeScene in your Continuous Integration Pipelinehttp://www.empear.com/blog/continuous-integration/
Wed, 10 May 2017 10:39:06 +0100http://www.empear.com/blog/continuous-integration/CodeScene lets you uncover and prioritize code that&rsquo;s hard to maintain or parts of the code that become team productivity bottlenecks. As such the techniques are reactive. Wouldn&rsquo;t it be great if we could catch such problems much earlier, ideally before they are even delivered to our main branch?
In this blog post we explore a new feature of CodeScene that turns the analyses into a pro-active tool for early feedback.Release of CodeScene 1.8http://www.empear.com/blog/codescene-release-1_8/
Thu, 20 Apr 2017 10:46:06 +0100http://www.empear.com/blog/codescene-release-1_8/We&rsquo;re pleased to announce a new release of our on-premises version of CodeScene.
This new version of CodeScene provides several UI and usability improvements. In addition, we also offer an open source Jenkins plugin that lets you use CodeScene pro-actively in your continuous integration pipeline.
New Features Configurable filters for temporal coupling. Some temporal dependencies are expected and may distract from potentially more interesting cases. CodeScene lets you apply dynamic filters to hide your expected temporal coupling.Migrating from TFS to Githttp://www.empear.com/blog/migrating-tfs-to-git/
Fri, 24 Mar 2017 14:39:06 +0100http://www.empear.com/blog/migrating-tfs-to-git/The CodeScene analysis engine runs on git repositories. What if your projects are under version control in Microsoft&rsquo;s Team Foundation Server (TFS), and you still want to use CodeScene? No problem, you can use git-tfs to convert your TFS projects to git repositories.
This guide assumes you are running Windows 10 (it might work with 7 and 8, as well).
Install the Prerequisites First, install Chocolatey on the computer you want to use for the conversion.Release of CodeScene 1.7http://www.empear.com/blog/codescene-release-1_7/
Fri, 10 Mar 2017 10:46:06 +0100http://www.empear.com/blog/codescene-release-1_7/We&rsquo;re pleased to announce a new release of our on-premises version of CodeScene.
This new version of CodeScene provides a REST API that lets you integrate the analysis results in a continuous integration pipeline and/or as robot comments in a code review tool like Gerrit. This lets you prioritize your code reviews and react to early warnings before they are delivered to your main branch.
New Features CodeScene’s REST API provides a special type of analysis called a Delta Analysis.Release of CodeScene Enterprise 1.6.1http://www.empear.com/blog/codescene-release-1_6_1/
Thu, 09 Feb 2017 10:46:06 +0100http://www.empear.com/blog/codescene-release-1_6_1/We&rsquo;re pleased to announce a new release of our on-premises version of CodeScene.
This new version of CodeScene adds X-Ray support for more programming languages. CodeScene&rsquo;s X-Ray now supports the top programming languages in TIOBE&rsquo;s index and several others.
Additional New Features X-Ray support for Visual Basic .NET, PHP, Go, and Apex (Salesforce proprietary language). X-Ray files that evolve together even if they are implemented in multiple languages.The Status of Your Code At a Glancehttp://www.empear.com/blog/codescene-status-badge/
Fri, 27 Jan 2017 20:39:06 +0100http://www.empear.com/blog/codescene-status-badge/CodeScene&rsquo;s primary use is as a tactical tool to make technical and organizational decisions around your codebase. Since we use CodeScene ourselves we have also learned that the tool has a lot to offer for us developers in our daily work. We use CodeScene to identify refactoring targets, prioritize tests and code reviews, and to simplify on-boarding of new project members.
CodeScene also comes with a set of automated early warnings.Software (r)Evolutionhttp://www.empear.com/blog/software-revolution-part4/
Mon, 23 Jan 2017 11:46:06 +0100http://www.empear.com/blog/software-revolution-part4/In this article we&rsquo;ll explore how software evolution helps us make sense of large codebases. We&rsquo;ll use the Linux Kernel as a practical case study. By analyzing patterns in the evolution of the Linux Kernel we&rsquo;re able to break down million lines of code, authored by thousands of developers, into a set of specific and focused refactoring tasks that are most likely to give you the most bang for your efforts.Release of CodeScene Enterprise 1.6http://www.empear.com/blog/codescene-release-1_6/
Mon, 23 Jan 2017 10:46:06 +0100http://www.empear.com/blog/codescene-release-1_6/We&rsquo;re pleased to announce a new release of our on-premises version of CodeScene.
This new version of CodeScene provides architectural trend analyses. That means you can now investigate the complexity growth on an architectural level.
CodeScene also aggregates the architectural trends so that you can inspect how the development focus shifts between different sub-systems over time:
The architectural trends let you view how the development effort has shifted over the years.Release of CodeScene Enterprise 1.5http://www.empear.com/blog/codescene-release-1_5/
Fri, 25 Nov 2016 10:46:06 +0100http://www.empear.com/blog/codescene-release-1_5/We&rsquo;re pleased to announce that there&rsquo;s a new version of CodeScene Enterprise available.
This new version of CodeScene calculates a risk profile for your project. Every commit is scored against that profile. You get an early warning on the dashboard for a High Risk Commit if any commit deviates from how your changes typically look. We&rsquo;ve also included a new analysis to detect team productivity bottlenecks and another new analysis that lets you detect patterns based on the content of commit messages.Software (r)Evolutionhttp://www.empear.com/blog/software-revolution-part3/
Wed, 19 Oct 2016 11:46:06 +0100http://www.empear.com/blog/software-revolution-part3/In this part of the Software (r)Evolution series we&rsquo;ll dive into a concept called Temporal Coupling. You&rsquo;ll see how Temporal Coupling helps us design better software as we uncover expensive change patterns in our code. As we apply CodeScene&rsquo;s X-Ray analysis you&rsquo;ll also learn to uncover subtle and non-obvious relationships across whole clusters of files. As always, we&rsquo;ll demonstrate the techniques on a number of real-world codebases to identify real problems.CodeScenehttp://www.empear.com/blog/codescene-brand-and-design/
Tue, 18 Oct 2016 10:00:00 +0200http://www.empear.com/blog/codescene-brand-and-design/The flagship product of our company, Empear Enterprise Edition, has been renamed CodeScene Enterprise Edition. Together with the upcoming cloud version, they will form CodeScene. Empear is the company, CodeScene is the suite of tools.
We have worked together with Creative Army, a design and advertising agency in our region, forming the new logotype and design which we use for the newly released CodeScene Enterprise Edition 1.4. Given that our domain is code, a monospace font fits right in.Release of CodeScene Enterprise 1.4http://www.empear.com/blog/codescene-release-1_4/
Mon, 17 Oct 2016 10:46:06 +0100http://www.empear.com/blog/codescene-release-1_4/We&rsquo;re pleased to announce that there&rsquo;s a new version of CodeScene Enterprise available.
Empear&#39;s CodeScene, version 1.4 is out now. This new version introduces a new user interface with a much improved UX that makes it even easier for you to explore your codebase. We&rsquo;ve also extended the X-Ray feature to support languages like Ruby, Python and Erlang. In addition, we&rsquo;ve made several improvements like view code features, code diffs, and much more.The Day I Parsed A Monsterhttp://www.empear.com/blog/parse-a-monster/
Thu, 29 Sep 2016 20:39:06 +0100http://www.empear.com/blog/parse-a-monster/Today I patched a monster. That monster is a piece of code that many of you probably rely upon, either directly or indirectly. I&rsquo;m talking about the garbage collector in the .NET Core runtime from Microsoft. It&rsquo;s a critical piece of code that I never intended to touch. The reason I ended up there was because I was on the hunt for good test data for our analysis tools as I explored an interesting approach to write more efficient parsers.Release of Empear Enterprise 1.3http://www.empear.com/blog/enterprise-release-1_3/
Thu, 25 Aug 2016 10:46:06 +0100http://www.empear.com/blog/enterprise-release-1_3/We&rsquo;re pleased to announce that there&rsquo;s a new version of the Empear Enterprise Edition available.
This new version introduces two new major features: integration with Jira for cost analyses and our X-Ray technology that gives you deep insights into your codebase. We&rsquo;re really excited about these new features and hope you&rsquo;ll find them as useful as we do.
New Features X-Ray that gives you deep insights into your code.Software (r)Evolutionhttp://www.empear.com/blog/software-revolution-part2/
Thu, 25 Aug 2016 10:46:06 +0100http://www.empear.com/blog/software-revolution-part2/In this part of the Software (r)Evolution series we&rsquo;ll expand the concept of Hotspots into a more general tool. A tool that lets us reason about both architectural problems, but also dig deep into our code and get specific recommendations on how to refactor and re-structure code in order to simplify its maintenance.
We&rsquo;ll put the techniques to work in a case study of a well-known codebase and make decisions influenced by data.Software (r)Evolutionhttp://www.empear.com/blog/software-revolution-part1/
Tue, 09 Aug 2016 10:46:06 +0100http://www.empear.com/blog/software-revolution-part1/Welcome to the first part in the Software (r)Evolution series! Software (r)Evolution is a series of articles that explore novel approaches to understanding and improving large-scale codebases. Along the way we&rsquo;ll use modern data science to uncover both problematic code as well as the behavioral patterns of the developers that build your software. This combination lets you to identify the parts of your system that benefit the most from improvements, detect organizational issues and ensure that the suggested improvements give you a real return on your investment.Release of Empear Enterprise 1.2http://www.empear.com/blog/enterprise-release-1_2/
Thu, 02 Jun 2016 10:46:06 +0100http://www.empear.com/blog/enterprise-release-1_2/We&rsquo;re pleased to announce that there&rsquo;s a new version of the Empear Enterprise Edition available.
New Features Version 1.2 of Empear Enterprise comes with the following new features:
Support Retrospectives: You now have the possibility of running an analysis tailored to a Retrospective. You trigger a Retrospective in the Overview section of your analysis configuration where you&rsquo;ll find a separate button for Retrospectives. Please see the blog post The Happy Marriage of Retrospectives and Software Evolution for a usage example.The Happy Marriage of Retrospectives and Software Evolutionhttp://www.empear.com/blog/happy-marriage-of-retrospective-and-software-evolution/
Sun, 22 May 2016 10:46:06 +0100http://www.empear.com/blog/happy-marriage-of-retrospective-and-software-evolution/These days it&rsquo;s probably easier to find a winged unicorn than a software organization who hasn&rsquo;t adopted Agile. We go agile since we expect a lot of benefits. We expect higher productivity, better quality and we&rsquo;re also sold on the idea that we&rsquo;re now able to react and adapt faster to change. However, that&rsquo;s not necessarily the outcome.
In this article we&rsquo;ll focus on one of the central, and often neglected, practices or agile methodologies: Retrospectives.Empear Developer Edition with PHP supporthttp://www.empear.com/blog/developer-edition-php-support/
Sun, 10 Apr 2016 10:46:06 +0100http://www.empear.com/blog/developer-edition-php-support/We&rsquo;re pleased to announce that there&rsquo;s a new version of the Empear Developer Edition available.
Version 1.1.1 of Empear Developer brings support for analyzing PHP code. That means the power of software evolution techniques are now available to help you make better decisions around your PHP codebase too. Follow along and we&rsquo;ll see some examples on the kind of information the Empear Developer Edition provides.
Language-Neutral Analyses All analyses in Empear&rsquo;s tool suite are language-neutral.Announcing Empear Developer Editionhttp://www.empear.com/blog/annonuncing-developer-edition/
Fri, 11 Mar 2016 10:46:06 +0100http://www.empear.com/blog/annonuncing-developer-edition/We&rsquo;re pleased to announce that there&rsquo;s a new version of the Empear Developer Edition available.
Version 1.1 of Empear Developer brings many important improvements:
An improved look and feel. Automated scalability of the visualizations. Track renamed and moved repository content. 50% increase in run-time performance. Support for excluding specified content (files or folders) from an analysis. Go get your version of Empear Developer here.