<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Nick Hodges</title>
    <description>The latest articles on Forem by Nick Hodges (@nickhodges).</description>
    <link>https://forem.com/nickhodges</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F64177%2F58858674-d57f-4876-b981-78ef86382e51.jpeg</url>
      <title>Forem: Nick Hodges</title>
      <link>https://forem.com/nickhodges</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/nickhodges"/>
    <language>en</language>
    <item>
      <title>Who Owns Developer Productivity?</title>
      <dc:creator>Nick Hodges</dc:creator>
      <pubDate>Tue, 19 Apr 2022 20:35:24 +0000</pubDate>
      <link>https://forem.com/rollbar/who-owns-developer-productivity-17pp</link>
      <guid>https://forem.com/rollbar/who-owns-developer-productivity-17pp</guid>
      <description>&lt;p&gt;Developer Productivity has always been a hot topic.  For a long time, it was hard to define because it really couldn’t be measured.  Lately, thanks to various code hosting platforms providing API access to git repositories, we can start tracking team and even individual performance metrics. (Though I’d strongly recommend against tracking individual developers’ metrics for reason that can be discussed elsewhere …) &lt;/p&gt;

&lt;p&gt;So how do you measure how your developers are performing?&lt;/p&gt;

&lt;p&gt;Well, it’s actually pretty simple.  But it’s not easy.  It’s simple because all you have to do is two things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Get developers to code more efficiently&lt;/li&gt;
&lt;li&gt;Get developers to not code more efficiently&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are tons of tools out there that help with the first, but not so many to help with the second.  (The second does sound a little weird – basically it’s the notion of improving the process of things that developers do that don’t involve coding...) &lt;/p&gt;

&lt;p&gt;Highly productive developers are hard to come by and expensive to train and retain, and so you want to ensure that your team is firing on all cylinders.  But how do you do that? &lt;/p&gt;

&lt;p&gt;Well, here are a few general ideas I have about how to make developers more productive.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ensure that they have the best and fastest hardware.  If a faster processor on a computer saves a developer five minutes a day, that is 1000 minutes a year, or 16.67 hours.  At $100 an hour (probably cheap!) that's $1600 a year.  A good machine is easily worth it.&lt;/li&gt;
&lt;li&gt;Give them a peaceful environment. The best is individual offices, but if that isn’t possible (and you should try to make it possible in any way you can) then wherever your team ends up, at least have the ethos of being quiet and leaving people alone.&lt;/li&gt;
&lt;li&gt;Give developers whatever chair, keyboard, mouse, and other peripherals that they want.  Include noise canceling headphones in the list of things you’ll provide.&lt;/li&gt;
&lt;li&gt;Engender a culture of excellence.  Don’t put up with hacks or sloppy work.  Design things and do things the right way every time. Fend off technical debt like a lioness defending her cubs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those are just a few of the things that can help improve the productivity of your team.  These things are important, and you should do them, whatever your position in your organization.  &lt;/p&gt;

&lt;p&gt;But perhaps even more importantly, who is responsible for making sure a development team is a finely tuned machine?  &lt;/p&gt;

&lt;p&gt;It’s that second question that I’m really interested in.&lt;/p&gt;

&lt;p&gt;For many years, Google has tackled the issue of Developer Productivity by forming a team focused on what it calls Engineering Productivity. The idea is that if they have a team to focus on making their developers more productive, that team will more than pay for itself in increased value delivered by those developers.  &lt;/p&gt;

&lt;p&gt;This sounds reasonable – and really great if you are a developer.  I love the idea of someone spending their whole day making my life easier. &lt;/p&gt;

&lt;p&gt;Historically, only large companies like Google have been able to realize the benefits of a dedicated developer experience team.  However, more and more, smaller development teams are seeing the benefits as well, and there has been a rise in popularity of the “Developer Experience Engineer” (DXE). &lt;/p&gt;

&lt;p&gt;Obviously if you have a DXE or a DXE team, they will own the process of improving developer productivity, right?&lt;/p&gt;

&lt;p&gt;But what if, for whatever reason, you don’t have a Developer Experience entity?&lt;/p&gt;

&lt;p&gt;Maybe the Software Development Manager is responsible for developer productivity.  After all, they are the ones in charge of getting things done, and they are thus very interested in developers working more efficiently and effectively.  If they don’t take an interest in such things, then no one will.  Maybe they should be in the business of ensuring that the team has everything they want and need in order to be as effective as possible. &lt;/p&gt;

&lt;p&gt;Or maybe the developers themselves are responsible for their own productivity.  Maybe a professional developer should make it a point of pride to be as productive as possible, advocating for the tools, environment, and processes that make them do their best work.&lt;/p&gt;

&lt;p&gt;Or maybe, just maybe, all these people combine to take on the responsibility.  That seems to make the most sense to me.  Everyone in the whole software development process is responsible to ensure that the whole team is firing on all cylinders.  Developers should be very open about saying what they need to be more productive.  Managers should be fighting for budget, process changes, and anything else that developers need to get better work done.  DXE engineers should dedicate themselves to finding all the newest and latest software and hardware that will help things move along.  &lt;/p&gt;

&lt;p&gt;In other words, it takes a team to make the development process more efficient and effective.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>The Changing Value of Development Speed</title>
      <dc:creator>Nick Hodges</dc:creator>
      <pubDate>Wed, 06 Apr 2022 13:45:03 +0000</pubDate>
      <link>https://forem.com/rollbar/the-changing-value-of-development-speed-jch</link>
      <guid>https://forem.com/rollbar/the-changing-value-of-development-speed-jch</guid>
      <description>&lt;h2&gt;
  
  
  An Interesting Poll
&lt;/h2&gt;

&lt;p&gt;I recently asked this question on LinkedIn:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ocl7FF2a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tqvkdqlvlr0rnibf7xto.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ocl7FF2a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tqvkdqlvlr0rnibf7xto.png" alt="Poll from LinkedIn" width="554" height="338"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The reason that I asked this question is somewhat interesting.  &lt;/p&gt;

&lt;h2&gt;
  
  
  A Trip to the Past
&lt;/h2&gt;

&lt;p&gt;Back in a previous life, I worked at &lt;a href="https://www.borland.com"&gt;Borland&lt;/a&gt;.  For those of you who don’t remember, Borland was at one time a pretty famous software company, competing directly with the Microsoft Languages and Office divisions. Borland is probably most famous for their C++ and Delphi products.  In the nineties, they built a &lt;a href="https://goo.gl/maps/jWYeCdq2jzmSfdHN6"&gt;beautiful building in Scotts Valley, CA&lt;/a&gt;.  Their end (as signified where the link above goes) is a story for another day, but suffice it to say that at one point, Borland was on the tips of people's tongues much like Microsoft is today.&lt;/p&gt;

&lt;p&gt;Anyhow, Borland had an enormously successful product called JBuilder, the first commercial Java development tool.  On the R&amp;amp;D team for JBuilder was a developer – let’s call him Jack – who was notorious for being two things:  slow and immensely good.  He took a long time to get things done, but his code was, for all intents and purposes, bug-free.  &lt;/p&gt;

&lt;p&gt;Members of the QA team would try to find bugs in what Jack wrote, but it was very difficult to do.  A QA Engineer would consider it a badge of honor to spot a bug in code that Jack wrote.  &lt;/p&gt;

&lt;p&gt;Sure, he was slow, but as I said, the downstream cost of Jack’s code was very low.  Bugs are expensive and time spent fixing bugs is time spent not creating new features.  Jack spent a very small amount of time fixing bugs because he didn’t write them in the first place.  &lt;/p&gt;

&lt;p&gt;Now I give full kudos to Jack’s manager who recognized the immense value of what he could do.  It would be very easy for a manager to focus on the “slow” part and not realize the value in the “almost no bugs” part.  The total cost of ownership over Jack’s code was actually much lower than his teammates who, while great and faster developers, couldn’t match his level of initial quality.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Back to the Question
&lt;/h2&gt;

&lt;p&gt;Which brings us back to the question I asked. &lt;/p&gt;

&lt;p&gt;I asked the question because Jack had recently come to mind in a discussion, and it got me thinking. In today’s development environment, I’m not at all sure that Jack’s unique skill would be as valuable as it once was.&lt;/p&gt;

&lt;p&gt;Jack coded in a very different environment than developers today.  JBuilder was shipped once a year or so.  There were periodic bug fix updates, but new features were generally only delivered annually.  The software development process was basically Waterfall – product managers would define requirements, the team would architect and build the features, QA would test, formal beta tests would be run, and the product would ship in one big, grand release.  &lt;/p&gt;

&lt;p&gt;Now the second half of that equation – all the testing – was pretty time consuming and thus expensive. Having a developer that minimized those costs was very valuable.&lt;/p&gt;

&lt;p&gt;But in today’s world, those costs are not as high as they used to be.  The advent of CI/CD and a SaaS software solution drastically reduces the cost of a bug.  &lt;/p&gt;

&lt;p&gt;In the old way, a bug would frequently linger in code for weeks or even months before being discovered.  As we all know, the larger the distance between keyboard and bug discovery, the more expensive the fix.  The longer the time, the lower the chances that the developer will remember anything about the code she wrote that caused the bug.&lt;/p&gt;

&lt;p&gt;But with modern tools like &lt;a href="https://try.rollbar.com"&gt;Rollbar&lt;/a&gt;, a developer can usually find out about a bug in his code in minutes or even seconds.  If a bug is found that fast, the code is still fresh in the developer’s mind, and fixing the bug can be quick and painless.  Rollbar can even pinpoint the exact line of code that caused the error.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fast Feedback and Rapid Response
&lt;/h2&gt;

&lt;p&gt;Now if the feedback loop for a bug is measured in minutes, then I think developers should be encouraged to truly “move fast and not worry about breaking things.”  Developers like Jack are still valuable, I suppose, but being slow actually can become a liability.  His high-quality code saves a lot of downstream time when you release annually, but when features can be released at any time, and when feedback loops are measured in minutes, a fast developer can often get more done in the same or less time.&lt;/p&gt;

&lt;p&gt;For instance, say Jack takes two weeks to develop a feature that our faster developer (let’s call her Sara) can finish in one week.  Sure, Jack’s code is flawless, but Sara’s code is pretty good, and she only needs three days to see and fix bugs as the code is tested under a feature flag with beta testers.  That means Sara is able to produce what Jack produces with two days to spare. &lt;/p&gt;

&lt;h2&gt;
  
  
  Changing Development Process
&lt;/h2&gt;

&lt;p&gt;Development processes have changed.  Debugging has changed.  Tools that monitor and report on errors (think Rollbar!) can make feedback loops much, much faster than those in the world Jack coded it.  We now live in a world where bugs have a much lower cost than they had in the past.  Given all that, it would seem that Sara is actually more valuable than Jack. &lt;/p&gt;

&lt;h2&gt;
  
  
  Poll Results
&lt;/h2&gt;

&lt;p&gt;So if that’s true, why the results of the poll?  Why don’t people want more Saras and fewer Jacks by almost two to one?&lt;/p&gt;

&lt;p&gt;I think there are two reasons.  One, many people still aren’t rapid continuous deployment, so the benefits aren’t there for them.  And two – teams probably don’t realize the fact that Sara can be more productive than Jack.  It is counterintuitive, and not completely obvious until you consider it thoroughly (or just read this article!)&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;While productive developers who produce quality code are always a necessity, the actual way that they arrive at that near perfect code changes.  Tools and a different mindset about reporting bugs can make “move fast and break things” the order of the day.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Reduce Debugging Time With Rollbar</title>
      <dc:creator>Nick Hodges</dc:creator>
      <pubDate>Mon, 14 Mar 2022 13:54:27 +0000</pubDate>
      <link>https://forem.com/rollbar/reduce-debugging-time-with-rollbar-28a3</link>
      <guid>https://forem.com/rollbar/reduce-debugging-time-with-rollbar-28a3</guid>
      <description>&lt;p&gt;Development time is precious. Developers are highly-skilled and highly-paid, and so naturally you want to make sure that they are as productive as possible. Many organizations are starting to hire Developer Experience Engineers to make sure that their developers are using the best tools and processes possible.&lt;/p&gt;

&lt;p&gt;To make developers more productive, the first step is to figure out exactly what developers are actually doing. Then, we need to figure out what we &lt;em&gt;&lt;strong&gt;want&lt;/strong&gt;&lt;/em&gt; them to do.&lt;/p&gt;

&lt;h2&gt;
  
  
  Examining Developer Time
&lt;/h2&gt;

