Avoiding Test-Driven Development?

Ryan LaRue Dev Methodologies, Testing Leave a Comment

Throughout time, there have been certain questions that will always result in great battles. In one recent throw down, I drew my line in the sand and bravely asserted, “Hell no, a hotdog is not a sandwich!”

There are other more dangerous questions that we’ve all heard, of course… is Mac better than PC? Is Android better than iPhone? Are dogs better than cats? That last question is the silliest of all as the correct answer is so very obvious. Regardless, these intriguing questions have often led to disastrous consequences such as sulking and hurt feelings.

Allow me to add another one to the list: Is Test-Driven Development (TDD) a good practice?

I know, provocative. In this blog, I will discuss test-driven development, why many in our field seem to hate it, and why you should choose to still implement some of its main concepts in your development….

Working Remotely As An Agile Dev Team: Tips & Suggestions

Lynn Brownlee Agile, Dev Methodologies Leave a Comment

With the recent news, many companies currently find themselves in the real situation of a sudden transition to a remote staff for the first time. With the snap of a finger, your team members suddenly lack the proximity to be able to function in the same exact way. Yet, work must be done and deadlines still need to be met.

In this blog, we introduce tips, suggestions, and takeaways for Agile software development team members to successfully work remotely or distributed for the first time.

How Relative Story Sizing Won Me Over

RJ Dela-Cruz Agile, Consulting, Dev Methodologies Leave a Comment

Anyone who practices agile methodologies such as scrum is going to be very familiar with the practice of story pointing user stories (also known as poker planning). The good ole’ fashion 4, 8, 13, etc. Fibonacci sequences we assign to user stories of a sprint.

If you’re not familiar, it’s where the team gathers together to discuss the user stories to bring into a coming sprint and assigning each a number called story points. These story points are estimates that represent the level of difficulty and time it is expected to take to complete the story.

The team often will have discussions on whether a story is a particular story point number and argue their point of view until the team comes to an agreement to what story point it should be. I’ve done this type of work estimation for a long time that it’s natural for me… until we did something a bit different on a scrum team that I was a part of.

In this blog, we discuss a different way to assign poker points to user stories that could be beneficial to your scrum team – relative story sizing.

Strategy: Knowledge Transfer In Consulting Projects

Josh Green Agile, Consulting, Dev Methodologies, Soft Skills Leave a Comment

Imparting Knowledge And Preparing For The End Of A Contract

In this blog, I share an example of a consulting engagement that required significant knowledge transfer to new hires. We detail an approach for teaching Spring Batch to developers with no previous experience in Java or the Spring Framework.

The goal is to provide a real-world example of closing a contract, imparting knowledge with the client and their employees, and the potential issues faced in the process.

Microservices Anti-Patterns

Dallas Monson Agile, Consulting, Microservices 1 Comment

Microservices? Yeah, you’re doing it wrong.

Microservices is a silver bullet, magic pill, instant fix, and can’t-go-wrong solution to all of software’s problems. In fact, as soon you implement even the basics of microservices all of your dreams come true; you will triple productivity, reach your ideal weight, land your dream job, win the lottery 10 times, and be able to fly, clearly.

While this sounds like a lot of hyperbole wrapped up in some BS, if you have been listening to anything around microservices recently you will most likely have heard something not too far from this exaggerated sentiment – especially if it is coming from sales folks.

As a result of this, you or someone you know will likely have been charged by management to implement a solution in microservices or refactor an existing application to take advantage of microservices to ensure that you get all the magic. With so much overinflation of the truth out there, chances are you may have also implemented a microservices antipattern. These antipatterns are actually more common in the wild than fully functional microservices architectures.

Overview
In this post we will cover the most common antipatterns that I have witnessed in the wild:

Break the Piggy Bank
Everything Micro (Except for the Data)
We are Agile! a.k.a. The Frankenstein

Each one of these results from a common misconception. We will do our best to define these patterns and their symptoms. After each, we will also show a way out of the mess so that you can recover and begin to move towards a better implementation. Let’s get started!