OCR in OneNote

OneNote is good for a lot of things–like taking notes–but did you know that you can also use it as a quick & dirty OCR? It’s a snap to use, too. Just copy an image from the clipboard onto a OneNote page, then right-click and choose Copy Text from Picture.


OneNote works its magic and copies the text it finds to the clipboard. Here’s what the image above produces:

File Edit Format View 
I love text! 
Texty, text, text! 
Untitled - 
Ln2, Col

You can see that it’s far from perfect. I’m not sure why “Untitled -” and “Notepad” aren’t together or why they’re not at the top. It also didn’t do a great job with the text in the status bar, reading Ln 2, Col 19 as Ln2, Col. But it did a good job with the meaty part that I’d actually care about.

Let’s try a more complicated example. Behold, a screen-grab of the lipsum.com Lorem Ipsum generator homepage!

This image has a little bit of everything. There are letters, numbers, columns, different fonts and sizes, and even a background with words! Here’s what OneNote gives us:

Lorevn Ipsuvn 
"Neque porro quisquam est qui dolorem 'psum quia dolor sit amet, consectetur, adpsci vellt 
'There is no one who loves pain itself, who seeks after it and wants to have it, simply because it is pain 
What is Lorem Ipsum? 
Lorem Ipsum IS simply dummy text of the printing and typesetting 
industry Lorem psum has been the industry's standard dummy text 
ever since the ISOOs, when an unknown printer took a galley of type 
scrambled t to make a type specimen boobc It has survwed not 
only fwe centuries, but also the leap into electronic typesetting, 
remaining essentially unchanged It was popularised in the 1960s with 
the release of Letraset sheets containing Lorem psum passages, and 
more recently with desktop publishing software like Aldus ageMaker 
including versions of Lorem 
Where Does it come from? 
Contrary to popular belief, Lorem psum is not simply random text It 
has roots in a piece of classical Latin literature from 45 BC, making it 
over 2000 years old Richard McClintock, a Latin professor at 
Hampden-Sydney College in V'rgnia, looked up one of the more 
obscure Latin words, consectetur from a Lorem psum passage, and 
gong through the cites of the word in classical literature, discovered the 
undoubtable source Lorem psum comes from sections UllY32 and 
IA1133 of "de Finibus aonorum et Malorum- (The Extremes of Good 
and Evil) by Cicero, written in 45 BC This book is a treatise on the 
theory of ethics, very popular during the Renaissance The first line of 
LÆrem psum, "Lorem ipsum dolor sit amet comes from a line in 
section 32 
The standard chunk of Lorem Ipsum used since the ISOOs is 
reproduced below for those interested Sections T1032 and IAIY33 
from "de Finibus aonorum et Malorum" by Cicero are also reproduced 
in their exact original form, accompanied by English versions from the 
1914 translation by Rackham 
Why Do we use it? 
It is a long established fact that a reader will be distracted by the 
readable content of a page when looking at its layout The point of using 
Lorem psum is that t has a more-or-less normal distribution of letters 
as opposed to using 'Content here, content here making it look like 
readable Many desktop publishing packages and web page 
editors now use Lorem psum as their default model text and a search 
for 'lorem ipsum' will uncover many web sites still 'n their infancy 
Various versions have evolved over the years, sometimes by accident, 
sometimes on purpose (injected humour and the like) 
Where can I get some? 
There are many variations of passages of Lorem Ipsum available, but 
the mayorty have suffered alteration In some form, by Injected humour, 
or randomised words which dom look even slightly believable If you 
are going to use a passage of Lorem psum, you need to be sure there 
ism anything embarrassing hidden n the middle of text All the Lorem 
Ipsum generators on the Internet tend to repeat predefined chunks as 
necessary, making this the first true generator on the Internet It uses a 
dictionary of over 200 Latin words, combined wth a handful of model 
sentence structures, to generate Lorem psum which looks reasonable 
The generated Lorem psum is therefore always free from repetition, 
injected humour, or non-characteristic words etc 
by tes 
Start with 'Lorem 
ips um dolor sit 
Generate Lorem Ipsum 