&lt;p&gt;Developers' time can broadly be divided into two areas: Time coding and time not coding. It seems pretty obvious that you want to maximize the amount of time that your developers are coding and reduce the time they are not.&lt;/p&gt;

&lt;p&gt;Coding time can actually be broken down further into feature development and maintenance. Feature development – the process of producing new features and value for the customer – is the most desirable thing that a developer can do. Maintenance work – bug fixing – is a bit of a mixed bag. You want your developers to fix bugs, sure, but you don’t want them to have to do it. In other words, bugs are bad and a drag on the team, preventing their coding time from being spent on new feature work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Non-coding Time
&lt;/h2&gt;

&lt;p&gt;And then there is non-coding time, and it, too, is a mixed bag. Some of it is productive time – code reviews, mentoring, training, creating issues and bug reports, etc. I like to call this meta-coding time. You want meta-coding to happen, but you want it to be as efficient as it can be.&lt;/p&gt;

&lt;p&gt;The rest is time well spent – meetings, company events, etc. – but time that you want to minimize as much as is practical. I don’t know a single developer that wouldn’t be pleased with fewer meetings.&lt;/p&gt;

&lt;p&gt;So a developer’s time becomes an interesting exercise. You want her coding as much as possible, but on new features and not on bugs, and you want her learning, training, reviewing code, and such – but again, not too much.&lt;/p&gt;

&lt;p&gt;So in the end, it seems that you want to maximize new feature time, and minimize non-new feature time (i.e., bug fixing time, meta-coding time, and non-coding time). You don’t want to rush meta-coding time, but you want to do everything you can to minimize it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Making Developers Productive
&lt;/h2&gt;

&lt;p&gt;Now, much effort has been spent making coding time productive. There are all kinds of tools, IDE features, and other technology to make the process of writing code as efficient as possible. Features like Intellisense have been around for quite a while. Recent innovations such as Copilot from Github are astonishingly useful and productive. (Copilot actually kind of scares me – It is so prescient, like it’s reading my mind…)&lt;/p&gt;

&lt;p&gt;Bug-fixing time is especially ripe for improvement. These days, it often involves a lot of investigation such as combing through log files and debugging in an imprecise manner, searching for buried treasure without a map.&lt;/p&gt;

&lt;p&gt;Few developers relish maintaining software and fixing bugs. I know some folks who do, but most developers seem to want to write new code and new features. Sure, bug fixing delivers value to the customer, but as discussed above, it’s not time you want to have to spend.&lt;/p&gt;

&lt;p&gt;What if there were a way to make bug-fixing more efficient? What if you had a map for your treasure hunt? What if you could be pointed to the exact line of code causing an error?&lt;/p&gt;

&lt;p&gt;Would I even ask such questions if I didn’t have an answer?&lt;/p&gt;

&lt;h2&gt;
  
  
  The Answer
&lt;/h2&gt;

&lt;p&gt;The answer, of course, is &lt;a href="https://www.rollbar.com"&gt;Rollbar&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;With our AI-driven Error Grouping, we focus on the errors that are most important and impactful, drastically reducing your debugging time by pointing you right to the line of code where the problem is occurring.&lt;/p&gt;

&lt;p&gt;Even better, we can notify you of errors immediately, possibly even before your customers see them.&lt;/p&gt;

&lt;p&gt;Imagine this scenario:&lt;/p&gt;

&lt;p&gt;You have been working on an important new feature. It’s finally ready for beta testing, and so you release it to a select few beta test customers by keeping it behind a feature flag. Those testers use the product, and they find problems. You fix the problems. You test for a significant period of time, and finally you feel confident that all is well, and so you deploy.&lt;/p&gt;

&lt;p&gt;However, upon general deployment, a very ugly bug occurs with your customers using the Kanji character set. The problem is that you and your team are sleeping when the error occurs. Customer support starts getting phone calls as customers report the bugs. You count yourself lucky that a customer bothered to report it at all. They aren’t too happy, of course, so you wake everyone up, investigate (which takes a while), realize the severity of the bug, and decide to roll back the deployment, all in the wee hours of the morning.&lt;/p&gt;

&lt;p&gt;It takes two days of intense debugging and pouring over log files to see what the issue is, but you fix it and redeploy the new feature successfully. Lots of disruption and grumpy, tired developers, not to mention angry customers that saw the errors.&lt;/p&gt;

&lt;p&gt;But if you were a Rollbar customer, things could go more like this:&lt;/p&gt;

&lt;p&gt;Everything happens the same, but when the error occurs, Rollbar recognizes it as critical, and automatically rolls back the deployment without waking anyone up at all.&lt;/p&gt;

&lt;p&gt;In the morning, your alerts and email let you know what happened. The Rollbar Dashboard shows you the error clearly, including the exact line of code that caused the problem. The correct developer immediately jumps on the issue. It’s soon fixed, and the new feature is redeployed without incident.&lt;/p&gt;

&lt;p&gt;No one got woken up, and the feature was redeployed quickly. That’s a win.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which is the Better Scenario?
&lt;/h2&gt;

&lt;p&gt;I like the second scenario better, don’t you? The customers never see the errors (much less complain about it) since Rollbar backed out the buggy feature before anyone could even know it was there. No middle-of-the-night scrambling. No deep, involved bug hunt, as Rollbar easily pointed the way right to the problem.&lt;/p&gt;

&lt;p&gt;Developers want to work on new features. They want to fix bugs that occur, but they don’t want to spend hours searching for the problem.&lt;/p&gt;

&lt;p&gt;Rollbar can’t help reduce the number of meetings that a manager calls, but we can reduce the amount of time developers are spending on bug hunting. And less time bug-fixing makes for happier development teams spending more time on things that will deliver value to customers.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>rollbar</category>
      <category>debugging</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Cycle Time Breakdown: Tactics for Reducing Coding Time</title>
      <dc:creator>Nick Hodges</dc:creator>
      <pubDate>Fri, 01 Oct 2021 16:00:00 +0000</pubDate>
      <link>https://forem.com/linearb/cycle-time-breakdown-tactics-for-reducing-coding-time-5fg7</link>
      <guid>https://forem.com/linearb/cycle-time-breakdown-tactics-for-reducing-coding-time-5fg7</guid>
      <description>&lt;h2&gt;
  
  
  The Issue: My Coding Time Feels Too High
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmuuusgp72he2len0g34l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmuuusgp72he2len0g34l.png" alt="LinearB's Cycle Time Display with Coding Time in the red"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://linearb.io/cycle-time/" rel="noopener noreferrer"&gt;Cycle Time is the Dev Manager’s Super Metric&lt;/a&gt;. So naturally, the conscientious Dev Manager will want to pay close attention to Coding Time, the very first segment of a project’s journey along the Cycle Time path. Keeping Cycle Time “all green” is the goal, but this is often difficult because there are a lot of moving parts that go into managing Cycle Time. One of those moving parts that are hard to keep in control of is Coding Time.&lt;/p&gt;

&lt;p&gt;Coding Time is defined as the time between the first commit made to a branch to when a pull request is submitted. As a general rule, you want your coding time to be two to three days. Anything above four days is considered worrisome, and a Coding Time above seven days is a real problem. Many elite teams are able to measure Coding Time in hours, not days.&lt;/p&gt;

&lt;p&gt;In the past, we could measure the notion of Coding Time only anecdotally. Perhaps you could keep track of how the coding on a project was going by the reports in a daily standup.&lt;/p&gt;

&lt;p&gt;However, these days, managers are demanding more — they want hard data. LinearB provides an overview of Cycle Time for all your projects on the main dashboard that includes a clear indication of the status of your coding time. This dashboard is data-driven, based on the work committed to your code repository.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fht91yeem8mpxciqkn4p2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fht91yeem8mpxciqkn4p2.png" alt="LinearB Cycle Time Dashboard with Coding Time a little high"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here you can see that coding time is turning orange- meaning that it is getting worrisome and should be looked at more closely. At this point, things are heading in a sub-optimal direction, but the dashboard shows this fact to you in real-time. You are able to quickly see any bottlenecks almost immediately just as they begin to be a problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s the cause?
&lt;/h2&gt;

&lt;p&gt;There are three main reasons why a branch might have high coding time:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;The project is too large&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The project is too difficult&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The project is languishing&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  The Project is Too Large
&lt;/h3&gt;

&lt;p&gt;This is probably the most common reason that Coding Time expands beyond desired boundaries. The branch the project is based on will often have many commits. The “chunk” of work is too big to complete in the standard set for normal coding time. In general, the Coding Time is longer because there is simply too much work and not enough time.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Project is Too Difficult
&lt;/h3&gt;

&lt;p&gt;Sometimes, your project might be broken down into appropriately sized chunks of work, but it turns out that a given chunk of work is harder than anticipated.&lt;/p&gt;

&lt;p&gt;Maybe the problem wasn’t completely understood, and the effort required to do the task was greater than originally thought. &lt;a href="https://devinterrupted.com/nine-software-development-lessons/" rel="noopener noreferrer"&gt;Or perhaps there were a number of “unknown unknowns” that were discovered, making the project bigger than anticipated&lt;/a&gt;. Another indication of this problem is high levels of code rework and refactoring.&lt;/p&gt;

&lt;p&gt;The bottom line here is that things were more difficult than anticipated.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Project is Languishing
&lt;/h3&gt;

&lt;p&gt;This one is pretty simple: The Coding Time is taking longer than expected because the project was started, but left alone unworked. Most likely the developer was required to turn to other tasks based on new priorities, and the branch was left unaltered for a long period of time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Investigating High Coding Time
&lt;/h2&gt;

&lt;p&gt;The first thing to do about growing Coding Time is to find out which projects or branches are the ones causing the problem. In order to do that, you can drill down into the LinearB dashboard and take a look.&lt;/p&gt;

&lt;p&gt;To look more deeply, you can click on the little arrow in the upper right corner of the Cycle Time Box.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2za2q9761e8oa8kfcppq.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2za2q9761e8oa8kfcppq.gif" alt="You can drill down into Cycle Time by clicking the arrow in the upper right"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Doing that will take you to the Branch View of your repository. From there, you can see all the branches that are affecting your coding time.&lt;/p&gt;

&lt;p&gt;For instance, the top branch below had a coding time of almost eight days — a length of time that contributed to the Coding Time for the team being higher.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg0xgtth1duwpi3jaxkn7.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg0xgtth1duwpi3jaxkn7.gif" alt="Hover over a Cycle Time display, and see the breakdown"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Note, too, that you can see the exact contribution that any branch is making to the overall Cycle Time by simply hovering your mouse over the Cycle Time column of the given branch. Thus you can quickly see which branches are causing problems for your Coding Time.&lt;/p&gt;

&lt;p&gt;For example, by analyzing our own coding time data over the past fifteen months, we’ve found that fewer than 20% of Pull Requests make up the majority of coding time issues. Oftentimes these are Pull Requests that were forgotten about due to a high level of context switching or where the chunk of work was too large.&lt;/p&gt;

&lt;p&gt;Once you determine &lt;em&gt;where&lt;/em&gt; the long coding times are, you’ll want to know why those branches are causing a problem. That is — which of the three reasons above do the problematic branches represent.&lt;/p&gt;

&lt;p&gt;Once a branch has been determined to have a Coding Time problem, you can click on the name of the entry and be taken directly to the git page for that branch, where you can determine what the issue is, whether it be too much work, code churn, or the branch simply isn’t being worked on.&lt;/p&gt;

&lt;p&gt;From there, you can work with your team to correct the issues going forward and get your Coding Time back into the green.&lt;/p&gt;

&lt;h2&gt;
  
  
  Preventing High Coding Time
&lt;/h2&gt;

