CIO’s Agile/DevOps: The Emperor’s New Clothes
Stop being fooled by fake Agile coaches or fake scrum masters.
This article is included in the “Be aware of Fake Test Automation/DevOps Engineers” series.
CIOs like Agile/DevOps which has become a standard desired practice in the software industry.
However, most CIOs don’t know what real Agile/DevOps is. Therefore, they often get fooled by fake Agile Coaches, fake Scrum Masters, and fake DevOps Engineers, which make them look like the king in the famous fable “The Emperor’s New Clothes”. It is a painfully obvious lie that even a child could tell.
Based on my observation during the past 16 years of work in test automation and continuous testing, Nearly all the so-called “Agile/DevOps” software projects were on the edge of failure due to the contribution of those “fake experts” before my rescues (some of my rescues were not successful, due to human factors, which I will explain later).
Table of Contents:
· Assess the target: Do you release to production every sprint?
· What Automated End-to-End Regression Testing is Essential?
· The Solution is Simple
Assess the target: Do you release to production every sprint?
The purpose of good software development is to release high-quality software early and frequently, to production. The methodologies and hyped practices are irrelevant to the customers who only care about quality and budget, not how it was created. I am sure all will agree. Now CIOs (or CTOs), try to answer this question: “How often do your teams release to production? (quality releases of course)”
While you are thinking, I will give you Facebook’s answer.
“Facebook is released twice a day, and keeping up this pace is at the heart of our culture. With this release pace, automated testing with Selenium is crucial to making sure everything works before being released.” — DAMIEN SERENI, Engineering Director at Facebook, at Selenium 2013 conference.
“Release twice a day” and Automated End-to-End Testing (Selenium is a web test automation library) enabled that. Yes, it is not only possible but also, if you are exposed to it, the only way to do software development.
I have been releasing all my software apps (ClinicWise, SiteWise, BuildWise, and WhenWise) since 2012, not strictly twice a day, but always on the same day when a change is made.
Still in doubt? Let me help you clear that up. Most likely, your company is doing Scrum or like. According to Scrum, after every sprint, a production release is made.
“Development Teams deliver an Increment of product functionality every Sprint. This Increment is useable, so a Product Owner may choose to immediately release it.” — scrum.org
If the above (from scrum.org) is still not convincing, let’s check what Jeff Sutherland, co-creator of Scrum, was quoted saying in this book:
Please note, Jeff Sutherland is a CTO.
Therefore, in a real Scrum, the team must deploy to production each sprint. If your teams are not doing this (one or two exceptions are excusable), then they are doing fake Scrum (therefore fake Agile, fake DevOps). These so-called ‘agile coaches’ and ‘scrum masters’ are fake.
Some might ask how fake Agile coaches / Scrum masters fool the CIOs/CTOs?. They created a hyped velocity and a few fake Agile ceremonies to keep everyone busy (i.e. time-wasting). The so-called velocity based on estimated story points, in particular, is absurd. Can velocity charts in Jira prevent programmers from introducing regression errors or tech debts? Of course, it cannot. Don’t just take my word for it, have a look at what the absolute agile/scrum authority has to say about this.
For more quotes from renowned experts, such as Ron Jeffries, Ken Schwaber, Martin Fowler, …, etc, check out the article: Estimating User Story Points is a Waste of Time.
As Jeff pointed out, the real and practical answer to Agile/Scrum/DevOps is Automated End-to-End Testing (formerly known as ATTD) via UI, as regression testing.
Why is Automated End-to-End Regression Testing Essential?
This is determined by the nature of software development:
Change is constant
We all agree, right?One single small change may break unknown existing features elsewhere
code is often inter-connected.
That’s why regression testing is always required.
Some managers will argue: “I have managed dozens of software projects over the last 20 years, our teams did not need the level of regression testing (daily) as you said”.
That’s where the ‘Agile’ comes in. Back in the pre-Agile days, there were software projects using the Waterfall model that was successful. Why? In Waterfall, there is a huge upfront effort on design and specification. But in Agile, these two phases are very minor or virtually none. Based on the assumption, we can change as we go. The foundation of Agile is test automation. Otherwise, it is a ‘cowboy’ development.
3. Agile/DevOps means more frequent deployment
This means that much more testing effort, and efficient and reliable automated testing is a must.
Of course, regression testing should be automated. I highlighted the word “should”, because most software teams don't really know how to do automated regression testing.
These days, almost every software project claims to do Agile and/or DevOps. Many agile coaches/scrum masters /tech leads intentionally or unintentionally blurred the concept of test automation and regression testing. A common trick is to claim that automated unit testing runs daily in a CI server. However, it is wrong!
Some might argue: “Our programmers do regression testings, run all Unit tests before checking in”. But that is not enough.
4. Modern apps are far more dynamic and UI savvy
An extra comma in a JavaScript or CSS stylesheet may cause a web page to fail to load at all. The customers won’t be happy to hear that “our code is 100% covered by unit tests”.
The conclusion: Automated End-to-End Regression Testing is Essential for real Agile/DevOps.
Now let’s look at an example. Below is the Testing Pyramid at Facebook (you can find similar ones on Martin Fowler’s website).
Clearly, the most valuable (as hinted by Pyramid, also ) is End-to-End testing (Facebook using WebDriver frameworks for its E2E testing).
The goal of Facebook’s CI & Continuous Testing is:
Any experienced software manager will know the huge benefits that would bring. I achieved that mostly with my own Continous Testing process, which is why I could develop and maintain several large apps all these years. A colleague told me that for my app ClinicWise alone, it would easily take a 50-staff team in the UK (he worked in a similar system) to achieve the current state of the app. ClinicWise is just one of several apps that are developed and maintained in my spare time.
For more specific benefits, check out my article series, Benefits of Test Automation and Continuous Testing series: Executives, Managers, Business Analysts, Developers, Testers, and Customers.
The Solution is Simple
Once a CTO/CIO has acknowledged (which can be done quietly) the fake Agile/DevOps, the solution is actually not far away.
In “The Emperor’s New Clothes”, can you guess what is the first action the emperor will take? Get rid of the cheaters, of course. In software companies, it means firing fake Agile Coaches, fake Scrum Masters, fake DevOps Engineers, fake senior automated engineers, and related tech leads (e.g. Chief/Principal Software Engineers) who did not show a desire to learn and change.
Many CIOs, however, even after realizing they got tricked, won’t do the above. Besides office politics, they don’t know what a real Agile/DevOps is like. CIOs worry about whether the next hired batch will be the same or worse.
The solution is surprisingly simple and affordable, and the outcome could appear in weeks, if not in days. That is, seeking professional help from the best.
Have you watched this year’s Oscar-winning movie “King Richard”?
When Richard, the father of Venus and Serena, reached his limit on coaching his two daughters, despite being poor, he went for the famous tennis coach who coached several world champions. He succeeded in securing the best coach for his daughters.
CIOs, you shall do the same. The cost will be much, much cheaper than you thought. You can forget about hoping to hire a real senior test automation engineer/coach who is extremely rare (why? check out this article). The CEOs of LinkedIn did not waste time on that, he lured one from Google.
“Newly-added code is subjected to an elaborate series of automated tests designed to weed out any bugs”
“Much of LinkedIn’s success can be traced to changes made by Kevin Scott, the senior vice president of engineering and longtime Google veteran lured to LinkedIn in Feb. 2011”
— “The Software Revolution Behind LinkedIn’s Gushing Profits” by Wired.
Reaching for a renowned real test automation coach who can provide visible results on the first day. My daughter, a 20-year-old uni graduate, could achieve that in her first intern role (I started teaching her Selenium testing at the age of 12). Of course, she is not ready to coach others yet, just a Level 2 (better than 90%) in AgileWay Continuous Testing Grading. BTW, I am at Level 4 (“Expert” ). With a sufficient infrastructure, I could hands-on lead a team to reach Level 5 (“World Class”, > 99.99%).
In terms of cost, my rate is publicly listed on WhenWise, at $1800/day (remote). I offer a 30-min session for $1 to see how practical and valuable my coaching is. I won’t join your company as permanent staff or on a long-term contract because I have my own business. However, I will coach your teams to be independent in a shorter-than-you-think time, with visible progress on a daily basis. I will leave, as a good coach would, once your staff is ready (typically 2–3 months).
This might sound like an advertisement, maybe. My solution is 100% based on the free, open-source, and standard framework WebDriver. No vendor-locking or dependency on me. I developed my tool TestWise in 2007 (demonstrated at the Agile 2009 workshop, not by me) and authored 10+ books, but I didn’t do any marketing. Three reasons: I am not good at it; I don’t like it; I prefer developing/maintaining my own apps.
The reason I presented my service here is to give you a taste of the services and costs a real test automation coach can offer so that you won’t be fooled again by a fake test automation coach this time.
Of course, there is always a self-taught way. You can start with my books and a list of articles. My new “Web Test Automation with Selenium Training Workshop” series are good for beginners.
Related reading: