user story mapping

Every Agile Software Project Needs a User Story Map

Rusty Divine Agile, Articles, Microservices, Project Management Leave a Comment

In this blog, I share an example of a real-world, agile enterprise modernization project that benefited from a User Story Map.

I’m the team lead for a project to convert a business solution from COBOL to a .NET microservices architecture. Other than some interesting challenges with designing a robust microservices solution, the business logic is very straightforward – input files are processed, databases queried, output files are produced and dropped in a folder, and our goal is to match the output produced by the COBOL solution perfectly.

Yet, we lost our way fairly early on in the project because we had a typical prioritized backlog. Unfortunately, even on a straightforward, well-defined project with an engaged team, we still managed to veer off course.

Our project manager started asking questions about where we were in the project and where we were going. I struggled to answer those questions because I couldn’t make sense of all that was in our backlog. It was around this time that I took a spreadsheet and created our first User Story Map….

Fluent Assertions with AssertJ

Billy Korando Articles, Effective Automated Testing With Spring Series, Java 1 Comment

I recently gave a presentation to my Keyhole team members about JUnit 5. I started off the presentation by covering the importance of automated testing, how lack of automated testing affects an organization’s ability to deliver code to production, and how without automated testing you are building legacy.

I pointed out two key benefits of automated testing: confidence you are fixing what you set out to fix, and confidence you are not introducing a new bug. A co-worker however pointed out an important third benefit of automated testing: providing living documentation.

My co-worker made the very good point that automated testing can do more than just checking for code correctness. It can also provide valuable documentation for current and future developers on a project.

In this article, we look at how using AssertJ can make automated tests easier to read and write. We take a look at how AssertJ improves the readability of assertions in test cases, as well as how it helps make the task of comparing complex objects and performing list validations easier to read and write. The goal is that when tests are easier to read and write, it will hopefully encourage developers to write more tests (i.e. documentation).

Keyhole Announces Platinum KCDC 2018 Sponsorship & Speakers

Keyhole Software Articles, Community, Company News, Educational Event Leave a Comment

We are pleased to announce that Keyhole Software is a Platinum Sponsor of the 2018 Kansas City Developer Conference! 2018 is Keyhole’s sixth year as a KCDC conference sponsor.

The Kansas City Developer Conference is a Kansas City-based, non-profit software developer conference. The 10th annual KCDC conference will be held from July 11-14th, 2018. Main conference days are Thursday & Friday, July 12th and 13th.

Day one of the conference, Wednesday, July 11th, will be a day of “Pre-Compilers” – optional, full-day, hands-on workshops on a specific topic. July 12th and 13th, the main conference days, will feature one-hour breakout sessions. Additionally, July 14th will host a KC Kids Conference (KC)2…. 

White Paper Published: Blockchain for the Enterprise

Keyhole Software .NET, Articles, Blockchain, Company News, Java Leave a Comment

The Keyhole team is proud to announce the publishing of a new white paper: Blockchain For The Enterprise. 

While Bitcoin is on the minds of the general public worldwide, blockchain is on the minds of information technology professionals. It is the underpinning technology of the powerful and popular cryptocurrency. What exactly is blockchain and how will it help my business? That is what this white paper seeks to answer.

In the most simple terms, a blockchain is a distributed data system for keeping a ledger of immutable data transactions. We will explore additional complexities through this document, but the simplest way to think of it is a highly distributed transaction log. If you happen to be a developer and you are using Git for source code control, you are already using some of the distributed blockchain elements.

In this white paper, we discuss a number of topics related to blockchain with a particular emphasis on the enterprise. This document will be in three major parts. Part one will include a brief overview and history of blockchain, part two will include a deep technical dive, and the third part is written with the intent to aid managers and executives in their decision making in regards to blockchain…

What’s New in JUnit 5.1

Billy Korando Articles, Development Technologies & Tools, Effective Automated Testing With Spring Series, Java Leave a Comment

It is hard to believe that JUnit 5 has been out for five months! Already we have our first feature release. There are quite a few changes in 5.1 and you can see them all in the release notes. In this article, we focus on a few of the changes that I think are the most impactful to the day-to-day tasks of writing automated tests…