Those are raindrops falling on your head!!
I read incessantly - nothing "all the time", but lots of stuff "sometimes".
I've just read a blog entry by Jason Gorman called "Challenging the Waterfall Delusion" on testingreflections.com. A warning here - testingreflections.com is populated predominately by the Contextual Posse (CP), so if you find yourself irritated by the CP, save yourself an apoplexy.
I knew what would follow by the title alone - my immediate thought was "young, inexperienced, and uninformed". Although that sounds insulting, it isn't. All of those things are curable. Only stupidity is to the bone.
So I'm going to do my poor best to cure what is the real delusion here, which is an opinion based on misinformation. I think I'm qualified to discuss this topic - when I started in this business there was no internet, no C/S, and no PCs. Waterfall methodology was the accepted "way to do things". I worked on many successful waterfall projects. That, to me, is the key to understanding and being expert on any methodology. Have you worked on a successful project using that methodology? If not, you will be biased against that methodology even if it makes the most sense for the environment and company in which you work. You don't really understand the positive and negative aspects of working through a project using a given methodology until you've actually walked the walk. Since that time, I've continued to be gainfully employed in QA/QC, watched the changes in the field, and worked on hundreds of projects pretty much using every type of methodology you could name.
So let's talk about waterfall. The Real Deal, not the assumptions made by people who don't remember dumb terminals and have never worked on a project that "admitted" to using waterfall technique.
I've never, in more than 25 years, EVER worked on a waterfall project of any size whatsoever that wasn't broken down into workable pieces or that was moved into production in one big "bang". In addition, do you realize the quality of software products over the past 20 years has gone down, not up? Do you think that indicates your predecessors were stupid or that we do things "better" now?
No. Back in the "olden days", breaking a large project into smaller, workable pieces was called "phased delivery".
And there you have it, folks. That's the only freakin' difference. "Phased" vs "incremental".
Terminology.
You're indulging in a myth if you think users were not involved early and often in the process. You're indulging in a myth if you think there was some kind of gigantic, all-encompassing design document at the get-go.
And that, my dear Watson, is why those "poor deluded people" believe the way they do. Poor "crazy folks".
While we're at it, let's talk about plan-driven development, since it was part of the bad juju associated with (shudder) waterfall methodology.
Has anyone out there got a PMP certification? Gone through PMP training? Been a PM? Do you know what PMs are taught?
Everything, and I do mean everything, is driven by a plan, regardless of project methodology.
Do you have a due date for ANY of your work? Do you know what needs to happen in order to make that date? Then you're driven by a plan, which is driven by due dates, costs, and several other factors, like time and resource availability.
I have yet to see a CEO or CIO walk into a development director's office, tell them need Project X for user Y, and then pat them on the head and say "let us know when it's done".
They want the project scoped out, costed, and planned - REGARDLESS of project methodology. They want progress reports and information on spend to date. Every project usually consists of a team effort where everyone strives toward some sort of organized common goals. That indicates there has to be some sort of plan.
So overall I don't think we as a field are unable to establish standards of quality or professionalism because "there's not one thing that we all agree on". I think we're unable to agree on terminology for what we do.
The Contextual Posse (CP) have heuristics and oracles. Others have boundary tests, cause-effect graphing, etc. But if I put 2 talented, trained testers from both camps into a room and have them test the same field, they come up with exactly the same tests. We all have plenty in common.
However, the PMP folks have it all over us in this regard. They have ONE recognized standard certification and all of them speak the same "language" using the same terminology. There are good PMs and bad PMs with certifications, but the same is true of ANY certification. It is an indication of understanding and acceptance of a basic set of principles proven successful in the field. They are not an indication of talent or ability to apply those principles.
So the next time your organization works some small project that doesn't even need to be broken down into small parts, produces some sort of spec, designs and develops a products, tests it, and installs it (all with user involvement), then break out your umbrella. Those raindrops falling on your head might not be a waterfall, but they're at least a small cascade.
And if you work on a large effort broken down into workable slices, maybe some swim fins would be in order....
I'm sure all those poor demented bastards that can't recognize the obvious superiority of iterative and incremental methodologies (mainly because they have a lot of years of experience and feel it's all the same) would be happy to buy you lunch. How do you feel about "Crow en Croute"?
Just as an general comment, the reason people don't just give up the original names for the same processes is because frankly, it gets really tiresome over a period of time to have some new group come along and rename a "tire" to a "rubber vehicle doughnut". I'm not quite as stubborn as some of my counterparts - it doesn't matter much to me what a process or technique is called, as long as we all understand each other. But don't expect people with more experience than you have to jump on your bandwagon just because you prefer to check the pressure in your rubber vehicle doughnuts. Some of them are very busy and don't have the time or inclination to add another funky Moniker du Jour to their vocabulary. And (go figure) I think people in our field are exceptionally stubborn and opinionated, and that those traits have nothing to do with age, sex, location, or any other type of demographics. Maybe it's just the nature of our work.
Again, I think we, as a profession, should be looking for what we have in common and not for our differences, which are primarily terminology-based or predicated on when the activity takes place in a given project cycle. I see no reason we couldn't get together and agree the heuristic "overwhelm the input field with characters" is a boundary test. Wouldn't it be totally cool to COMBINE those types of concepts into one internationally agreed upon set of principles? "A boundary test is something which tests X. Common heuristics for testing boundaries are as follows....".
We do the same work. We care about the same things.
Call me a dreamer.
(sigh).
Saturday, June 14, 2008
Subscribe to:
Post Comments (Atom)

8 comments:
You appear to have hurt someone's feelings. I let my own blog wither and die. Gorman's blog doesn't allow comments. I guess I'll only comment here, then.
As an interested 3rd party may I suggest both of you attack concepts instead of people?
I've only been doing the test gig for about 9 years now but I'm already doctrine/dogma weary. Is there any alternative to all of the seemingly contrary but actually very similar methodologies? If so, what should we call that alternative?
;-)
Linda -
You did mention about Context driven people (testers)... Did not get what you wanted to say ....
But I would say pretty "young, inexperienced and uninformed thoughts"
I could be wrong ... but I have not heard of you/your writing in testing yet ...
>>>The Contextual Posse (CP) have heuristics and oracles. Others have boundary tests, cause-effect graphing, etc. But if I put 2 talented, trained testers from both camps into a room and have them test the same field, they come up with exactly the same tests. We all have plenty in common.
This is one example that indicates that you do not understand "sapient" testing well ..both testing camps coming up with same test cases is NOT possible ... I can take that challenge so will be many CP testers ... we will show you in 100different ways how CP testers think differently and how that difference can me a real difference in the value that people see out of testing....
your views on PMP makes me to think that you are great supporter of certifications like PMP and achieving "standard" way of thinking in a software context. By analogy, you should be supporting Testing certifications like ISTQB, CSTE etc ... Try serching internet for views about testing certifications from James Bach and Michael Bolton ...
What is your experience in studying about testing, context driven thinking, general systems thinking and other?
You mentioned that you read incessantly ... Have you Jerry Weinberg, James Bach, Cem Kaner, Michael Bolton?
If not ... please do ... If yes, please write a post about what do you understand from testing ...Let world know your approach to testing ....
Shrini
Generally when publishing something that refutes something in someone else's blog, to be fair you have to give your readers the original post to read.
I regret it if his feelings were hurt because I felt he was young and uninformed, but frankly, he called an entire group both deluded and crazy, which is simply not true and is equally insulting. I feel quite sure he wrote that way in order to create some stir; it certainly stirred me enough to blog about it.
I agree with you on the doctrine/dogma weariness; I'm pretty sick of it myself. And now I've got the CP debating team on my butt questioning my right to live :).
Did you really just ask me to pollute the QA/QC field with another name for an uber methodology? Hey - maybe "Uber QA/QC" is the answer! Then when you became really Good at it, you could become a "Certified Guber". Ahem. My apologies for both the bad pun and spelling....
Thanks for the post.
- Linda
Srini,
I went ahead and published your post, but I had difficulty understanding it, other than I picked up on the aspersions you were casting.
What does your reply have to do with the similar nature of waterfall methodology to incremental/iterative methodology?
And you believe CP testers think differently? We'll have to agree to disagree. And my first blog here was on sapient testing. I understand it better than you might think.
Your assumption about my support of certifications is 100% incorrect. I do, however, believe that if there ARE going to be certifications, an understanding of what a certification is and is not would be in order. The PMP does it right in this regard; at least they appear to be capable of standardizing terminology amongst their members. I believe my post flat-out stated that having a PMP is not an indication of talent. Our mistake as a field is confusing certification with skill, education, and talent.
Yes, I'm well aware of Mr. Bach's views on certifications and agree with him. However, I discontinued my SQE magazine subscription so I wouldn't have to read any more Michael Bolton.
You only mentioned 4 authors in your post; yes, I've read all of them and many, many more.
I'm not surprised - or offended - that you have not heard of me, Srini. I haven't heard of you either. I'm a practioner. I have been in the software QA/QC field for more than 25 years. If your view of "worthwhile" or "experienced" means only "book author", then I am beneath your notice. If someone who has handled over 250 projects successfully, manages a staff of over 40, has trained thousands of analysts, and has been active in the QA field both regionally and internationally has some kind of merit, then I believe my experience might be of some interest to others in the field. If one of those others is not you, I feel sure you will find something to interest and inspire you elsewhere.
And for anyone else out there in the CP, don't expect me to be defending my qualifications on a regular basis - I've done a lot of stuff and it's not especially interesting to have someone trotting out their bona fides at the drop of a hat...
Thanks for posting Srini,
- Linda
Linda,
I'm glad to see someone describing both sides of the fence (Agile vs Agile). 'Cause evrything has some agile in it... But I'm curious as to your use of the acronym QA. You seem to use it as if it meant QC. Of course, they are worlds apart, see: http://spistuff.blogspot.com/2007/09/qa-vs-qc.html
Thanks for permitting me to clear this issue as well.
Paul, in an earlier blog, I talked about the use of QA and QC interchangeably and why I chose that route. I'm afraid that I have yet to work for a company that recognizes the difference (they all use the term "QA" when they mean "QC"), but I can understand why that would drive someone who is more of a purist crazy. My apologies and I've published your post so those that are confused can become educated...
Thanks,
Linda
Thank you, Linda, for stating so eloquently what so few seem to know and even fewer seem to want to hear; and thank you, Michelle Davidson of TechTarget for making me aware of Linda’s posting.
Waterfall never meant rigidly and blindly proceeding to certain failure, except I would suggest to those who didn’t know how to manage projects and blamed their ineptitude on the waterfall. To achieve anything useful, all projects of necessity must follow the sequence of identifying what needs to be accomplished (requirements), identifying how to accomplish it (design), doing it (development, including testing), implementing it, and keeping it going (operations and maintenance). The only differences among the various methodologies are the size of the pieces dealt with and the particular formats/techniques used for the respective activities.
It is true that projects have encountered difficulty trying to get all the requirements defined perfectly before proceeding. Rather than entertaining the possibility that a major part of their difficulty is their own inability to discover requirements adequately, often because they’re following albeit widely-held but flawed models and focusing on design rather than requirements, they declare the problem is that the world changes so rapidly that it’s impossible to get the requirements right; and thus they conclude it’s pointless to even try, which thereby creates a self-fulfilling prophecy.
Designs do change easily and constantly, especially when they’re addressing inadequately-defined requirements. REAL, business requirements tend not to change nearly so much as the awareness of them. The issue is not perfection, but rather using quite feasible more appropriate models and techniques to get far more of the REAL business requirements defined before designing products and systems to accomplish them.
Yes, as the project proceeds, additional information may become apparent that necessitates adjusting the requirements definition, which indeed should be adjusted along with other things that may also be affected; but getting more of REAL business requirements right in the first place drastically reduces the frequency and extent of subsequent requirements changes. By the way, my Proactive Testing™ methodology helps identify some of the more important requirements and design issues before they get cast in code concrete. By definition, exploratory testing doesn’t become a factor until late in the development process when defects are hardest and most expensive to fix.
Blind rigidity, which also affects Agile and all religious-like activities, generally diminishes effectiveness and also diminishes the ability to perceive said diminution, which in turn often leads to messenger-shooting as the primary means of improving sanctified processes.
And, to address Shrini’s concerns, I do say these things in public. My Artech House book, Discovering REAL Business Requirements for Software Project Success and related seminars describe these concepts and techniques more fully. I also present public and in-house seminars, speak at leading conferences (where Context Posse members have from time to time chosen to attack me without apparent burden or benefit of knowing what I actually say), and write frequently on testing. One of my popular talks and seminars is titled, Proactive Testing™ Puts Agile Test-Driven (and Other) Development on Steroids. At STP in Boston this fall, I’ll be presenting a talk entitled, “Exploratory Testing: Not Just Parlor Tricks?”
Robin Goldsmith
robin@gopromanagement.com
There's a lot of self-promotion in Robin's comment, but for those of you who have not read any of his work, I'd suggest you take a look at it; he's written several articles that are interesting and I'm particularly fond of his views and comments on addressing real, rather than documented, processes.
He suggests that if your reality is consistently delivering code late, buggy, and with many errors in production, that it doesn't matter what your "published" processes are; your "real" process is to deliver code late, buggy, and to make many expensive patches. He further states that addresses your "real" process is far more challenging than making updates to your "alleged" process.
- Linda
Post a Comment