&lt;p&gt;Naturally, what you really want as a manager is to prevent Coding Time from being a problem in the first place.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you are not already using LinearB and want to do things like track Cycle Time and Pull Request Size, &lt;a href="https://linearb.io/demo" rel="noopener noreferrer"&gt;sign up for a free demo of the product today&lt;/a&gt;!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The first thing you can do towards that goal is to educate your team on the need for dividing your work into small, manageable chunks. &lt;a href="https://linearb.helpdocs.io/article/x1620txj8m-pull-request-size" rel="noopener noreferrer"&gt;Pull requests that are too large&lt;/a&gt; are a clear indication that the chunks of work are too big. Big Pull Requests will also tend to make PR Review Time longer as well.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Pro Tip:&lt;/strong&gt; High-performance engineering teams try to break their work into less than 150 code changes per Pull Request. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You could check the Branches page each week, looking for large Pull Requests that indicate long Coding Times.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You might then even bring this metric into your sprint retrospectives. If your team agrees that improving Pull Request size is important, you can set it as a goal for your next sprint and celebrate a win during the retrospective.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuatssqobq8eny0n4ser1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuatssqobq8eny0n4ser1.png" alt="An increased PR Size Metric can be an indicator of Coding Time troubles ahead"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Second, in order to warn your team about large chunks of work, you can &lt;a href="https://linearb.helpdocs.io/article/16zfs7qnli-notification-types#work_at_risk" rel="noopener noreferrer"&gt;configure the Work at Risk notifications&lt;/a&gt; to notify you of branches that are heading in a bad direction so you can take&lt;a href="https://linearb.helpdocs.io/article/1rk0nrp4yd-how-to-handle-high-risk-work" rel="noopener noreferrer"&gt; corrective action &lt;em&gt;before&lt;/em&gt; they become real problems&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fltvi9tzpi86rt9ikglja.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fltvi9tzpi86rt9ikglja.png" alt="You can define the levels that will send WorkerB notifications for various Work at Risk levels"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To allow you to keep a close eye on Coding Time, &lt;a href="https://linearb.io/blog/custom-metrics-dashboards/" rel="noopener noreferrer"&gt;you can create a custom dashboard with PR Size and Coding Time on it&lt;/a&gt; so that you can easily check on these important values at any time.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftelkkpe55127wlpyaa6w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftelkkpe55127wlpyaa6w.png" alt="A Custom Dashboard to keep an eye on Coding Time"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Finally, you might check the Daily Digest notification message for branches that have more than 100 code changes, stuck work, and pull requests with more than 6 comments. These are the branches that are very likely problematic and worth investigating before they cause Coding Time to rise.&lt;/p&gt;

&lt;h2&gt;
  
  
  The End Result
&lt;/h2&gt;

&lt;p&gt;Keeping Coding Time, and thus Cycle Time, under control is a critical means to continuously improving your software development process. By monitoring Pull Request size, keeping an eye on individual branches where Coding Time is pressing up against your limits, and by warning you and your team about Work at Risk, you can ensure that your Coding Time stays under control.&lt;/p&gt;

&lt;p&gt;But more importantly, LinearB can help you ensure it doesn’t happen in the first place. Our tool lets you recognize that there is a problem, dig in to find where the problem originates, and take the necessary steps to correct things. If you are not already using LinearB and want to do things like track Cycle Time and Pull Request Size, &lt;a href="https://linearb.io/demo" rel="noopener noreferrer"&gt;sign up for a free demo of the product today&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://linearb.io/blog/reducing-coding-time/" rel="noopener noreferrer"&gt;https://linearb.io&lt;/a&gt; on July 16, 2021.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>management</category>
      <category>monitoring</category>
      <category>motivation</category>
    </item>
    <item>
      <title>Cycle Time Breakdown: Reducing PR Review Time</title>
      <dc:creator>Nick Hodges</dc:creator>
      <pubDate>Thu, 30 Sep 2021 22:59:06 +0000</pubDate>
      <link>https://forem.com/linearb/cycle-time-breakdown-reducing-pr-review-time-59kp</link>
      <guid>https://forem.com/linearb/cycle-time-breakdown-reducing-pr-review-time-59kp</guid>
      <description>&lt;h2&gt;
  
  
  The Issue
&lt;/h2&gt;

&lt;p&gt;As a manager of a software development team, you are always under pressure to deliver value to the customer. In order to do that more effectively, you monitor your Cycle Time and work to keep it as low as possible so that features get into production as quickly as possible.&lt;/p&gt;

&lt;p&gt;One of the issues that can be a bump in the road towards meeting that goal is Review Time. Review Time is defined as the time between the first comment on your code and the time it is merged back into the main branch. It’s the third phase of Cycle Time and keeping it inside proper boundaries is critical to keeping quality code moving through the pipeline.&lt;/p&gt;

&lt;p&gt;Review Time is interesting because you don’t always want to make it shorter like &lt;a href="https://linearb.io/blog/reducing-coding-time/" rel="noopener noreferrer"&gt;Coding Time&lt;/a&gt; and &lt;a href="https://linearb.io/blog/pull-request-pickup-time/" rel="noopener noreferrer"&gt;Pull Request Review Time&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;A good development team wants a solid review, one that is neither too short nor too long. A quality team will try to keep Review Time between one and two days. A Review Time much less than 24 hours likely indicates that an insufficient review has been conducted. A too-long review can mean a number of things, including the Pull Request is too large, the review is complex, or the review has been ignored.&lt;/p&gt;

&lt;p&gt;LinearB provides an overview of Cycle Time for all your projects on the main dashboard that includes a clear indication of your Review Time status. This data-driven dashboard is based on the work committed to your code repository.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2hr9neovdof0ija5su30.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2hr9neovdof0ija5su30.png" alt="You can easily identify a workflow bottleneck in the Review Time phase using LinearB’s Cycle Time breakdown."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So how does this happen and what can you do about it?&lt;/p&gt;

&lt;h2&gt;
  
  
  Causes of High Review Time
&lt;/h2&gt;

&lt;p&gt;Out of range Review Time can happen for a number of reasons&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;The team has too much Work in Progress (WIP)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The team has been distracted or pulled away by other work&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Too few people are assigned to do reviews&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The review has been forgotten&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Too much WIP
&lt;/h3&gt;

&lt;p&gt;If the team has too much work to do, they may tend to ignore Code Reviews in order to press forward with their overstretched schedule. This will lead to reviews taking longer than wanted, or for reviews to be superficial or ignored altogether.&lt;/p&gt;

&lt;h3&gt;
  
  
  The team is distracted by other work
&lt;/h3&gt;

&lt;p&gt;Sometimes a senior leader or executive asks a developer for special work or to fix a specific bug, drawing them away from their regular work, causing Review Times to extend.&lt;/p&gt;

&lt;h3&gt;
  
  
  Too few people are assigned to do reviews
&lt;/h3&gt;

&lt;p&gt;Some teams limit the number of people who can do Code Reviews, and this can cause a backup in getting them done.&lt;/p&gt;

&lt;p&gt;We at LinearB recommend that everyone be encouraged to participate in Code Reviews. Obviously, the wisdom and knowledge of senior developers can help ensure that code is correct, but junior developers can also spot problems as well as learn from the process.&lt;/p&gt;

&lt;h3&gt;
  
  
  The review has been forgotten
&lt;/h3&gt;

&lt;p&gt;Sometimes, just by error or happenstance, a review can be forgotten. Tracking Pull Requests through the review process is a manual process, with managers having to be alert for errant reviews. However, features like LinearB’s WorkerB can be used to automated team alerts and personal notifications for Slack and MS Teams in order to notify developers when a review has been forgotten for a configurable period.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Decrease Pull Request Review Times
&lt;/h2&gt;

&lt;p&gt;Without a metrics tool, tracking Review Time and keeping code moving through the development pipeline can be a real bother. Reviews need to be tracked manually, emails need to be sent, and developers are bothered by flow-breaking communications.&lt;/p&gt;

&lt;p&gt;This is where LinearB comes in — it can show you the information you need to see bottlenecks and automate almost everything involved with keeping Code Reviews moving. You can &lt;a href="https://linearb.io/blog/custom-metrics-dashboards/" rel="noopener noreferrer"&gt;set up a custom dashboard&lt;/a&gt; explicitly for the purpose of tracking Pull Requests and Code Reviews.&lt;/p&gt;

&lt;p&gt;Even better, &lt;a href="https://linearb.helpdocs.io/article/dxcn9qmu6f-how-do-i-connect-linear-b-to-slack" rel="noopener noreferrer"&gt;you can set up WorkerB&lt;/a&gt; to immediately notify your team members about Pull Request events, helping them react more quickly to Code Reviews and &lt;a href="https://linearb.io/blog/customer-story-intsights/" rel="noopener noreferrer"&gt;drastically reducing Review Time&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you are finding that your reviews are frequently too long, you can take these steps to shorten them:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Ensure that your Pull Request Size isn’t too big&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Don’t allow reviews to languish&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ensure that completed reviews are merged right away&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reduce the team’s workload&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Ensure that your Pull Request Size isn’t too big
&lt;/h3&gt;

&lt;p&gt;Large Pull Requests make for difficult, and thus often long, code reviews. If a Pull request is large, developers will be hesitant to jump in and contribute. When they do, the size of the review may cause the review to take longer than desired. Our experience with customers at LinearB is that any Pull Request with over 200 changes will result in hesitancy by developers to do the code review.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb9glgq1sd6fpeaohu1sp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb9glgq1sd6fpeaohu1sp.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Don’t allow reviews to languish
&lt;/h3&gt;

&lt;p&gt;Sometimes a developer will pick up a review, but not act on it, possibly forgetting about the review altogether. WorkerB can warn about this via the Long Review notification.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Furbyar4l2txxn2pb3k3o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Furbyar4l2txxn2pb3k3o.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Ensure that completed reviews are merged right away
&lt;/h3&gt;

&lt;p&gt;A long review can occur if the review has actually been completed, but not merged back into the main branch.&lt;/p&gt;

&lt;p&gt;Again, both WorkerB and the &lt;a href="https://linearb.io/blog/linearb-pulse-view-release/" rel="noopener noreferrer"&gt;Pulse&lt;/a&gt; view can warn you about long reviews. Pulse is a view that shows you real-time updates for all your features in a single view by synchronizing your git branches and Pull Requests with your project management tool.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk8ge2e0wuuo6peunyetp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk8ge2e0wuuo6peunyetp.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Reduce the team’s workload
&lt;/h3&gt;

&lt;p&gt;Often a review will take longer because the team has a lot of Work in Progress (WIP) and thus developers feel they don’t have time to do code reviews. Perhaps the review gets started but never finished because team members are feeling the time crunch of too much WIP.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F83lv8kd74eoyng9g1qpk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F83lv8kd74eoyng9g1qpk.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can configure on a team-by-team basis how many tickets are considered too much WIP.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to do when review times are too short
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Monitor Review Depth
&lt;/h3&gt;

&lt;p&gt;A factor in reviews that are too short is the notion of Review Depth. A too shallow review indicates that you either have a single contributor that only knows the code and that no one else understands the code, and the Pull Request simply gets approved without comment or too few comments.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjuy7c0gtkqzkoubllimk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjuy7c0gtkqzkoubllimk.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Monitoring Review Depth can give you insight into why Review Time may be outside specifications. You can set up a &lt;a href="https://linearb.io/blog/workerb-developer-automation/" rel="noopener noreferrer"&gt;WorkerB Team Alert&lt;/a&gt; to quickly notify everyone when a review is merged with the number of review comments below a level that you can determine.&lt;/p&gt;

&lt;h3&gt;
  
  
  Monitor PRs Merged with Basic Review
&lt;/h3&gt;

&lt;p&gt;Another metric that can help reveal why reviews are too short is Pull Request Merged with Basic Review.&lt;/p&gt;

&lt;p&gt;You can set up a WorkerB Team alert for this as well, ensuring that you are notified if a potentially insufficient review was merged.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb36o84zk8ql7zgkidu6d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb36o84zk8ql7zgkidu6d.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The End Result
&lt;/h2&gt;

&lt;p&gt;Keeping your Review Time “just right”, and thus keeping Cycle Time under control, is a critical means to continuously improving your software development process. By monitoring Review Time and ensuring it is within desired limits, you can see your Cycle Time drop like a rock.&lt;/p&gt;

&lt;p&gt;One of our customers, Unbabel, an artificial intelligence-powered human translation platform, &lt;a href="https://linearb.io/blog/customer-story-unbabel/" rel="noopener noreferrer"&gt;saw a 40% decrease in Review Time&lt;/a&gt; when following these principles while using LinearB. Reduced Review Time means reduced Cycle Time, which means more value delivered to the customer sooner.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcgrsbnwn9mc83z9m5wis.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcgrsbnwn9mc83z9m5wis.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By ensuring timely Code Reviews and the proper processing of Pull Requests, you can create an environment where Cycle Time is low and value is delivered to customers in a timely manner. Tools like WorkerB can ensure that your team is informed about problems with respect to Review Time and take action accordingly.&lt;/p&gt;