Okay, pretty good. It did an admirable job of detecting the paragraphs and columns. Most of the words came out fine, but there were problems with numbers (1500s read as ISOOs) like we saw with the simple Notepad example. There were a lot of small typos (reados?), like dropped periods or a missing letter here and there. The takeaway here is that any decent amount of text that you care about should be proofread. If you’re too lazy for proofreading, you might be able to clean it up a bit by pasting into Word and using its spelling and grammar checking.

Despite its flaws, it’s a really fast, really easy way to OCR just about anything you can get on your computer screen. Take a screenshot using Snipping Tool or something better, paste it into OneNote, and OCR that mamma jamma!

JIRA Plug-In for Greenshot

A couple weeks, I wrote about Greenshot–a wonderful free & open-source screenshot utility. During the installation, there were a number of optional plug-ins that I didn’t select because I was skeptical of the application, one of which was for JIRA. I was intrigued and, after my trust was earned, I re-ran the installation and selected to include the plug-in.

The plug-in is pretty cool. I have Greenshot configured to always open the image editor, and the plug-in adds a little JIRA button to the toolbar. When I click it, a dialog pops up that allows me to pick a JIRA issue from a saved filter or enter the JIRA number manually. Click the Upload button, and the image is attached to the specified issue in JIRA. I actually prefer this to JIRA’s attach file process. Quick & easy!

While the plug-in itself is slick, the configuration was not. The first time I clicked the button, it straight-up crashed. I figured out where to enter my JIRA URL, clicked it again, and it crashed. I restarted Greenshot, clicked again, and it crashed. Finally, I ran as administrator, and it worked. Jeesh!

It’s pretty easy to configure once you know what’s up, but knowing what’s up is tricky. So, without further ado…

Configuring the Plug-In

I haven’t taken any time to figure out how to add the plug-in if you didn’t select to include it during installation. So, if you were like me and didn’t install it, go re-run the installer and include it. Once installed, the plug-in is configured in Greenshot’s Settings dialog. Right-click the task tray icon and choose Preferences, then go to the Plugins tab.


Click to highlight the JIRA plug-in and click the Configure button. Another dialog is displayed, prompting you for a URL. Enter the following:



You can test the URL you’ve entered by browsing to it in your favorite browser. If it’s good, you’ll get the WSDL XML. (The plug-in works by generating a class at runtime using the WSDL, so it’s not going to work if you can’t get to the WSDL.) Click Ok to save your changes and Ok to close the Settings window. You need to restart Greenshot for the changes to go into effect. Right-click the task tray icon and choose Exit, then start it back up.

Now you should be good to go. Click the JIRA button in the Greenshot image editor, and you’ll be prompted for your credentials. If you elect to save your credentials, you’ll only be prompted once. If the credentials work, you’ll get the upload-to-JIRA dialog.



In the upload dialog, you can pick a saved filter to see a list of issues. Picking from the list populates the issue number text box at the bottom. You can also manually enter the issue number into the textbox. When a valid issue is entered, the Upload button enables, and clicking it uploads the image to the specified JIRA issue. Good stuff!

Got UAC?

As mentioned previously, the plugin works by dynamically generating a proxy class from the JIRA service WSDL. It saves the generated assembly to disk and then uses it to interact with the JIRA web service. Since it’s generating and saving an assembly to disk, it needs to have administrative priveleges. If you click the JIRA button and receive a crash message that says it can’t find an assembly with a seemingly-random name, try running Greenshot as Administrator.

Mountek nGroove Snap 3

Back before everybody’s cell phone had built-in GPS, I had a TomTom GPS. It came with a suction cup so you could stick it to the window, but that never really worked that well for me. It would constantly fall off the window, and it drove me nuts. So, I bought a beanbag friction mount that I could stick it to, and it would sit nicely on the dashboard whenever I was driving somewhere that I needed directions.

