Behavior Driven Development: Steps to Implement, Part I

Behavior Driven Development is the process of writing high-level scenarios verifying a User Story meets the Acceptance Criteria and the expectations of the stakeholders. The automation behind the scenarios is written to initially fail and then pass once the User Story development is complete. BDD is largely a collaboration tool that forces people working on […]

Behavior Driven Development: Steps to Implement, Part II

In the first article of this two-part series, we discussed how to define scenarios for testing.  Now, once this is done,  the Testers can partially implement the new steps to fail. For example, adding assertions that a file exists on the file system. Or, writing code returning a negative result for now. Maybe the code […]

Tips to Enhance Your Agile Career

Have you ever wondered if you are being utilized to the best of your abilities? Or Are you being held back from that role you feel you deserve? Or When is it the right time to make a proper exit from a company for career development? In my experience talking to thousands of people, it […]

Courage and Craftsmanship

Last week I presented a workshop session called Courageous Software Development Through Craftsmanship (Slides) at Keep Austin Agile 2014 here in Austin. It was a great crowd both at the conference overall and in the session. A few people I talked to after the session said they couldn’t make it and wanted to learn a bit about […]

Automated Testing for Legacy Software Products

Many times, we experiment with ideas and processes on new, or “greenfield”, projects.  When starting something new, it is human nature to start with a clean slate and go from there.  However, this is not always possible when automating testing.  By nature, software features are first tested manually, most of the time followed by scripted […]

Finding the Cure to “Yes”

In this article, we’ll explore the motivation for saying “yes”, understand the damage it can cause, and identify what it takes to be able to say “no”. Agile can help you build a culture focused on frequent delivery of value to customers. In the 12 Principles behind the Agile Manifesto, you’ll find it right at […]

Decomposing to Attack Complexity

Our first post in a series on decomposition introduced the importance of breaking things down throughout the process of delivering software. Let’s continue this series by looking at more concrete examples of decomposition to attack software architecture and software complexity. What is Software Complexity? Herbert Simon once said, “Complexity comes from a large number of […]

Top 10 Reasons I Love Doing Software Quality Assurance

Software Quality Assurance, Why I love it: #10 I love quality assurance because every bug I find is one that was not found by the customer. #9 There is always more to learn about testing techniques and tools. #8 Being part of a team that delivers a quality product gives me great pride. #7 Running […]

It’s Not Just About Process

Agile software practitioners focus a lot of attention on people, communication, collaboration, and strong values. In many environments, these are unquestionably the best opportunities for improvement. Inevitably, though, all software development teams reach a point where their greatest opportunity for improving the way they implement and deliver a product are of a technical nature. There is […]

Why Decomposition Matters

As children, we were told by adults to take smaller bites when eating. We didn’t always understand the risk of choking that they saw, but ultimately it was easier and safer to chew those smaller bites. In some cases, taking smaller bites made the difference in finishing more of the meal. But have we translated […]

Couldn't find what you were looking for?

We can help! Simply complete the form below and one of our experts will get back in touch with you shortly.