&lt;p&gt;LinearB can make such an environment happen, and happen fast. Our tool lets you recognize that there is a problem, dig in to find where the problem originates, and take the necessary steps to correct things. If you are not already using LinearB and want to do things like drastically reduce your Cycle Time and Review Time, &lt;a href="https://linearb.io/demo" rel="noopener noreferrer"&gt;sign up for a free demo of the product today&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://linearb.io/blog/reducing-pr-review-time/" rel="noopener noreferrer"&gt;https://linearb.io&lt;/a&gt; on August 4, 2021.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>management</category>
      <category>monitoring</category>
      <category>operations</category>
    </item>
    <item>
      <title>Cycle Time Breakdown: Reducing Pull Request Pickup Time</title>
      <dc:creator>Nick Hodges</dc:creator>
      <pubDate>Thu, 30 Sep 2021 15:20:15 +0000</pubDate>
      <link>https://forem.com/linearb/cycle-time-breakdown-reducing-pull-request-pickup-time-36ej</link>
      <guid>https://forem.com/linearb/cycle-time-breakdown-reducing-pull-request-pickup-time-36ej</guid>
      <description>&lt;h2&gt;
  
  
  The Issue
&lt;/h2&gt;

&lt;p&gt;There’s nothing worse than working hard for a day or two on a difficult piece of code, creating a pull request for it, and having no one pay attention or even notice. It’s especially frustrating if you specifically assign the Pull Request to a teammate. It’s a bother to have to remember to send emails or slack messages to fellow team members to get them to do a review. No one wants to be a distraction, but the work has to be done, right?&lt;/p&gt;

&lt;p&gt;So naturally, the conscientious Dev Manager will want to pay close attention to Pull Request Pickup Time (PR Pickup Time), the second segment of a project’s journey along the Cycle Time path. (&lt;a href="https://linearb.io/blog/reducing-coding-time/" rel="noopener noreferrer"&gt;Go here for the blog post&lt;/a&gt; about the first segment, Coding Time) She’ll want to make sure those frustrations described above don’t occur. Keeping Cycle Time “all green” is the goal, but this is often difficult because there are a lot of moving parts that go into managing Cycle Time, including PR Pickup Time.&lt;/p&gt;

&lt;p&gt;PR Pickup Time is defined as the time it takes from when a pull request is issued until a review has started. Ideally, PR Pickup Time would be measured in minutes. Anything over a day should be considered worrisome.&lt;/p&gt;

&lt;p&gt;However, these days, managers are demanding more — they want hard data. LinearB provides an overview of Cycle Time for all your projects on the main dashboard that includes a clear indication of the status of your PR Pickup Time. This dashboard is data-driven, based on the work committed to your code repository.&lt;/p&gt;

&lt;p&gt;In this graphic, you can see that pickup time is red. That is, you can quickly and easily visually identify workflow bottlenecks using LinearB’s Cycle Time breakdown.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqnsywucytfi0no1ibpg2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqnsywucytfi0no1ibpg2.png" alt="Pull Request Pickup Time is the second leg of the Cycle Time journey&amp;lt;br&amp;gt;
"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So how does this happen and what can you do about it?&lt;/p&gt;

&lt;h2&gt;
  
  
  What's the cause of slow PR Pickup Times?
&lt;/h2&gt;

&lt;p&gt;There are three reasons why your repository will have a high PR Pickup Time:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;The team doesn’t know the PR exists&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The team is too busy&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Pull Request is too large&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  The team doesn’t know the PR exists
&lt;/h3&gt;

&lt;p&gt;It may be as simple as the team doesn’t know that a Pull Request is waiting to be picked up. Perhaps the developer failed to assign the Pull Request to anyone. If the process is for the requesting developer to send out an email to the team announcing the Pull Request, and he forgets, then it is much less likely that anyone will know the Pull Request exists.&lt;/p&gt;

&lt;h3&gt;
  
  
  The team is too busy
&lt;/h3&gt;

&lt;p&gt;Teams and developers that have high Work in Progress (WIP) are less likely to quickly pick up a Pull Request. They may feel pressure to get their current task completed, and don’t feel free to stop work and perform a code review. They may figure that someone else will come along and pick it up.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Pull Request is too large
&lt;/h3&gt;

&lt;p&gt;A large pull request can be daunting, and many developers may hesitate to take on a large code review, perhaps hoping another developer will jump in and take on the task. Our experience with customers at LinearB is that any Pull Request with over 200 changes will result in hesitancy by developers to do the code review.&lt;/p&gt;

&lt;h2&gt;
  
  
  Investigating High PR Pickup Time
&lt;/h2&gt;

&lt;p&gt;Tracking PR Pickup Time is very straightforward in LinearB.&lt;/p&gt;

&lt;p&gt;First, you can easily see a list of &lt;a href="https://linearb.helpdocs.io/article/bg6c46ds1y-review-request-hanging" rel="noopener noreferrer"&gt;Review Requests Hanging&lt;/a&gt; on your LinearB Dashboard.&lt;/p&gt;

&lt;p&gt;Simply click on the drill-down arrow in the upper right corner of the Dashboard, select the Pull Request tab, and click on “Review Request Hanging” and set your search criteria as desired.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0190q4anvdgmfrflftnx.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0190q4anvdgmfrflftnx.gif" alt="LinearB can easily show you branches with a hanging review request."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This listing will include all Pull Requests that haven’t been picked up after a configurable amount of time.&lt;/p&gt;

&lt;p&gt;Second, you can monitor PR Pickup Time trends in a metric in a Custom Dashboard.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fitliczh2v6z9l0eixwfr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fitliczh2v6z9l0eixwfr.png" alt="Measuring Pickup Time over the course of several iterations can be illuminating."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This metric can tell you how your team is performing over time with regard to pickup time. Obviously, you want this metric to be as low as possible. Here you can see that PR Pickup Time was good until the “Suns” iteration when the pickup time jumped to a sub-optimal level.&lt;/p&gt;

&lt;h2&gt;
  
  
  5 Tactics for Reducing High PR Pickup Time
&lt;/h2&gt;

&lt;p&gt;Naturally, once you realize that your PR Pickup Time is climbing, you’ll want to do something about it. LinearB gives you a number of ways to track things and take action with your team.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ensure Work In Progress (WIP) isn’t too high
&lt;/h3&gt;

&lt;p&gt;As mentioned above, busy teams often tend to avoid picking up Pull Requests, wanting instead to finish their work — work that is too much to allow for code reviews.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhkgr0om0r2ytnl2dwfd4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhkgr0om0r2ytnl2dwfd4.png" alt="Here, Ashley has four different issues assigned to her. That is often too many."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can monitor the level of WIP that developers have via the &lt;a href="https://linearb.io/blog/linearb-pulse-view-release/" rel="noopener noreferrer"&gt;Pulse View&lt;/a&gt;. The Pulse View is available in the menu on the upper right of LinearB’s header.&lt;/p&gt;

&lt;p&gt;Here you can see that the selected developer Ashley is currently working on four separate projects, indicated by the four rows in the view. This number of projects is often too many. He will be less likely to want to pick up a Pull Request as a result.&lt;/p&gt;

&lt;p&gt;It’s best to keep WIP at a level that allows developers time to do code reviews.&lt;/p&gt;

&lt;h3&gt;
  
  
  Keep PR Size as small as possible
&lt;/h3&gt;

&lt;p&gt;Keeping the size of your Pull Requests as small as possible has many benefits, including making it more likely that a developer will take on the task of reviewing the code in the pull request.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxfjqy5qw9h1wzb7ysj6h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxfjqy5qw9h1wzb7ysj6h.png" alt="Monitoring Pull Request size has many benefits and can drastically reduce Cycle Time."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In working with our customers, we’ve found that the very best teams keep their Pull Request Size below 150 changes. Low Pull Request Size results in &lt;a href="https://linearb.io/blog/reducing-coding-time/" rel="noopener noreferrer"&gt;lower Coding Time&lt;/a&gt;, better Review Time, and yes, better PR Pickup Time.&lt;/p&gt;

&lt;h3&gt;
  
  
  Use Real-Time Automation to keep Pull Request moving
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://linearb.io/blog/workerb-developer-automation/" rel="noopener noreferrer"&gt;WorkerB&lt;/a&gt; is designed to give notifications when events happen (or sometimes don’t happen) in your code repository.&lt;/p&gt;

&lt;p&gt;For example, WorkerB will notify a developer when she has been assigned a Pull Request. This makes it much more likely that she will actually pick it up.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxwknhsgz5rxrpd1xg9th.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxwknhsgz5rxrpd1xg9th.png" alt="This is a WorkerB notification in Slack, telling the development team that a Pull Request has been languishing."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;WorkerB will also notify the development team when a Pull Request has &lt;strong&gt;&lt;em&gt;not&lt;/em&gt;&lt;/strong&gt; been picked up for a configurable period of time.&lt;/p&gt;

&lt;p&gt;LinearB customers see a drastic reduction in Cycle Time when using WorkerB, averaging a 50% decrease.&lt;/p&gt;

&lt;p&gt;You can learn more about &lt;a href="https://linearb.helpdocs.io/article/vnepout2w4-how-to-connect-to-slack-notifications" rel="noopener noreferrer"&gt;connecting up WorkerB&lt;/a&gt; in our documentation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you are not already using LinearB and want to do things like track Cycle Time and Pull Request Size, &lt;a href="https://linearb.io/demo" rel="noopener noreferrer"&gt;sign up for a free demo of the product today&lt;/a&gt;!&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Configure a Custom Dashboard to start tracking Pickup Time
&lt;/h3&gt;

&lt;p&gt;LinearB provides many different metrics that you can use to monitor what is happening inside your development environment. You can even &lt;a href="https://linearb.io/blog/custom-metrics-dashboards/" rel="noopener noreferrer"&gt;create custom dashboards&lt;/a&gt; that enable you to see specific insights. For example, you could set up a custom dashboard to monitor the status of your pull requests, ensuring that they are processed in a timely manner.&lt;/p&gt;

&lt;p&gt;The Pull Request process is the heart of your software development life cycle. By optimizing it, you can see drastic reductions in Cycle Time, which means more value being delivered to your customers faster. Pull Requests should be picked up quickly, reviewed in a complete and timely manner, and then merged promptly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frjghwj1n7dbz07vbzkd1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frjghwj1n7dbz07vbzkd1.png" alt="This is a custom LinearB dashboard that monitors four different metrics about Pull Requests"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Above is a dashboard that tracks Pickup Time as well as Review Time, Review Depth, and Pull Requests merged without a review. In one glance, you can get a notion about the health of your whole Pull Request process.&lt;/p&gt;

&lt;h2&gt;
  
  
  The End Result
&lt;/h2&gt;

&lt;p&gt;Keeping PR Pickup Time, and thus Cycle Time, under control is a critical means to continuously improving your software development process. By monitoring Pull Request size, engaging WorkerB, and monitoring Work in Progress, you can see your Cycle Time drop like a rock.&lt;/p&gt;

&lt;p&gt;Imagine a world where you simply monitor the progress of your Pull Requests and in less than one quarter, you see your PR Pickup Time and other Pull Request metrics drastically improve merely by doing that monitoring. Say you are able to decrease your PR Pickup Time from three days to four hours. That alone is a 68-hour — almost the whole three days! — reduction in overall Cycle Time. Your boss will be impressed.&lt;/p&gt;

&lt;p&gt;LinearB can make such a world happen, and happen fast. Our tool lets you recognize that there is a problem, dig in to find where the problem originates, and take the necessary steps to correct things. If you are not already using LinearB and want to do things like drastically reduct your Cycle Time and Pull Request Size, &lt;a href="https://linearb.io/demo" rel="noopener noreferrer"&gt;sign up for a free demo of the product today&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://linearb.io/blog/pull-request-pickup-time/" rel="noopener noreferrer"&gt;https://linearb.io&lt;/a&gt; on July 23, 2021.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>management</category>
      <category>monitoring</category>
      <category>productivity</category>
      <category>operations</category>
    </item>
    <item>
      <title>Customize Your Engineering Metrics Dashboards in LinearB</title>
      <dc:creator>Nick Hodges</dc:creator>
      <pubDate>Wed, 29 Sep 2021 22:47:21 +0000</pubDate>
      <link>https://forem.com/linearb/customize-your-engineering-metrics-dashboards-in-linearb-11ef</link>
      <guid>https://forem.com/linearb/customize-your-engineering-metrics-dashboards-in-linearb-11ef</guid>
      <description>&lt;h2&gt;
  
  
  Introducing Custom Engineering Metrics Dashboards 🚀
&lt;/h2&gt;

&lt;p&gt;I’ve &lt;a href="https://linearb.io/blog/?utm_source=Referrals&amp;amp;utm_medium=devinterrupted.com&amp;amp;utm_campaign=devinterrupted%20referrals" rel="noopener noreferrer"&gt;been&lt;/a&gt; a Software Development Manager without the right metrics. Believe me, it’s a challenge.&lt;/p&gt;

