Automated End-to-End Testing in the Context of Allen Holub’s Three Agile Values
Specific practices to make real Agile happen, with End-to-End (via UI) Test Automation and Continuous Testing
Over the last 20 years, many software projects claimed to do Agile, Scrum or Kanban, doesn’t matter. The majority of the so-called “agile” project did Agile wrong or fakely, based on the objective judgements like below:
I showed this slide at some organizations.
Most of the audience nodded, no one (from my memory) disagreed.
Then, I showed the next one.
There were mixed reactions, mostly silent.
Why? All the software companies (I presented at) never experienced real End-to-End (via UI) Test Automation.
Today, I saw a tweet from Alen Holub, a world-renowned Agile expert.
While I agree 100%, I think these principles fail in practice, as they are too abstract. These values need to be guarded by simple and hard rules. Fake agile coaches (or fake scrum masters) introduce silly story-point estimation (By the way, Allen had an excellent keynote “#NoEstimates” presentation on this) and other junk. Even Kent Beck, the father of Agile, could not stop so-called “Agile Ceremonies” or “Agile Certifications”.
I was in South Africa, at Agile Africa, and somebody came up to me and said “Well, we want to do software development, but we just can’t stand all this ceremony and Agile stuff. We just want to write some programs.” And tears came into my eyes…like…how can it be that we who set out to refocus development on essentials and get rid of stuff that didn’t matter, how can it be that we’re right back where we were 20 years ago? Like how can it be that “this is too much ceremony”? … No, this is wrong. I don’t know what to do about it.
How to prevent fake Agile? We need something so practical and plainly obvious that fakers can no longer pretend.
What I found makes Agile works is “End-to-End Test Automation”, real End-to-End (via UI) test automation that runs the whole suite daily (or multiple times a day) as regression testing. I call it “Continuous Testing Process”.
How does “End-to-End Test Automation” relate the three Agile points in Allen’s tweet?
1. Work small
For one user story, the manager/BA runs the automated end-to-end (via UI) tests to make sure it works. It is what “Done, Done” really mean anyway. This way, making the work small, and well done.
Check out the story in this article for a simple practice that a good agile manager introduces test automation.
2. Talk to each other
There are good talking and bad talking. For example, people talk to each other in meetings, but most meetings in software development are waste of time. Jason Fried, the co-founder of 37Signals and co-author of the best-selling Rework book series, addressed this topic clearly in his famous TED talk: “Why work doesn’t happen at work”.
“Just cancel the next meeting. Just don’t have it. I don’t mean move it; I mean just erase it from memory, it’s gone. And you’ll find out that everything will be just fine.” — Jason Fried
People easily talk out of reality. For example, when a BA and a developer talk about a 100-step insurance claim lodgement, they easily sidetracked. That’s why Jira is often introduced (and you know what will happen, people don’t talk, just comment on Jira or Confluence).
What is good talking in this case then? Run an automated end-to-end test scenario, and then interested team members talk on specifics. This will achieve much better results as test automation execution provides a specific context. If they can on focus on one step, such as the submission, don’t need manually navigate for 10 minutes to get to that page, instead, trigger a run of automated test, to get there in 2 mins. during that 2 minutes, they could discuss too, but more focused.
3. Make Poeple Lives Better
Keep reading with a 7-day free trial
Subscribe to AgileWay’s Test Automation & Continuous Testing Blog to keep reading this post and get 7 days of free access to the full post archives.