TDD often uses unit tests to drive behavior into the system. However, sometimes acceptance tests are used to do this. When these are automated, this can give us clues as to how to make our work in TDD more reusable.
I think Scrum is a good framework when it is used where it was designed for – a cross-functional team creating a new product. This, of course, represents a very small number of the time where it is used. The variation in where it is used requires a variation in the framework. This seems self-evident to me. But the response I get to this is “people need a well-defined, clear, set place to start.” I agree with this. But does it mean the place to start is the one people are promoting? I don’t think so.
From the Scrum guide, “Scrum’s roles, events, artifacts, and rules are immutable.” To me this means they are not as applicable as possible to most teams’ context since no one size fits all well. And Scrum is designed not to adapt – it works because of how it is defined.
When pressed on this, I get “we must keep it simple.” But this is the second falsehood. It implies that tailoring it to the need at hand will be more complicated. It doesn’t need to be. We must remember we need sufficiency as well – “as simple as possible but no simpler.”
My solution? Get a consultant who can quickly identify the ‘well-defined, clear, set place to start’ that works for your situation. Many consultants can do this, others can’t. Find one who can.
It is difficult to get a man to understand something, when his salary depends upon his not understanding it. Sinclair
The task is, not so much to see what no one has seen yet; but to think what nobody has thought yet, about what everybody sees.
All truth passes through three stages. First, it is ridiculed. Second, it is violently opposed. Third, it is accepted as being self-evident. Schopenhauer
Those who do not learn history are doomed to repeat it. George Santayana
I am enthusiastic over humanity’s extraordinary and sometimes very timely ingenuity. If you are in a shipwreck and all the boats are gone, a piano top buoyant enough to keep you afloat that comes along makes a fortuitous life preserver. But this is not to say that the best way to design a life preserver is in the form of a piano top. I think that we are clinging to a great many piano tops in accepting yesterday’s fortuitous contrivings as constituting the only means for solving a given problem. Buckminster Fuller
First, I promise I am not trying to get a surreptitious sales call. I am wanting to do marketing research. Here is the situation. I am looking to disrupting the big 8 as I’ll start calling them (Scrum.A/I/O, SAFe, DAD, LKU, LeSS, Spotify). There is more goodness outside of them than inside of them (& i’m excluding what i have to offer when i say that).
I don’t want to go into details yet, but i’m hoping to get a better understanding of the attraction of the certifying bodies as well as well what might be more attractive.
Anyway, if you’re willing to give me 15 minutes of your time I’d greatly appreciate it. Just email me at alshall netobjectives com thanks.
Part of the TDD process consists of writing failing tests before the code that will eventually make them pass. Test-first alone is not TDD per se, but it is a part of it.
When tests are written before production code, this has several beneficial effects. This comes from the fact that these tests have the same orientation toward the code that client code will have in the future. Tests are, essentially, the first clients of any behaviors they drive into the system. Continue reading “TDD: Tests are Client Number 1”
While I do believe certification itself is directly hurting Agile, that was not my real point. My point is the following companies occupy most of the mindshare of those new to Agile: SAFe, Scruminc, Scrum.org, Scrum Alliance, LKU, LeSS, Spotify model, DAD. 8 for profit companies (I know SA is a 501C, but de jure only) controlled by a dozen or so people.
Because HR is so crazy about certifications most of the focus is on what these folks are certifying folks in. But the real things to be studied are Flow, Lean, quality code, organizational development, proper management techniques. Not the 8 frameworks mentioned above.
Companies are taking a very non-scientific approach to what is probably the most important body of knowledge there is – adding value in knowledge work with software involved. Focusing on certification (which means a focus on coursework) is the real problem.
I hear many C-level folks mandating doing SAFe by the book. This post is for those of you who need to do this but want to take advantage of the fact that SAFe is a framework and can therefore be modified to some extent.
As a former contributor, SPCT & gold partner I can give you some advice you won’t get from SAFe partners.
1) Find an SPCT that is not dogmatic about SAFe. Talk to a former client. Everyone says they are not dogmatic. I can give you a referral with no strings or cost attached as well.
2) Make it clear what an MVP is. The inappropriate use of MVP in SAFe in non-startup environments has caused confusion. If you don’t make it’s meaning clear it will mean everything, and therefore nothing.
3) If you have platform teams, ensure you set up your trains accordingly. SAFe gives little guidance here. Use Kanban to manage their work driven by other teams & prioritize by MVP importance. Chapter in book is coming soon.
4) Take ATDD up front and don’t think you’re getting it in the ASE. ATDD is a collaborative method with POs, devs and testers. By relegating ATDD to 2nd tier training & making it a technical offering SAFe is doing you a disservice. We offer ATDD training with SAFe if you’d like to learn more.
To avoid being accused of just being negative I thought I’d put out what I think the certifying bodies can do. After all, each has a well organized marketing and training team.
It would not be hard and they could add value to Agile. It would take the following steps:
- acknowledge that certifying people is misleading. A 2-4 day course has only a minor impact on people. Just give accreditation that they’ve taken the course.
- admit that their approach is a good approach for certain situations, and specify what those situations are
- acknowledge that there is more to learn and that everything can be improved. That no one (including the person running the organization) has all the answers.
- encourage their trainers to learn news methods instead of forbidding them to do so
- understand that in the long wrong, the customers’ best interest is more important than selling a particular approach
- adopt modern training methods
- don’t preclude things that everyone needs but give no competitive advantage
Bottom line, put truth before marketing.
Now that the three Scrum bodies are offering Kanban you might think the Agile wars are over and it’s a good thing. But just the opposite is true. Their focus is still on the certs. What’s missing is what’s the science, the right mindset underneath product development. Few look for what is common, underneath Scrum and Kanban. The rate of change has been geologic for the information age.
What if there were a set of rules, principles and even laws underneath product development? (btw, it’s called Flow). Scrum would just be a way to apply it. So would Kanban. Getting certified in either would be like a carpenter being certified in screwdrivers or hammers. But few look since branding would be severely impacted and specialized training (the main rev source for certifying bodies) would be curtailed.
This same conundrum is true for SAFe. We’re being bombarded with trainings based on a subset of what is known but being labeled as the best way. 15 yrs ago this would have been fine. Back then only a handfull understood things (I was not one of them). But now we know better.
I no longer think set courses of action are useful. It’s like buying a suit off a rack where they only have three sizes. Custom fit solutions cost less and work better, but you won’t get certification.