Fast forward to present day. I use my cell phone for directions when I need them, but I prop it up in a little groove below my car’s instrument panel. If I turn too fast, it goes flying, and it’s low enough that I’m constantly looking down for the next turn. The solution is a cell phone mount, and I’ve been shopping for the perfect one for a long time.

I didn’t want something that used a suction cup because of my previous bad experience, and I didn’t want something that used an adhesive because I worry about it doing permanent damage or failing over time. The vents in my car are not in a good location, so any clip-on mount’s not so great. I was considering going for a suction cup to re-use with my beanbag, but I was turned off by storing it. I wouldn’t want to leave it out all the time because the rubber could melt on a really hot day, it’s too big to store with the base & mount assembled, and the idea of disassembling & reassembling with each use is less than ideal, too.

Enter the Mountek nGroove Snap 3 magnetic car mount.


This thing is great. First, it attaches to the CD slot in my car which is perfect. It’s right where I want it in the middle of the instrument panel, and I don’t think I’ll ever put another CD in there, anyway. The mount is small and reasonably unobtrusive, so I won’t have some big, bulky bracket that’s either out all the time or being stored with each use. It’s magnetic, so I just stick a metal badge under my phone’s case and it just sticks–super easy to mount and remove with one hand. There are no brackets, so I can put it in any orientation with whatever cables I might need (charging, stereo). It’s universal, so it’ll work with phones or tablets or anything else that’s light enough to be held by the magnet (which is pretty strong). It can also be used as a desktop stand for your phone, if you’re into that kind of thing, too.

The only thing that I can even think to complain about is that my phone blocks the clock a bit when it’s mounted, but I can still see the time by leaning a little to my left. (So be sure to think about what controls or displays it might be blocking.) Other than that, it’s amazing. Even my wife was impressed, which is really saying something. Best mount ever.

Greenshot for Screenshots

I used to knock on Snagit from TechSmith. I didn’t get why somebody would pay for a screenshot utility when Windows comes with one built-in. Then I got a license, and I was converted. I loved not having to hand-draw crappy arrows, boxes, and highlights. It upped my screenshot game, big-time!


But, like all good things, my time with Snagit came to an end. I left the job that brought us together, and with it, my license. I was back to living in the screenshot dark ages with Snipping Tool and Paint. After a few months, I’d had enough. I was ready to put down $50 for a personal Snagit license so that I’d never be without it again. I’m pretty sure I even went as far as putting it into my cart on the TechSmith website, but I never quite pulled the trigger.

I don’t know why it took me so long to think of this, but I finally headed over to Google and searched for Snagit alternatives. And that’s where I met one of my new best friends: Greenshot.

Greenshot has all the features that I’d grown to love about Snagit, but it’s free & open-source. Here’s a quick list of what I love most:

  • PrtSc to select a region (Ctrl+PrtSc for entire desktop, Alt+PrtSc for current window)
  • Screen grabs open in editor with drawing tools like rectangles, ellipses, arrows, highlighter, textboxes, and speechbubbles
  • Obfuscation tool to draw a box around & blur sensitive data
  • Auto-incrementing counter circles — perfect for giving directions!


The only thing I didn’t love right out of the gate is that the default keybinding for copying the image from the editor to the clipboard is Ctrl+Shift+S instead of just Ctrl+C. But I’ve gotten used to it, and it’s nice being able to use Ctrl+C/Ctrl+V to copy/paste elements in the editor. It lets me do things like have arrows that are the exact same size and parallel, which is great since I’m super anal about stuff like that!

So, if you’re stilling using Snipping Tool and/or Paint or looking for a great alternative to Snagit, give Greenshot a try. You won’t be disappointed! Unless you want something that also takes videos. Then you’d be disappointed and would probably want to go get Snagit. But for screenshot editing, go Greenshot!

My Year in Gadgets

