Why Frequently Delivering Working Software Is Crucial to Agile

One of my favorite agile principles is “Working software is the primary measure of progress.” Unfortunately, many agile teams ignore this principle, instead focusing on collaboration, organizing self-directed teams, and performing agile ceremonies. While all the agile principles are important, without producing working software on a regular basis, the others won’t matter. Traditional software development […]

Read more
5 Tips for Balancing Manual and Automated Software Testing
Code

There’s a battle in the testing community between those who believe 100 percent test automation is in our future and those who think test automation isn’t even testing at all. As continuous deployment is becoming the goal of more and more organizations, manual testing is viewed as a blocker for those seeking to accelerate the […]

Read more
Test Automation is Software Engineering
Testing

One of my pet peeves these days is teams referring to their test automation as “test scripts”. To me the term “script” minimizes the role of test automation. It sounds throw away, like something you might whip up real quick to configure your bash shell. I coach teams to really treat their test automation as […]

Read more
Growing Generalized Specialists on an Agile Team

It’s difficult for an agile team comprised solely of specialists to be fully productive. If team members are unable to help others with their tasks, the team will not maximize its potential. The agile community calls team members who are capable of working in a variety of roles generalized specialists. A generalized specialist is not […]

Read more
Testing with Feature Toggles
Software Testing

What are Feature Toggles There are lots of ways for developers to develop code, with many different strategies when it comes to releasing capabilities. While many development organizations prefer to use feature and release branches, some utilize feature toggles (sometimes even combining these with branching). This gives developers the ability to turn a particular feature […]

Read more
Making Cucumber Glue Code More Explicit with Transformers
Cucumber

I’ve talked before about how important it is to make your BDD glue code as specific as possible, so that anyone reading your Gherkin, knows exactly what that action is supposed to perform. Even my co-workers have noticed this as a problem, and have suggested implementations to help. In a post several years ago, I […]

Read more
Why You Should Be Using Go

Go (or golang) is a relatively new language that I personally discovered while building REST API servers for my internship over at OSNEXUS, and I quickly fell in love with the language’s speed and syntactic sugar. A powerful tool, especially when it comes to concurrency and web servers, Go makes a strong case to be […]

Read more
Escaping and Translating Special Characters with XPATH

If you’re here because you now have to fix the method that had this link commented in it, I’m sorry. The Hard-Knocks of XPATH 1.0 Life Work at a current client has led to – for a various amount of restrictions with reasons that I won’t get into – the need for using dynamically generated […]

Read more
Scrum Isn’t the Only Path to Agility

In working with one of the teams at one of my current clients, the team said they didn’t want to do Scrum. At this organization, there is a lot of Scrum. Most of the teams there are Scrum teams. The team in question decided that Scrum wasn’t working for them. They wanted to try something […]

Read more
X