&lt;p&gt;But you don’t have to be like I was anymore. Now you can not only have metrics to give you insight into what your development team is doing, but you can view those metrics in exactly the way that you want to see them.&lt;/p&gt;

&lt;p&gt;LinearB’s new custom dashboard feature allows you to build a metrics view that makes the most sense for you and your team.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;You might need a specific set of metrics for a specific meeting or as the first thing you look at every morning.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Maybe you have some specific concerns about your team and want to track some metrics that will help you deal with those concerns.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Maybe you want to keep track of everything happening with the pull requests on your team.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Whatever it is, LinearB’s Custom Engineering Dashboards can give you the view you want when you need it.&lt;/p&gt;

&lt;p&gt;Our custom dashboards are even customizable! We went above and beyond with this feature by allowing your custom dashboard to be set as a private or public, any number of colors, line or bar graph. You get to choose.&lt;/p&gt;

&lt;p&gt;You can even show it off to your boss or embed a view in PowerPoint by simply exporting the dashboard as a PNG file.&lt;/p&gt;

&lt;h2&gt;
  
  
  Create your custom dashboard in less than 60 seconds
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://linearb.io/wp-content/uploads/2021/05/CustomDashboards2.mp4" rel="noopener noreferrer"&gt;Here’s a video of me creating one in about a minute. Seriously — it’s that easy&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://linearb.helpdocs.io/article/s6eszgwmm2-release-157" rel="noopener noreferrer"&gt;This Release Note has step-by-step instructions&lt;/a&gt; if you prefer to read how to do it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Useful Dashboard Examples
&lt;/h2&gt;

&lt;h3&gt;
  
  
  DORA Metrics Custom Dashboard
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.blueoptima.com/blog/how-to-measure-devops-success-why-dora-metrics-are-important#:~:text=What%20Are%20DORA%20Metrics%3F%20At%20the%20most%20fundamental,divided%20across%20the%20two%20core%20areas%20of%20DevOps." rel="noopener noreferrer"&gt;The DORA Metrics&lt;/a&gt; are all the rage these days. Many software development leaders are using them as a baseline for keeping track of their development teams.&lt;/p&gt;

&lt;p&gt;Here is a dashboard that displays three key DORA Metrics:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcq9ydjm7w9snl8yti4gv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcq9ydjm7w9snl8yti4gv.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With this dashboard, you can see that Cycle Time has been climbing recently. You might wonder why deployment frequency is dipping, and you can see where the team likely struggled with fixing the application.&lt;/p&gt;

&lt;p&gt;With this simple view, you can see at a glance how your team is performing and what mid-course corrections you might need to make.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tracking Pull Requests with a Custom Dashboard
&lt;/h3&gt;

&lt;p&gt;Pull Requests have become more common in recent years. They have tons of advantages, and add huge value to the process of committing and merging code into your codebase.&lt;/p&gt;

&lt;p&gt;But there can be some landmines with Pull Requests. They can be too big. Sometimes they can languish waiting to get reviewed. Or they might get only a cursory review. I would have loved to be able to track all these things at a statistical, precise level rather than guessing about things as they happened. I would have loved to have this dashboard, for instance:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa29cz8e8b337s22918oq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa29cz8e8b337s22918oq.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, that’s a lot of data, but if after looking that dashboard over, you don’t have a complete view of what is happening with Pull Requests in your code base, well, I don’t know what to tell you. 😃 Maybe you don’t want all those metrics because it is too much, but that is the beauty of custom dashboards. You can tailor it to whatever you want.&lt;/p&gt;

&lt;h3&gt;
  
  
  A Custom Dashboard for Your Daily Standup
&lt;/h3&gt;

&lt;p&gt;When I was a Development Manager, I struggled to make my daily standups useful, interesting, and purposeful. The meetings would often be each developer kind of droning on about what he was doing, etc. The meetings were boring, and frankly, I began to wonder if &lt;a href="https://linearb.io/blog/daily-stand-up-2-0-its-time-to-ditch-the-stand-up-from-1993/" rel="noopener noreferrer"&gt;they shouldn’t be completely made over&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;What I really could have used were some key metrics &lt;a href="https://linearb.io/blog/make-daily-better/" rel="noopener noreferrer"&gt;to make my development team stand up more useful and effective&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Here’s a dashboard that would have been very useful to review every day in my team standup:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fouog25sdeyrjyhjowp6k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fouog25sdeyrjyhjowp6k.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This would be perfect to review before you go into the standup, or even go over it with the team in the standup.&lt;/p&gt;

&lt;p&gt;Along the top, I can see three very important metrics about the team’s Pull Requests: the size of pull requests (you don’t want them too big), the amount of review pull requests get (you don’t want it too small), and the amount of time it takes to do a review (you want it just right).&lt;/p&gt;

&lt;p&gt;On the bottom, I can see how many code changes my team is making, how much time each project is spent in coding, and how much of the code they are writing is new code.&lt;/p&gt;

&lt;p&gt;Now you may want to track different metrics, or have those metrics that you do track alter over time. That’s fine — you can easily update your dashboards at any time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Show Us Your Custom Engineering Metrics Dashboard🎉
&lt;/h2&gt;

&lt;p&gt;So go give it a try. As seen in the video above, creating your own new custom dashboards is startlingly easy.&lt;/p&gt;

&lt;p&gt;We’d love to see your own custom dashboards&lt;/p&gt;

&lt;p&gt;If you are an existing customer, you can already use this feature.&lt;/p&gt;

&lt;p&gt;If you aren’t yet a customer, you can &lt;a href="https://app.linearb.io/register?_gl=1*ylfwpm*_ga*MTMwMDgzMTY1MS4xNjE3NjQzMDUx*_ga_24C8YJGTX9*MTYyMDE1NjUzMy40NS4xLjE2MjAxNTY3MDEuMA.." rel="noopener noreferrer"&gt;sign up for free with just a few mouse clicks&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Once you are rolling, here’s what you can do:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;If you aren’t a member of our Discord Community, &lt;a href="https://discord.gg/QMZv8QVfCK" rel="noopener noreferrer"&gt;it’s totally anonymous if you want and very easy to join&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create your own dashboard.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Export it using the Export to PNG Feature. (See the “Share” button in the upper right)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Go to our &lt;strong&gt;&lt;em&gt;#show-off&lt;/em&gt;&lt;/strong&gt; channel and post your dashboard along with a description of why you chose the metrics that you did.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Post your dashboard and its description, and we’ll send you a free Dev Interrupted t-shirt!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://linearb.io/blog/custom-metrics-dashboards/" rel="noopener noreferrer"&gt;https://linearb.io&lt;/a&gt; on May 7, 2021.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>monitoring</category>
      <category>leadership</category>
      <category>systems</category>
    </item>
    <item>
      <title>WorkerB Developer Automation From LinearB</title>
      <dc:creator>Nick Hodges</dc:creator>
      <pubDate>Wed, 29 Sep 2021 15:54:23 +0000</pubDate>
      <link>https://forem.com/linearb/workerb-developer-automation-from-linearb-1310</link>
      <guid>https://forem.com/linearb/workerb-developer-automation-from-linearb-1310</guid>
      <description>&lt;p&gt;&lt;strong&gt;“The most powerful tool we have as developers is automation.”&lt;br&gt;
—Scott Hanselman&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Developers automate everything about how we write, test and ship code. But when it comes to the process of how we work together as a team on projects, it’s highly manual.&lt;/p&gt;

&lt;p&gt;I have to manually update Jira. I have to remember which of my PRs need attention and manually send a Slack message to my teammate asking for help. It takes dozens of clicks to see my open PRs in GitHub. I have to manually update my manager when I finish a piece of work or start on a new ticket. GitHub has a detailed record of everything I’m doing so why do I need to manually keep track of everything and physically input all of my updates into a project management system?&lt;/p&gt;

&lt;h2&gt;
  
  
  Introducing WorkerB Developer Automation
&lt;/h2&gt;

&lt;p&gt;To help developers save time, eliminate annoying manual tasks, reduce tab and context switching, and remove project idle time, we built three types of automation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Personal automation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Team automation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Project automation&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Personal Automation
&lt;/h2&gt;

&lt;p&gt;Type &lt;strong&gt;/lb help&lt;/strong&gt; into Slack (MS Teams coming soon!) and you’ll see a list of useful commands to help you see all of your PRs and reviews together, without clicking around.&lt;/p&gt;

&lt;p&gt;If you don’t have a LinearB account, &lt;a href="https://app.linearb.io/register" rel="noopener noreferrer"&gt;click here to sign up free&lt;/a&gt;. If you have not linked Slack to LinearB, &lt;a href="https://linearb.helpdocs.io/article/vnepout2w4-how-to-connect-to-slack-notifications" rel="noopener noreferrer"&gt;click here to connect your account&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo13pe1h4vyyd95e4o07g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo13pe1h4vyyd95e4o07g.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One command I use every day is **/lb reviews. **It shows PRs currently assigned to me and with one click I can get to them directly in GitHub / GitLab / Bitbucket (Azure DevOps coming soon!)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7koh5f0mec9gq4t936nx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7koh5f0mec9gq4t936nx.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can also configure alerts to notify you proactively of events on your PRs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4txaqqpk0vqd4d5unyde.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4txaqqpk0vqd4d5unyde.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I really like the “PR request changes” alert. It saves me from leaving my IDE every hour to see what’s happening with my PRs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2ul4s6ttbd6yfyp0wdma.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2ul4s6ttbd6yfyp0wdma.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftnjckmrwglnv8f77kkno.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftnjckmrwglnv8f77kkno.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Team Automation
&lt;/h2&gt;

&lt;p&gt;Your team can configure policies based on your specific way of working to cut idle time and establish PR review quality guardrails.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp0g2ui5v3a7s89r5gnow.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp0g2ui5v3a7s89r5gnow.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When a policy triggers, LinearB alerts the team Slack channel of your choosing (MS Teams coming soon!) and provides links to the related branch or PR. Since LinearB correlates your Git work with your projects stories, we show you the related story so you can prioritize your follow-up accordingly.&lt;/p&gt;

&lt;p&gt;The “Long review” alert has been really helpful for our team &lt;a href="https://linearb.io/blog/why-slack-alerts-went-to-1-on-our-roadmap/" rel="noopener noreferrer"&gt;since we moved to work-from-home&lt;/a&gt;. We get alerted when a review has been open for longer than 2 days. Other teams at LinearB have it set to trigger after 3 days.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbdmf3y07b6z24ked7asu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbdmf3y07b6z24ked7asu.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Learn more about configuring your team policies in this &lt;a href="https://linearb.helpdocs.io/article/58b8c8atcg-how-to-manage-and-customize-notifications" rel="noopener noreferrer"&gt;help article&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Project Automation
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://linearb.io/blog/linearb-pulse-view-release/" rel="noopener noreferrer"&gt;LinearB Pulse board&lt;/a&gt; shows a live timeline of Git activity correlated to each of your projects / features / bugs. It makes our &lt;a href="https://linearb.io/blog/make-daily-better/" rel="noopener noreferrer"&gt;daily stand-up more efficient&lt;/a&gt; by summarizing blockers, WIP and open tasks for every developer on the team.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvn8q5xefh3i68h03cjce.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvn8q5xefh3i68h03cjce.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pulse detects when your real-life work in Git does not match the status of your project management system and allows you to update the status with two clicks, without logging into your project system.&lt;/p&gt;

&lt;p&gt;In the example below from our Pulse board today, the story &lt;em&gt;add share button to custom dashboard *was marked *Selected for Sprint&lt;/em&gt; in Jira when in reality it was *In Progress. *We know it’s in progress because the little blue dots on the Git Activity Timeline on the right indicate multiple commits. We noticed the discrepancy during the meeting and fixed it in real-time.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fva3ee71x9l7ceke31mes.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fva3ee71x9l7ceke31mes.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  More Automation Coming Soon ⌚
&lt;/h2&gt;

&lt;p&gt;We’re busy building more personal, team and project automations to help you save more time:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Branch-to-ticket matching&lt;/strong&gt;: We’ll notify you when your branch or PR is not linked to a ticket and help you match it with an existing ticket or create a new ticket (without going to your project tool).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PR auto-close&lt;/strong&gt;: When you receive a LinearB alert that your PR has been approved, you can also close it with a single click.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Idle ticket alert&lt;/strong&gt;: We’ll detect when an important feature or bug has been idle, based on your Git activity, and alert you based on your team’s policy configuration.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;Developers like workflow automation because it saves us time, cuts down on tab and context switching, helps us be more responsive to teammates and helps us get through reviews faster so we can merge and move on to the next thing.&lt;/p&gt;

&lt;p&gt;Team leads like workflow automation because information travels faster which reduces idle time and speeds up development cycle time.&lt;/p&gt;

&lt;p&gt;If you have a LinearB account, you can use all of these automation features now. If you don’t have a LinearB account, &lt;a href="https://app.linearb.io/register" rel="noopener noreferrer"&gt;click here to sign up free&lt;/a&gt;. If you have not linked Slack to your LinearB account, &lt;a href="https://linearb.helpdocs.io/article/vnepout2w4-how-to-connect-to-slack-notifications" rel="noopener noreferrer"&gt;click here to connect your account&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://linearb.io/blog/workerb-developer-automation/" rel="noopener noreferrer"&gt;https://linearb.io&lt;/a&gt; on May 4, 2021.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>management</category>
      <category>monitoring</category>
      <category>analytics</category>
    </item>
    <item>
      <title>Find Unplanned Work And Match Developer Effort To The Right Project With LinearB Matchmaker</title>
      <dc:creator>Nick Hodges</dc:creator>
      <pubDate>Tue, 28 Sep 2021 15:58:20 +0000</pubDate>
      <link>https://forem.com/linearb/find-unplanned-work-and-match-developer-effort-to-the-right-project-with-linearb-matchmaker-1bpn</link>
      <guid>https://forem.com/linearb/find-unplanned-work-and-match-developer-effort-to-the-right-project-with-linearb-matchmaker-1bpn</guid>
      <description>&lt;p&gt;Even the best developers sometimes find themselves investing time into unplanned work that is not aligned to current team priorities.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The CEO asks for something urgent.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A shiny new object becomes a distraction.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;There’s a misunderstanding about priorities.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sometimes devs are working on the right priority but it looks to teammates and leaders like they’re not:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Branches/PRs are not linked to the project ticket.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Project tickets status is not up-to-date.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Unplanned work is the #1 cause of missed deadlines and miscommunications&lt;/strong&gt; between engineering and business. But not all unplanned work is bad!&lt;/p&gt;

&lt;p&gt;Does this story sound familiar? 👇&lt;/p&gt;

&lt;p&gt;Developer starts working on a new feature. The new feature relies on an old part of the code base with ugly technical debt. Developer decides to fix tech debt because A) it will make the product better overall, B) it will make building the feature easier and faster and C) it will help the new feature work better for customers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Unplanned work is the #1 cause of missed deadlines and miscommunications&lt;/strong&gt;. We built Matchmaker to deal with that.&lt;br&gt;
&lt;a href="https://linearb.io/get-started-linearb/" rel="noopener noreferrer"&gt;Get it now. Free for dev teams&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is a win, win, win, right? Yes, at LinearB we encourage our developers to exercise this judgement. Except on some teams this decision could create confusion because the work is unplanned and undocumented. If we rely on individuals to manually communicate these changes verbally or in our ticketing system (🤣🤣🤣), we may not find out about them until it’s too late, if at all.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To empower every developer to be a decision maker and ensure all work is correctly attributed to the right project, we built &lt;em&gt;Matchmaker&lt;/em&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Matchmaker starts in &lt;a href="https://linearb.io/blog/linearb-pulse-view-release/" rel="noopener noreferrer"&gt;LinearB Pulse&lt;/a&gt;. Since Pulse correlates your Git activity to your project stories in real-time, it knows when you’re writing code in a branch that is not connected to a project story.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuuugyi7mlahl1s3bhpn2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuuugyi7mlahl1s3bhpn2.jpg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But here, we are interested in the text in the upper right where you are told how many branches are unlinked to project work:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F39y1kyz87jj61j6hdppy.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F39y1kyz87jj61j6hdppy.jpg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here, we see that the code base has a total of six branches that aren’t linked to work tickets. If you click on the text, you get taken down lower on the page to look at the specifics about these unlinked branches:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flbq4eoebrb88hy4m4zzz.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flbq4eoebrb88hy4m4zzz.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here you can see the unlinked branches. You can see the branch names, who is working in them, and what the level of effort is on each one.&lt;/p&gt;

&lt;p&gt;In one of the branches, highlighted above, we have some code that isn’t linked to a work ticket. The small purple dot indicates that the work was done mid-sprint, but wasn’t reviewed and merged. Not only that, but it’s been waiting a while for that review. If you are a manager, you probably need to look into that and find out what is going on.&lt;/p&gt;

&lt;p&gt;If you are a developer, you want to know that what your working on isn’t being properly tracked.&lt;/p&gt;

&lt;p&gt;This particular branch is &lt;a href="https://medium.com/@sukhrobgolibboev/importance-of-refactoring-software-da13417f3b1f" rel="noopener noreferrer"&gt;refactoring work&lt;/a&gt; — effort that is valuable and needed but that doesn’t tie back to a specific project task.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Coming Soon!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We aren’t standing pat. Matchmaker is improving in the near future.&lt;/p&gt;

&lt;p&gt;Coming soon, we’ll be integrating this feature with Slack Alerts. If a developer creates or commits to a branch that isn’t associated with an issue, a personal alert will be sent to that developer on Slack, immediately making them aware.&lt;/p&gt;

&lt;p&gt;In addition, we’ll make it even easier to take action on that alert by allowing you to connect an unmatched branch to the correct project tool ticket, right in Slack.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Benefits&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So, this feature lets you see what is happening and correct it if need be. You can see the extra work that developers are doing outside of the “official” work that they are supposed to be doing. Maybe the work is okay and you can make it official. Maybe it’s not and you need to redirect the developer back to the proper tasks.&lt;/p&gt;

&lt;p&gt;There are benefits for the developers as well — perhaps a developer created the branch and didn’t properly name it. She can see that and correct it. She can get noticed for refactoring and reworking code.&lt;/p&gt;

&lt;p&gt;Either way, Matchmaker solves a number of problems for you. Shadow Work can derail your project. Being able to see it allows you to do something about it. You can peer into your code base in a new way to ensure that the work that is being done is work that should be getting gone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How does it work?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Matchmaker is triggered when a branch name doesn’t match your team’s naming convention. Here at LinearB we name our branches with our project tool’s ticket number, like so:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PROJ-3435-some-new-feature&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We then include the ticket number “ &lt;strong&gt;PROJ-3435&lt;/strong&gt; “ in our branch name and LinearB sees that and knows that a properly named branch is associated with that ticket.&lt;/p&gt;

&lt;p&gt;It also knows that a Pull Request is associated with a ticket in the same way.&lt;/p&gt;

&lt;p&gt;Branches that are worked on that don’t match the naming convention are highlighted by Matchmaker.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Matchmaker is new and powerful. It will save you time and keep things in order by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Finding code not attached to a project story&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Visualizing the size and scope of activity&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Helping you match the work to the right project&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Alerting the developer privately in Slack (&lt;strong&gt;&lt;em&gt;Coming Soon!)&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Matching the branch to the right story with one click (&lt;strong&gt;&lt;em&gt;Coming Soon!)&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="http://app.linearb.io" rel="noopener noreferrer"&gt;Give it a try today!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://linearb.io/blog/unplanned-work-matchmaker/" rel="noopener noreferrer"&gt;https://linearb.io&lt;/a&gt; on April 16, 2021.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>monitoring</category>
      <category>leadership</category>
      <category>management</category>
    </item>
    <item>
      <title>Brain Time vs. Butt Time: Improve Developer Productivity</title>
      <dc:creator>Nick Hodges</dc:creator>
      <pubDate>Fri, 27 Aug 2021 15:57:13 +0000</pubDate>
      <link>https://forem.com/linearb/brain-time-vs-butt-time-improve-developer-productivity-4468</link>
      <guid>https://forem.com/linearb/brain-time-vs-butt-time-improve-developer-productivity-4468</guid>
      <description>&lt;p&gt;Many moons ago, I tweeted the following about how to improve developer productivity:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7wzr4k3f95ta3ncs19mm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7wzr4k3f95ta3ncs19mm.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Tracking Time
&lt;/h2&gt;

&lt;p&gt;There is a pretty big controversy in the software development community about logging time. Of course, if you are billable, you need to log your time, but what if you aren’t? Should you have to keep track of the time you spend writing code? Does tracking time do anything to improve &lt;a href="https://linearb.io/blog/engineering-productivity/" rel="noopener noreferrer"&gt;developer productivity&lt;/a&gt;?&lt;/p&gt;

&lt;p&gt;Now I know that no one really likes to track their time. It’s a pain. It’s challenging to be accurate. It’s hard to get time properly categorized. But it can be invaluable for making those important business decisions. I’m not going to solve that argument here.&lt;/p&gt;

&lt;p&gt;But there is a bigger problem with measuring time. The only thing you can really measure is “Butt Time”. Butt Time is the actual amount of time someone has their butt in a chair while working on a project.&lt;/p&gt;

&lt;p&gt;You need Butt Time to get any work done, of course. But managers should not be insisting on a lot of Butt Time. Butt Time isn’t really what you want to maximize. What you really want to foster is Brain Time.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Do You Really Want to Measure?
&lt;/h2&gt;

&lt;p&gt;Butt Time isn’t at all equivalent to productive development time. Butt Time includes reading email, answering questions and generally handling any number of interruptions, daydreaming, personal calls, meetings, and other distractions. And those distractions, however minor, break a developer’s concentration. It is also time spent not working on the task at hand.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxyksmcxc3q66ic9vo9es.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxyksmcxc3q66ic9vo9es.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you get right down to it, development is all about concentration — Brain Time. With a coding project of any size at all, doing development requires complete focus and attention. You need to build up complex data structures and patterns in your mind in order to really be productive.&lt;/p&gt;

&lt;p&gt;Doing this takes time — I’ve heard it described as building a house of cards in your mind. Building that house of cards can take upwards of fifteen minutes depending upon the project. But here’s the bummer: It only takes a second for that house of cards to come tumbling down. One distraction can make your fifteen minute investment disappear.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Zone
&lt;/h2&gt;

&lt;p&gt;And of course, time spent in “The Zone” — with that house of cards constructed and true, highly productive work getting done — is what we all are seeking. We’ve all probably had that awesome experience of getting into that zone for hours at a time and wondering where the time went. We know how cool that is — and how precious. That’s what we want to measure — Brain Time.&lt;/p&gt;

&lt;p&gt;But that’s a really hard — if not impossible — thing to do. Getting accurate, meaningful Butt Time measurements is difficult enough. But how in the world can you actually measure Brain Time?&lt;/p&gt;

&lt;p&gt;I’ll argue that you really can’t. In the end, Butt Time is only a poor proxy for Brain Time. And all too often, managers will use Butt Time as a measure of productivity. What we need to do is to try to increase the Butt Time to Brain Time ratio by providing an environment where Brain Time is maximized as a percentage of total Butt Time. It’s critical to improve developer productivity.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Can You Do to Improve Developer Productivity?
&lt;/h2&gt;

&lt;p&gt;There are ways to do that — ensuring that your developers have an office with a door that they can close is an important first step. The book &lt;a href="https://www.amazon.com/Peopleware-Productive-Projects-Teams-3rd/dp/0321934113/" rel="noopener noreferrer"&gt;Peopleware &lt;/a&gt;is really the Bible for this, and &lt;a href="https://www.geekwire.com/2016/just-shut-let-devs-concentrate-programming-expert-advises/" rel="noopener noreferrer"&gt;Joel Spolsky has talked a lot about it as well&lt;/a&gt;. Uninterrupted quiet time is the key. Leaving developers alone is critical to maximizing Brain Time.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsgfxm86znlbpxbtu66g3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsgfxm86znlbpxbtu66g3.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Developers inherently know that “Butt Time” isn’t really important. They know that time spent thinking is way more valuable. I’ve known developers that do some of their best thinking while wandering the halls, allegedly “doing nothing” (Heaven forbid that a developer isn’t sitting in their chair!), or making a cup of coffee.&lt;/p&gt;

&lt;p&gt;Managers should make sure that they aren’t expecting developers to be sitting and typing all the time. Sometimes great work gets done while simply staring at the screen doing nothing. Sometimes walking the dog brings about an epiphany.&lt;/p&gt;

&lt;p&gt;Join in on the discussion about all things Software Development on the &lt;a href="https://discord.gg/tpkmwM6c3g" rel="noopener noreferrer"&gt;Dev Interrupted Discord Server&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;Managers should recognize this and encourage their team to do what they need to do to do their best thinking. If a developer can concentrate at night from 10:00pm to 3:00am, then she should be encouraged to work then. Every developer is different, and a good manager will learn what works for their team members and provide for that.&lt;/p&gt;

&lt;p&gt;Another thing we need to do is to respect — indeed, celebrate — those developers that are quiet and don’t say much. Many developers are introverts that don’t say much at all. They come to work, write great code, and go home. But sadly, we don’t always respect this. Being quiet is a very valuable virtue in a software developer — both because they themselves are being productive and they aren’t breaking other’s concentration. We should give honor and respect to that.&lt;/p&gt;

&lt;p&gt;Butt Time is easy to come by and fairly easy to measure. Brain Time, however, is a precious and hard to measure commodity that needs to be nurtured and respected. If you really want to improve developer productivity, optimize for Brain Time.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;If you haven't already heard&lt;/strong&gt;, Dev Interrupted is hosting &lt;strong&gt;INTERACT&lt;/strong&gt;: The interactive, community-driven, digital conference that takes place September 30th. Designed by engineering leaders, for engineering leaders, INTERACT will feature 10 speakers, 100s of engineers and engineering leaders, and is totally free.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2400%2F0%2AnHzak-kDc0MzrG55.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2400%2F0%2AnHzak-kDc0MzrG55.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;a href="https://devinterrupted.com/event/interact/" rel="noopener noreferrer"&gt;Register Now&lt;/a&gt;
&lt;/h1&gt;




&lt;p&gt;If you haven’t already joined the best developer discord out there, WYD?&lt;/p&gt;

&lt;p&gt;Look, I know we talk about it a lot but we love our developer discord community. With over 1500 members, the Dev Interrupted Discord Community is the best place for Engineering Leaders to engage in daily conversation. No salespeople allowed. &lt;a href="https://discord.gg/tpkmwM6c3g" rel="noopener noreferrer"&gt;Join the community &amp;gt;&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2048%2F0%2AxR_ViPMd2T8ljTzt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2048%2F0%2AxR_ViPMd2T8ljTzt.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://linearb.io/blog/improve-developer-productivity-with-brain-time/" rel="noopener noreferrer"&gt;https://linearb.io&lt;/a&gt; on April 23, 2021.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>productivity</category>
      <category>programming</category>
      <category>devops</category>
    </item>
    <item>
      <title>Engineering Metrics: 3 Levels of Visibility</title>
      <dc:creator>Nick Hodges</dc:creator>
      <pubDate>Thu, 26 Aug 2021 15:08:35 +0000</pubDate>
      <link>https://forem.com/linearb/engineering-metrics-3-levels-of-visibility-5ba9</link>
      <guid>https://forem.com/linearb/engineering-metrics-3-levels-of-visibility-5ba9</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;LinearB has all sorts of engineering metrics for your software development pipeline. We can slice and dice those metrics from all kinds of angles and all sorts of ways. Your CTO will want to see very different views of LinearB data than will your developer leads. Whether you are trying to see into the health of your delivery pipeline, seeking out bottlenecks in your system, or worried about making sure only LinearB can help you gain those insights.&lt;/p&gt;

&lt;p&gt;Since the presentation of data is critical to its effectiveness, LinearB allows you to create views into your data for different levels of your organization and your code. The three most interesting views into your data are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Organization Level Engineering Metrics&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Team Level Engineering Metrics&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Repository Level Engineering Metrics&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Organization Level Engineering Metrics
&lt;/h2&gt;

&lt;p&gt;The highest level view of your company’s engineering metrics is at the organizational level. This is the view that rolls up everything that every developer on all your teams does into one single view.&lt;/p&gt;

&lt;p&gt;An organization-level view helps you align business priorities by visualizing your project investment at the 50,000-foot view. As an executive, you plot the course and fly the airliner. You need to make sure your team’s efforts are aligned with business goals and that you are doing everything in your power to ensure the success of crucial projects. By viewing things from the top, you will be able to get the proper glimpse into what and how your development team is doing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why look at the organization-level engineering metrics?
&lt;/h2&gt;

&lt;p&gt;The organization-level engineering metrics view is usually most valuable for the CTO or VP of Software Engineering. It provides a complete, high-level look at everything happening in the software development realm. CTOs and VPs can get an executive summary of things like Cycle Time, Work Breakdown, and your Investment Profile.&lt;/p&gt;

&lt;p&gt;They can get a high-level view answers questions like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;What is the team working on?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How fast are we delivering that value?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Where is our investment going?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;What do my &lt;a href="https://linearb.io/blog/dora-engineering-metrics/" rel="noopener noreferrer"&gt;DORA metrics&lt;/a&gt; look like?&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let’s take a look at how LinearB can answer these questions.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is the team working on?
&lt;/h2&gt;

&lt;p&gt;The Project View can show you exactly what projects your team is working on and the high-level status of each of those projects:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2048%2F0%2AksQ0226tGIzjhQzo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2048%2F0%2AksQ0226tGIzjhQzo.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How fast are we delivering value?
&lt;/h2&gt;

&lt;p&gt;Organization-level &lt;a href="https://linearb.io/cycle-time/" rel="noopener noreferrer"&gt;Cycle Time&lt;/a&gt; can tell you how well the team is delivering value. A lower cycle time means more value is arriving in the customer’s hands sooner. It also means that you are breaking your work into smaller, more manageable chunks, thus encouraging good Code Review practices. For instance, if you identify that your Coding Time is a problem (as below) then &lt;a href="https://linearb.io/blog/reducing-coding-time/" rel="noopener noreferrer"&gt;you can take action to correct it&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2048%2F0%2AHHUgX1qtyQr82zDI.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2048%2F0%2AHHUgX1qtyQr82zDI.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Where is our investment going?
&lt;/h2&gt;

&lt;p&gt;You can see what the team is working on via the Investment Profile View. This view tells you the type of work and what percentage of each type is being done by the team. Perhaps you might notice that bug fixing is climbing. Perhaps that is on purpose. Perhaps not. Either way, you can see it happening and take action.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F0%2AJUZSzJKGk9r_yVqk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2000%2F0%2AJUZSzJKGk9r_yVqk.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What do my DORA metrics look like?
&lt;/h2&gt;

&lt;p&gt;DORA Metrics are easy to track in LinearB, again, via a custom dashboard:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2048%2F0%2A5JUdsM_WOzKOw3-C.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2048%2F0%2A5JUdsM_WOzKOw3-C.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Team Level Engineering Metrics
&lt;/h2&gt;

&lt;p&gt;Just as executives need a view into their software development team’s engineering metrics, so, too, do Dev Managers and Dev Leads. They are interested in more day-to-day metrics that track how things are progressing with their specific development pipelines. Dev Leads and Dev Managers want to remove workflow blockers, set goals for workflow optimization, and keep code — and thus value — working its way through the development pipeline.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why look at team-level engineering metrics?
&lt;/h2&gt;

&lt;p&gt;Dev Leads and Dev Managers want to know the answers to questions like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Where are my bottlenecks?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Are my developers aligned to business priorities?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Is the team effectively working together?&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Where are my bottlenecks?
&lt;/h2&gt;

&lt;p&gt;Bottlenecks can be easily spotted by drilling down into Cycle Time:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2048%2F0%2AVaP2gr1iaEAbmz-g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2048%2F0%2AVaP2gr1iaEAbmz-g.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It couldn’t be easier — anything that isn’t green is a bottleneck for the team. If you need to, you can drill down into the team and project level to see what is causing the bottlenecks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Are my developers aligned to business priorities?
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://linearb.io/blog/linearb-pulse-view-release/" rel="noopener noreferrer"&gt;Pulse View&lt;/a&gt; can tell a Dev Lead exactly what her team is working on. The Pulse View melds information from your git repository and your Project Management tool to provide valuable insights into what each team and team member is doing.&lt;/p&gt;

&lt;p&gt;Below you can see four of the twenty issues that the entire team is currently working on. The view shows active, merged, and shipped work for each project. More and bigger dots mean more activity on a given issue.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2048%2F0%2APgPZraeqdXdoORQl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2048%2F0%2APgPZraeqdXdoORQl.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Is the team effectively working together?
&lt;/h2&gt;

&lt;p&gt;Ensuring that the team is working together and all rowing in the same direction is a large part of a Development Manager’s job. Out of the box, LinearB provides three team-level dashboards — they are called Quality, Delivery, and ThroughPut — that provide insights into the team-level engineering metrics that are useful for Development Managers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2048%2F0%2AtPt2J0Mk0XPtl2YA.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2048%2F0%2AtPt2J0Mk0XPtl2YA.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A large part of the teamwork on a software development team is ensuring the smooth, steady flow of Pull Requests. Keeping an eye on Pull Requests and their corresponding Code Reviews is as easy as setting up a &lt;a href="https://linearb.io/blog/custom-metrics-dashboards/" rel="noopener noreferrer"&gt;custom dashboard&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2048%2F0%2AmE6ykRRIe8qdrRTT.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2048%2F0%2AmE6ykRRIe8qdrRTT.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here you can see things like how long it takes for a Pull Request to be picked up and a review started, how much time is being spent on reviews, the depth of those reviews, and more. All of this information can be used to find bottlenecks in your coding pipeline.&lt;/p&gt;

&lt;h2&gt;
  
  
  Repo Level Engineering Metrics
&lt;/h2&gt;

&lt;p&gt;LinearB’s newest view is the &lt;a href="https://linearb.helpdocs.io/article/v0a3cpxc8q-repository-level-metrics" rel="noopener noreferrer"&gt;Repository Level view&lt;/a&gt; into your codebase. This is best seen via pre-built and custom dashboards. You can create a specific dashboard and then choose to look at it with either the “People” or “Repository” view. This enables you to quickly and easily peer into a specific repository from any dashboard.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why look at the Repo level metrics?
&lt;/h2&gt;

&lt;p&gt;It is quite common for a larger project to be broken down into multiple repositories. While a view into what a team is doing, sometimes multiple teams are working together on a repository and the status of that repository can become a concern.&lt;/p&gt;

&lt;p&gt;Or perhaps your project is based on the microservices model, and you have a repository for each service. With the Repository Level View, you can see what is going on inside the repository for any of the services that may need your attention&lt;/p&gt;

&lt;p&gt;Now, with LinearB’s new Repository Level View, you can easily check the health of a given repository.&lt;/p&gt;

&lt;p&gt;Here’s a thorough example of a dashboard that will give you insight into a repository as opposed to what your team or organization is up to.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2048%2F0%2Ao4W4saBq7ybFpzyW.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2048%2F0%2Ao4W4saBq7ybFpzyW.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This view has been broken down into three areas of interest by the row of the dashboard:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Quality metrics in Orange&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Review success in Purple&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Code throughput in Green&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The three quality metrics are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Code Rework&lt;/strong&gt; — This measures the amount of committed code that are changes to existing code created less than 21 days ago. LinearB recommends that you keep Code Rework to under 3% for any given repository. If you see it going above that, you will know that you have code quality issues or that requirements are changing or not well defined.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;PRS Merged without Review&lt;/strong&gt; — This number should be zero — a flat line across the bottom. There should never be a merge (above a configurable minimum size) that isn’t reviewed. A lack of code review could mean low-quality code has been merged into the repository.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;PR Size&lt;/strong&gt; — Large Pull Requests cause all kinds of problems, including low Pickup Time, Long Reviews, and Pull Requests with low Review Depth. Pull requests should be small and easily digestible. LinearB recommends that Pull Requests average less than one hundred changes. We also recommend that if they get above two hundred changes, then it could indicate problems discussed above.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The three review success metrics are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://linearb.io/blog/pull-request-pickup-time/" rel="noopener noreferrer"&gt;Pull Request Pickup Time&lt;/a&gt;&lt;/strong&gt; — PR Pickup TIme is the amount of time between the Pull Request being submitted and the first comment is made on the Pull Request. LinearB recommends that you keep this to less than one day so changes are fresh in everyone’s mind. If the Pull Request Pickup Time starts rising, it likely indicates that other developers are hesitant to start reviewing code, perhaps because they are too busy with Work in Progress or because the Pull Request is large and complex.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://linearb.io/blog/reducing-pr-review-time/" rel="noopener noreferrer"&gt;Review Time&lt;/a&gt;&lt;/strong&gt; — This is the amount of time spent reviewing the code. If it is too little, say less than a day, it could indicate that reviews are superficial. If it is too high, more than four or five days, it likely means that the code is complex and difficult to understand, and thus difficult to approve.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Review Depth&lt;/strong&gt; — This is the average number of comments per review. If it is below two, it indicates superficial reviews. More than five, it could indicate complex or hard to understand code needing attention from leadership as the pipeline might be slowed down.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The two code throughput metrics are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Pull Requests Merged&lt;/strong&gt; — Here, there is no prescriptive measure. Rather, it is a trend that should be monitored. If it starts lowering, perhaps the development team is stuck or has too big of a project. If it starts rising, that is generally considered a good thing, as Pull Requests are likely small and easy to process.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Deployment Frequency&lt;/strong&gt; — This is a &lt;a href="https://linearb.io/blog/dora-engineering-metrics/" rel="noopener noreferrer"&gt;DORA Metric&lt;/a&gt; (which are usually tracked at the executive level) but the measure can also be useful at the repository level. If a repository is being released less weekly, then it indicates features building up that increase the feedback loop for the development team. It also indicates that deployments can get large, and failures become harder to track.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A dashboard such as this one provides a clear look into an individual repository, allowing you to ensure that the code therein is of high quality, being properly reviewed, and moving along quickly into the hands of customers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Leveling Up Your Development Pipeline
&lt;/h2&gt;