I like gadgets, and so I tend to buy a lot of them. Some are life-changers, and some fizzle out after a few weeks or months. Here’s a rundown of notable gadgets I’ve acquired this year.

Bose SoundLink Mini Bluetooth Speaker

This little guy ended up on my wish list after playing with a demo at Best Buy. I definitely had a “whoa” moment when I heard it for the first time. So, when I moved into an office at work, I decided it was time to pull the trigger. I mean, it would be silly for me to listen to headphones in a room all by myself, right?

This is one purchase that I have zero regrets about. I use it almost every day. I listen to music in the office, NPR in the kitchen, and have toddler dance parties in the living room. It’s also great for being outside. The battery life is really good. I can’t tell you exactly what it is because I think it’s only gone dead on me once or twice. (It has a charging dock that I keep on my desk, and that’s it’s usual resting place.) I think you get a good 10+ hours on a full charge, though.

JayBird BlueBuds X Sport Bluetooth Headphones

After going to the gym for a few weeks, I decided it was time to invest in a pair of quality workout headphones. I wanted to go wireless because I’ve never really liked having the cord flopping around while I run, but I also wanted great sound since I could be using them 5-10 hours each week between workouts and other uses.

First, the good. The sound quality did not disappoint. I was nervous that I’d regret not going for a pair of wired buds with better quality, but these were great. The battery life is pretty good. I charge them every few days, and that’s sufficient to keep them from ever dying on me.

There is some bad with these, though. It took me a week or two to get used to them. In the first few days, I was really disappointed. I had tried a few different configurations (cord over the ear, under the ear, different size buds & wedges), but they weren’t comfortable and kept falling out during workouts. However, I stuck with them, found a configuration that I like, and no longer have any problems–so don’t give up! The only problem I have with them now is that every now and then, I’ll have problems with the audio just stopping. I don’t know if it’s my phone or the headphone that’s the culprit, but I’ll be listening to a song and it will just stop. There is no indication that I have disconnected, but I can take a few steps to reconnect and everything will be fine. I have tried rebooting my phone, power-cycling the headphones, and anything else I could think of. Most days everything is fine, but it’s super annoying on that one day every other week where it’s being temperamental. There have been a couple of days where I’ve given up on them and just stuffed them into my pocket during a workout.

One final gripe is that when I’ve used these to watch Netflix in bed, the audio has been out-of-sync with the picture. The audio sounds great, so I don’t blame the headphones here, but it’s out-of-sync due to bluetooth. So it’s not a problem that I’d have if I’d gone with wired ear buds.

Despite this seemingly negative review, I’m happy with what I’ve got. I’m sure that if I’d selected a wired pair, I’d have regrets about the cord. I love the sound and they’re comfortable. Great for listening to music, not-so-much for video.

Jackery Giant+

A portable power bank is one of those things that I never seemed to think about unless I was in need of one. Before my most recent trip out to the west coast, I decided to pick one up. I was initially deciding between the Lumsing 10400mAh and the Jackery Giant. I liked the Lumsing because it’s super-economical ($25), but I ultimately went with the Giant+ because of–of all things–the location of the USB ports.

One of the reviews of the Lumsing pointed out that it was awkward to use the charger from a pocket. I don’t expect that I’ll be doing my charging from my pants (but who knows), but I like that I can stick the Giant+ in an inner pocket of my backpack and still have the ports exposed. When I need some juice on the go, I can easily plug-in without any fuss and toss the device in need of charging into my backpack. The Giant+ is also slightly bigger (12000mAh) and has a flashlight. The flashlight seems like it could be useful, but the question is whether I’ll have the Giant with me when I need it!

Microsoft Band

When the Band was first announced, I was very “meh” about it. I had been looking for a watch with a built-in timer or stopwatch to help me with my workouts, and so I convinced myself to try it out. I headed over to my local Microsoft Store and they were all out of stock. Now that I couldn’t have one, I really wanted one. So I got myself on a list and waited.

It came a couple of weeks later. I’ve had it for about a month now, and I’m pretty happy with it. The thing I like most is something that I did not expect: the email and text alerts. You can’t really read or reply to these messages, but it’s great to take a quick peek by flipping your wrist to then determine if the it’s worthy of bringing my phone out of my pocket and dealing with it. Payment notification from Verizon, ignore. Text from wife, address immediately.

I haven’t really tried the guided workouts, I don’t really go on runs, and I don’t really care about my step count. I like the workout tracker (essentially just a timer + heart monitor) and sleep tracking, and, as mentioned previously, I really like the email and text alerts. It’s still early with this one, but it seems like a win.

Kindle Voyage

The Kindle Voyage is my latest toy. I had a 1st generation Kindle Fire that was ironically lost in a fire. I like it for reading at night, but I didn’t use many of the tablet features (browser or apps) and the glare was not so good for daylight reading at times. So, I decided to go for a pure e-reader this time. I’ve read just one book so far, but the more I use it, the more I like it.

I decided to get the Voyage for the auto-brightness adjustment, and it works nicely. I also like the page turn buttons on the side but wouldn’t consider this to be any sort of killer feature. All-in-all, I’m happy with this. It’s definitely better for reading than my Kindle Fire was, but I can’t say how it compares to another pure reader like the Paperwhite.

Wagan Power Dome EX 400-Watt Jump Starter with Built-In Air Compressor

This is less techy, but it is no less awesome. I’m a stickler for tire pressure, but the condo that I’ve been living in does not have a nearby power source for me to connect my small air compressor. The gas station air is a pain since it’s usually not free, and I probably don’t have correct change. So, I wanted to find a wireless air compressor that I could keep in my car to use when I need it.

There were mixed reviews about this, but I decided to take a chance. I’m glad I did–I love it. Low pressure? I just pull this puppy out of the cargo area, and I’m back to normal in no time! It doesn’t fill up super fast (about 1-2 lbs every 30 sec), but it definitely gets the job done. Putting a few pounds of air into all four tires is easy work. There are gripes about the valve cord not being long enough, but just tip it on its side and it’s plenty.

It’s also got a jump starter. I haven’t had to use it, but it’s nice to know that I’ve got it. (I’ve been burned by jump starters in the past, so I’m keeping regular jumper cables around, too!) It has USB ports for charging devices, a radio, a flashlight, and both AC and DC power outlets. Plus it looks cool and seems to impress dads and grandpas. I’m happy with this thing just as a portable air compressor, but it does a lot more!

Edit Environment Variables in the Registry

I’m annoyed with the state of environment variables, more specifically the PATH variable. It used to be not entirely intuitive but relatively easy to edit. You’d right-click My Computer > Properties > Advanced > Environment Variables and be home free.

Recently, I needed to add a value to my PATH variable. In Windows 8.1, finding the advanced system properties is a little different, but I made it there without too much trouble. So, I selected the PATH variable, clicked the edit button, and was presented with a dialog box. It looked good, but I couldn’t type anything!

I believe I wasn’t able to type because my existing value exceeded the the character limit of 1024. I’m sure this limit has been there all along, but it was super annoying to deal with. I was able to get around the problem by using PowerShell. This worked fine for adding a new path to the environment variable, but I don’t think it would be so great for editing to remove an unneeded path or correct a mistake. But whatever, it worked, and I thought I was in the clear until today when I found that my added path had inexplicably been removed! Gah!

I headed back to Google for a better solution, and I think I found a winner. You can edit the values in the registry, which gives me everything I’m looking for. I can copy the entire existing value into a text editor, make whatever changes, and then copy it back into the registry and save. Oh, and then you have to reboot. (Ugh.) This all seems WAY harder than it should be, but it does work, and I found it to be less annoying than the alternatives I could find.

Here are the registry keys:

  • User – [HKEY_CURRENT_USER\Environment]
  • System – [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]


Blurry Monitors in Windows 8.1

As mentioned in yesterday’s post, I’ve been rocking a new Lenovo T440S. I noticed that whenever I attached an extra monitor, the display would get blurry. Some quick internet research suggests that this may be related to Windows 8.1 auto-scaling that attempts to make things on different screens appear to be the same size. Luckily, Microsoft has published a support article that offers two solutions to this problem: disabling DPI virtualization for specific applications or lowering the Windows DPI setting.

Both solutions worked for me, but I opted for #2 since I’m not particularly interested in dealing with the problem on a per-application basis.

Here’s the short version of how to do that:

  1. Go to Control Panel > Appearance and Personalization > Display
  2. Check Let me choose one scaling level for all my displays
  3. Optional – Choose the scaling percentage to use (I use Smaller – 100%)
  4. Click Apply

Reverse Fn/Function Keys with FnLock

I got a new laptop a few weeks back–a Lenovo T440s–and the only gripe I’ve had with it is that the F-keys are disabled by default in favor of the function keys (volume +/-, brightness +/-, etc.). Maybe that’s good for the average user, but I need to use F-key shortcuts a lot more than I need to adjust the volume, so this I’ve found this “feature” to be quite annoying.

I ran into a similar problem when I bought the Touch Cover 2 for my Surface RT. It had the same problem, but I chose to ignore it since I was mostly using the tablet for emails and web browsing. However, I did recall reading somewhere that there was a way to reverse the default functionality.

I headed over to Google with that in mind. A quick search revealed that there was, in fact, a way to toggle the “mode” by using a keyboard shortcut: Fn+Esc. I tried it out, and two nice things happened. First, I got an on-screen notification that FnLock was enabled. Second, there’s a little, green light that’s now lit on the Fn screen (similar to Caps Lock on a lot of keyboards). I didn’t notice it at the time, but as I’m writing this article, I see that “FnLk” shows as the Fn-shortcut on the Esc key, which is great because I was just thinking it’d be nice if they made this feature a little more obvious!

Excited by my newly-found FnLock shortcut, I headed over to my Surface to see if the same shortcut would work there. It did not, but another quick Google search showed me that I could use Fn+CapsLock to achieve the same thing. It’s not the universal shortcut that I was hoping it’d be, but at least I can get the functionality I want on both computers!

Find the Best Wifi Channel with Meraki Wifi Stumbler

Recently, I’ve been having network connectivity issues at home. Browsing the internet is generally fine, but if I try to stream a video or play games online, I have disruptions every few minutes. One of the suggestions that I got from Comcast was that there might be interference on the wireless channel that my router is using.

I’m not wireless pro, but that seemed like a reasonable thing to check out. Before arbitrarily picking a different channel, I wanted to see what other wireless networks around me were using. After a quick or search or two, I found a free wireless analyzer called Meraki WiFi Stumbler.


WiFi Stumber is a simple app that gives you basic details about the wireless networks that can be found. It’s easy to see the signal strength, encryption, and–what I was looking for–channel. Using the app, I did a quick scan to determine a channel that wasn’t being used by one of my neighbors and plugged it into my router. Now I can check wireless interference off my list of possible culprits!

How My Team Does Agile, 2014 Edition

I’ve spent a lot of time and energy over the past few years trying to get my team doing agile software development in a way that feels good to me. We’ve really come a long way, and we’re really getting close to where I want us to be.

Where We Started

When I first joined the team, I was really unhappy with our agile practices. We were running two-week sprints. Before a sprint started, we’d have two meetings: pre-planning and sprint planning. In pre-planning, we’d have 12 developers on their laptops and phones as we went through their assignments person by person. Nobody was invested in anything that anybody else was working on, and so they didn’t bother to pay attention. Everybody would leave with their individual assignments, and they’d come up with the tasks they’d work on to email to the team lead before the sprint planning meeting.

Sprint planning was even worse. We would literally watch the team lead copy/paste tasks from emails into a spreadsheet to be inserted into TFS. There’d be no input or feedback from the team on the tasks, and everybody would just sit and wait for their turn to read their tasks as they were being entered into the spreadsheet. It sounds bad, but it got worse. The cell phone use and not-paying-attention lead to a ban on cell phones and laptops, so you’d just have to sit there and try not to fall asleep.

Coming out of sprint planning, you’d have a list of tasks that you came up with that nobody paid any attention to. There was no accountability. You could probably submit the same list of tasks two sprints in a row without being questioned. But that’s not even the worst part!

The biggest problem that I saw was what I describe as a “culture of failure.” Nobody was completing their tasks in the sprint, and nobody cared. At the end of the sprint, we’d just close ’em out and make new ones, no questions asked. To this day, I can’t wrap my head around how an entire team of developers can be responsible for coming up with their own tasks with their own estimates with no questions asked and not complete them all EVER! (Deep breaths, self… Writing about the past is conjuring some bad juju, and I’m getting angry.)

Where We Are Now

So, yea. That was where we were, and I’m happy to say that we’ve come a long way. I believe we’re experiencing a lot of success today primarily because of a few key changes. We transformed a large team of INDIVIDUALS into lean execution TEAMS, we shortened our sprints from two weeks to just one, we started to focus on our backlog, and we stopped accepting work into sprints unless we believed it could be completed.

Converting our single large team into three smaller execution teams was a big challenge. We had to look at our developers and identify who might and might not work well together. I think we did a pretty good job with that since it’s been about a year, and we’ve only made one or two “trades” between the teams. In order to build the team mentality, we’re assigning work to the team instead of the individuals. The teams are responsible for determining how work is divided, and we really don’t care how it gets done as long as it gets done. Each of our three teams operates a little differently, and each of them is more functional than the big glob we had before.

But the small teams weren’t enough. We were still having problems with planning enough work to get into a sprint. The result is that halfway through, we’d have a lot of items that were blocked or no longer needed. This is mostly because we were stretching to scrape up enough work to fill the sprint, so a lot of what made it in wasn’t ready. That meant a lot of time spent working on things that we didn’t plan for or possibly not working on anything! Additionally, we’d have distractions coming up constantly that couldn’t wait for the next sprint–so that’s more items being pushed out or not worked on. Shortening sprints to one week addressed a lot of those issues. We don’t need as big of a backlog since we only need a week’s worth of work at a time. Distractions are less of a problem because we’re never more than a week away from the next sprint; it’s much easier to tell a customer than you can’t do something for a few days than a few weeks.

With shorter sprints implemented, we could focus on our backlog and ensuring that we have enough work ready to go with each sprint. This was a huge shift. Instead of asking developers what they were working on, we were giving them assignments based on project needs and priorities. If there was any question about the complete-ability of an item, we’d pull it out of the sprint and either add a task to improve its complete-ability or replace it with something else entirely.

So let’s review what we’ve got now: teams that are invested in what their members are working on and short sprints filled with items that can actually be completed. We’re still not completing 100% of our sprint work each week, but we’re having more success than we’ve ever had before.

What Comes Next

The team’s in a good place, but we’ve still got a lot to improve on. We don’t do a great job of story-writing. Our backlog has a lot of “do X” stories that don’t provide much context. Why are we doing that? What else do we need to get where we’re going? Because of this approach, we have a lot of new work that pops up at the end of the sprint as we realize that we now have to “do Y” and “do Z” before we’re done with a certain feature.

So my next focus will be on making sure we write quality stories. Let’s have non-functional stories to create the system functionality needed to complete bigger functional stories. Let’s make sure our stories have valid descriptions and clear completion criteria. Let’s scope stories so we can confidently fit them into a single sprint. Let’s identify the functional stories needed to complete a project so we can have a clear picture of what “done” means before we begin, sharpening our focus on what we’re trying to accomplish while simultaneously building a strong backlog. Yes, the future will be good!

%d bloggers like this: