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”
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.
In TDD, tests take actions such as Setup, Trigger, and Verify. Each of these pieces must successfully execute in order for the specification to be verified as accurate to the current behavior of the system.
If there is an external dependency, the test can become vulnerable to a failure of that entity. Continue reading “TDD and Guard Assertions”
Unit testing frameworks, which are the most common tools used by developers to conduct TDD, come with pre-made assertions that can be used to verify the behaviors being specified. Typically, these include assertions such as:
“areEqual()” (value comparison) “areSame()” (entity comparison) “isNotNull()” “contains()”
Developers should not limit themselves to these pre-made assertions. Continue reading “TDD and Naming Part 3: Customized Assertions”
I often hear complaints in the Agile space about how leadership and management don’t get Agile. I think much of that is because of how they are talked to. But I also believe it is the set of practices used makes it hard to see their role without doing a deep study of Agile – something they are neither interested in or going to do (and not something they need to do).
It recently occurred to me that one way to evaluate the quality of an approach is how it affects the conversation with leaders and managers.
I just updated my chapter on Using the Intake Process to Educate Leadership.