&lt;p&gt;Whether you are a Development Lead or a CTO/VP of Engineering, or if you are concerned with high-level, team-level, or repo-level metrics, LinearB can provide you with the information and insight you need to make sound decisions about your software development process.&lt;/p&gt;

&lt;p&gt;Our tool lets you recognize that there is a problem, dig in to find where the problem originates, and take the necessary steps to correct things. If you are not already using LinearB and want to do things like see exactly what is going on in your organization, team, or repository, &lt;a href="https://linearb.io/demo" rel="noopener noreferrer"&gt;sign up for a free demo of the product today&lt;/a&gt;! Our produce is free to use for teams of eight or less, so get started with a demo today!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://linearb.io/blog/engineering-metrics-3-levels-of-visibility/" rel="noopener noreferrer"&gt;https://linearb.io&lt;/a&gt; on August 9, 2021.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>showdev</category>
      <category>productivity</category>
      <category>analytics</category>
    </item>
    <item>
      <title>Those “Pesky” Pull Requests are Totally Worth It</title>
      <dc:creator>Nick Hodges</dc:creator>
      <pubDate>Fri, 20 Aug 2021 16:01:45 +0000</pubDate>
      <link>https://forem.com/linearb/those-pesky-pull-requests-are-totally-worth-it-578b</link>
      <guid>https://forem.com/linearb/those-pesky-pull-requests-are-totally-worth-it-578b</guid>
      <description>&lt;p&gt;Pretty much everyone does code reviews. They’ve been around a long time. I remember back in my Borland days when the Chief Scientist would come in every morning and review all the code that had been checked into the Subversion(!) repository the previous day and send emails out to folks whose code wasn’t up to snuff. That’s old school.&lt;/p&gt;

&lt;p&gt;Slightly less old school? Saving all the check-ins up until Friday for the Dev Leads and/or Dev Managers to review and approve. Both of these techniques leave a lot to be desired — the main thing being a complete lack of interaction between the developer, the code, and the reviewer.&lt;/p&gt;

&lt;p&gt;Code Reviews have a number of purposes. Probably the most important one is preserving the quality and integrity of the code in the repository. Even the two old-school ways above do that.&lt;/p&gt;

&lt;p&gt;But almost as important is the learning opportunity that code reviews can provide. If the only feedback a developer gets from a code review is mistakes in formatting or other trivial things like that, then nobody learns and gets better. The old school ways above provide for few opportunities for a developer to increase their skills. To provide learning opportunities, code reviews evolved into meetings where everyone looked at the code written that week and commented on it, criticized it, or otherwise ran it through the gauntlet. This did provide a learning opportunity for developers, but it took more time, as it was 100% synchronous and required all code to wait for the next scheduled meeting to be reviewed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdm982gjt8ckz7wmpoy9t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdm982gjt8ckz7wmpoy9t.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, almost no one is doing these old-school code reviews anymore. All the cool kids are doing pull requests. (Some folks call them “merge requests.”) Pull requests have a number of advantages over the previously mentioned methods, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Being done completely asynchronously, but in public for all to see.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No one needs to wait to review the code — it can happen almost immediately after a pull request is issued.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A history of all the comments stays with the code in a repository. This allows a developer to come back to the code a year later and see all the thought that went into writing it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pull Requests can be tracked, monitored, and measured. &lt;a href="https://linearb.io/blog/three-git-pull-request-review-strategies/" rel="noopener noreferrer"&gt;A whole lot of good things can come out of that &lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Should you do code reviews at all?
&lt;/h2&gt;

&lt;p&gt;Interestingly, some say no, you shouldn’t.&lt;/p&gt;

&lt;p&gt;Not only is Jessica Kerr a great speaker and a good Twitter follow, but she also has some interesting ideas about code reviews in her article of March 27 entitled “Those pesky pull request reviews .” In fact, she doesn’t like pull requests, and argues that you should sidestep them by just working on a given task as a team, so that everyone sees everything as the work gets done.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2048%2F0%2AEBaePGd857-v63hu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2048%2F0%2AEBaePGd857-v63hu.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;She believes that pull requests work great for open source projects where a “team” is really a set of individuals coordinating work together. For true development teams, she believes that if a team all works together on a single task, everyone learns and understands the code, and thus there is no task switching between coding and doing pull requests because the pull requests are unnecessary.&lt;/p&gt;

&lt;p&gt;Jessica’s idea is radical — basically going beyond Pair Programming and moving into mob programming. Mob programming is the idea of having whole teams work together on projects in serial rather than individually in parallel. Mob programming can eliminate the need for pull requests by causing all of the communication and learning to take place during the coding phase, without any review.&lt;/p&gt;

&lt;h2&gt;
  
  
  Not a Fan
&lt;/h2&gt;

&lt;p&gt;I’m having a hard time agreeing with her idea for a couple of reasons:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;The transaction costs are too high. It seems to me that having four people work on a project together makes for many communication channels, increases the likelihood of interruptions, and reduces the amount of code that will actually get written. It’s sort of a “Too many cooks spoil the broth” notion.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It doesn’t capture the discussions and history that will remain long after the code is committed. One of the most important and powerful benefits of pull requests is the learning that can take place during and even long after code has been reviewed and deployed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Finally — not all projects are conducive to multiple team members working together. Some are small and multiple people working together would be overkill. Some are esoteric and require the focus of one person. Some will match the team and can be worked on together. There’s no one size fits all solution for all projects.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Finally, not doing pull requests pretty much eliminates all the benefits of metrics systems like &lt;a href="https://linearb.io/" rel="noopener noreferrer"&gt;LinearB &lt;/a&gt;. Tracking the progress of pull requests and code reviews through the pipeline is a critical process for knowing how your team is performing. Without that, you can't measure things and if you can’t measure things, you can’t improve.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;As part of a discussion about code reviews, Rob Kraft, one of the Development Leaders in our vibrant Dev Interrupted Discord Server (&lt;a href="https://discord.gg/wHvgytX9P7" rel="noopener noreferrer"&gt;you should join&lt;/a&gt;!) made the following comment that I agree with:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2048%2F0%2AKLA7-yvVpEIAmygh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2048%2F0%2AKLA7-yvVpEIAmygh.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I think that what Jessica needs is a good look at LinearB. 🙂&lt;/p&gt;

&lt;p&gt;Let me address some of her more specific objections:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;“&lt;strong&gt;Let’s face it: nobody wants to review pull requests.&lt;/strong&gt;” Well, I don’t think that is true. We here at LinearB see customers every day that are doing pull requests efficiently and effectively. Sure, pull requests can be hard and nobody wants to do them if you aren’t correctly incenting the team to create pull requests that are easy to review. No one likes a huge pull request. But through monitoring metrics like Pull Request Size, you can encourage your team to create small, easy-to-review pull requests. And voila! People don’t hate pull requests anymore.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;“&lt;strong&gt;They’re a social interaction minefield!&lt;/strong&gt;” People complain that code reviews can cause strife on a team. Well, so can conversations during Mob Programming. I’m not sure that I see a distinction. And if doing a code review causes strife, then you have a cultural problem that no development methodology is going to solve.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;“&lt;strong&gt;We could blame the people. We could nag them more. We could even automate the nagging!&lt;/strong&gt;” Well, if code reviews are small, concise, and easy to do, “automating the nagging” via our &lt;a href="https://linearb.io/blog/workerb-developer-automation/" rel="noopener noreferrer"&gt;WorkerB product&lt;/a&gt; is usually more than enough to get the ball rolling and keep it rolling. Notifications and tracking of any reviews that do happen to languish keep things moving as well. LinearB customers have seen drastic improvements in code pipeline productivity as a result of this so-called “nagging”.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;“&lt;strong&gt;Maybe instead of trying to work a bit more together, we could work together.”&lt;/strong&gt; Well sure, but if you do that, checking in code without a process of pull requests and code reviews, well, then you aren’t getting all the benefits listed above, nor those of a metrics tool that can show you what your &lt;a href="https://linearb.io/blog/cycle-time-measuring-and-improving-team-process/" rel="noopener noreferrer"&gt;Cycle Time&lt;/a&gt; is doing. And I don’t believe that mob programming will prevent the cultural problems that can arise from code reviews. People will be people whether in a mob programming environment or in an asynchronous code review process.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Bottom Line
&lt;/h2&gt;

&lt;p&gt;Okay — so what rubber is hitting the road here?&lt;/p&gt;

&lt;p&gt;If pull requests and code reviews are hard and people don’t want to do them, then you are doing them wrong. So the trick is to make them easy to do.&lt;/p&gt;

&lt;p&gt;We here at LinearB see many, many customers improve their Cycle Time and their overall software development process by using and tracking pull requests. By combining metrics tracking around pull requests with tools like &lt;a href="https://linearb.io/developer-automation/" rel="noopener noreferrer"&gt;WorkerB&lt;/a&gt;, many, many development organizations have seen smaller pull requests, better reviews, shorter Cycle Times, and an overall sense that things are really humming.&lt;/p&gt;

&lt;p&gt;Monitoring things like the size of pull requests, when pull requests are assigned, picked up, and commented on, as well as monitoring the depth of reviews that take place all create an environment of small, discrete, easy to review pull requests.&lt;/p&gt;

&lt;p&gt;And of course, if you want to find out more about what our customers already know, you can &lt;a href="https://linearb.io/demo/" rel="noopener noreferrer"&gt;book a free demo of LinearB &lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In the end, while her ideas are intriguing and thought-provoking, I can’t say I agree with Jessica’s argument. There doesn’t seem to be any good reason not to do pull requests with code reviews.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Jessica’s blog post &lt;a href="https://jessitron.com/2021/03/27/those-pesky-pull-request-reviews/" rel="noopener noreferrer"&gt;can be read on her Jessitron blog&lt;/a&gt;&lt;/em&gt; and you can follow her on Twitter at &lt;a href="https://twitter.com/jessitron" rel="noopener noreferrer"&gt;@jessitron&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you haven't already heard, Dev Interrupted is hosting &lt;strong&gt;INTERACT&lt;/strong&gt;: The interactive, community-driven, digital conference that takes place September 30th. Designed by engineering leaders, for engineering leaders, INTERACT will feature 10 speakers, 100s of engineers and engineering leaders, and is totally free.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2400%2F0%2AnHzak-kDc0MzrG55.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2400%2F0%2AnHzak-kDc0MzrG55.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;a href="https://devinterrupted.com/event/interact/" rel="noopener noreferrer"&gt;Register Now&lt;/a&gt;
&lt;/h1&gt;




&lt;p&gt;If you haven’t already joined the best developer discord out there, WYD?&lt;/p&gt;

&lt;p&gt;Look, I know we talk about it a lot but we love our developer discord community. With over 1500 members, the Dev Interrupted Discord Community is the best place for Engineering Leaders to engage in daily conversation. No salespeople allowed. &lt;a href="https://discord.gg/tpkmwM6c3g" rel="noopener noreferrer"&gt;Join the community &amp;gt;&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2048%2F0%2AxR_ViPMd2T8ljTzt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2048%2F0%2AxR_ViPMd2T8ljTzt.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://devinterrupted.com/pesky-pull-request-totally-worth-it/" rel="noopener noreferrer"&gt;https://devinterrupted.com&lt;/a&gt; on June 30, 2021.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>codereview</category>
      <category>programming</category>
      <category>discuss</category>
    </item>
  </channel>
</rss>
