CMM Level 5 Beats Agile? WTH?

Larry Constantine wrote a “Real Data” post wherein he posited a question (summarizing):

What would it mean to the agile community IF CMM level 5 and RUP practices actually worked significantly better than agile ones? Would that mean we should switch horses? Or would it mean we should revise agile to incorporate the best parts of other practice traditions? (And maybe shed some baggage at the same time?) Or doe the agile community have the TRUE answers, regardless of the facts?


Larry,

without reading the other 20 posts, here’s my gut reaction.

I would surmise that the success or failure of a project being attributed to the methodology is but one aspect to consider.

In a multivariate analysis of variance, just how much impact does the methodology have? Heck, we can’t hardly even say two projects are alike in too many dimensions.

In my opinion, it isn’t the process that matters nearly as much as the people. Ineptitude will never be trumped by CMM 5. Ineptitude may merely take longer to surface in a heavyweight process. Frankly, I have always felt that agile methods fare the best in the hands of really keen teams, and can fail miserably in the hands of rank amateurs who don’t “get it.” Folks that don’t “get it” are protected inside large process.

I would question the results (even without any a priori knowledge of them — since you revealed nothing in your post):

  • The data is anecdotal and unscientific (no double-blind studies)
  • Was the data unwittingly tainted by those who provided it?
    • Did all the successful small agile projects pass on reporting because they don’t keep such minutia?
    • Did all firms that keep such data naturally want to look good?
    • Did all firms that spend LARGE sums of money on heavy processes sugarcoat their results so they can justify this expenditure?
  • Just who keeps the total cost of ownership? really.
  • Who keeps the total cost of maintaining a CMM 5 level shop?
  • What about projects that failed and go under-reported — with either methodology?
  • Exactly how much data do you have on truly longitudinal studies?
    • How many legacy systems that have been in place for 20 years were in the study?
    • How many 10 year-long agile projects have their been?
  • Is there pressure on the data analysts to have the results appeal to the paid recipients/members?

The cynic in me also says — IT DOESN’T MATTER. You can’t legislate responsible behavior, and you can’t dictate a foolproof software development process.

The agile concepts are about as irrefutable as Newton’s Laws, so if you told me CMM 5 was the Holy Grail, I wouldn’t change one sentence on the agile manifesto. Agile is all about doing the best thing that works in your current situation. CMM5 certainly does not apply to 100% of the software projects… whereas the agile mindset does.

The best we can do is share experiences and loudly proclaim “caveat emptor” and “YMMV.”

I wonder… is it a bit like free market forces/capitalism — where you can have “sky’s the limit” wealth and abject poverty (agile); versus socialism where the range from best to worst is much narrower (heavyweight, prescriptive)?

I think we could use the Super/Freakonomics guys to help tease out interesting causal relationships between the findings and reality.

Testing WordPress

Call me confused… when I “View Site” from word press, I see the original movabletype blog.

In wordpress I see blog posts from may, june, july, october, october 2009.

I also see comments from WP posts. But now I cannot see those posts at all.

In movable type I see no posts between Feb 2009 and Feb 2010.

WTH?

Something screwed up with web config on server?

Certificates Are Just That

Uncle Bob writes a great post tackling Scott Ambler’s poke at Scrum Certification.

While I understand the concern regarding getting a certificate for attending a two-day course. And I understand that the Scrum Alliance is now instituting an exam… I wouldn’t dream of being an outsider questioning Ken’s intentions behind the ideas. Instead, I assume he and the Scrum Alliance have nothing but the best intentions for the industry.

The world will sort this out… Welcome to free enterprise. If HR folks decide to use a piece of paper as a measure of something important to them, and it doesn’t yield the desired results, they will adapt.

If folks hire people based solely on a piece of paper, they’ll likely get inconsistent results, and be free to change their ways. Or not. If people think that doing software or managing a software project is learnable in a two-day course, they are free to act on that hypothesis. Learning is a daily privilege.

A 2-day course to get a certificate or four years at a college to get a certificate… neither truly represent the ability of an individual to perform in a certain capacity at a certain organization on a specific project.

IMHO, there isn’t much to get in a huff about… move along, nothing to see.

BTW: I am UML Certified, so hire me! (I’ll just keep it a secret that I didn’t have to take a course (just helped James Odell beta test the exam)! The certification does not test *if* you can model, but only that you know the syntax of the modeling elements. BFD.)

On Metrics

I was watching Corey Haines’ video

And I had these thoughts:

A challenge that I see is not so much about gathering metrics. I have been using metrics since the days of PC-Metric and PC-Lint (IIRC). I would try to get my code and designs as good as possible, without being too crazy about it all.

Later, I added 60+ metrics and 60+ audits into Together, you could even trend your results to see progress over time with a given code base. Big whoop. I even had dreams of anonymously uploading audits & metrics to a website so people could collaborate on arriving at good, meaningful values for various metrics. (I routinely got asked “What is a good level for metric x?”)

Yea, so we all know, “You can’t improve what you don’t measure.”

But what are we trying to improve? Quality? Reliability? Agility to make changes? Profit?

Just how do we correlate a measurement to a desired outcome? Can we tie a set of metrics to their impact on the business goals for the software? Less complexity equals more profit and more (happy) customers?

Or do we stop short of that and tie metrics to achieving “quality” and presume that if we target a given application to meet the “right” amount of quality, the business value will naturally follow?

This is a difficult conundrum for our industry. But we do have to start somewhere.

In the world of engineering, there exist measurements that can be tied to desired performance and cost.

We need something similar should we want to mature beyond just seat-of-the-pants and gut-feel techniques.

I am sure some folks have it down to a science… and for them, it must be a nice competitive advantage that is probably hard to share publicly.

Independence Day, 2009. USA

My wife, Sue, and 14 year old daughters Caroline and Heidi, their classmate Ellen, and Ellen’s mom, Estelle, embarked on an adventure on 1 July. They have crossed on foot, from France into Spain along the “French Way” route of the ancient El Camino de Santiago (Way of St. James). This was the most important pilgrimage in medieval times, and has been traveled ever since. For the girls, it will be 500 miles (800 kilometers) and more than a month. As an aside, oddly enough, in 1779, John Adams and his sons, while on a mission to get money from Paris, had to make emergency port in Finisterre (The End of the World in medieval times). They ended up following the Way of St. James in the opposite direction all the way to Paris!

In many regards, a walk on such an ancient route can give one pause to reflect. Think of all the mini-rulerships along the way and over the course of history, from small local castles, to Caesars, to local Kings, to remote Papal Kings, to dictators, to elected officials. The American experiment was such a unique opportunity to throw off the shackles of “heredity” and part ways with the past. America had no “past” to speak of. There were no generations of Kings and fiefdoms that had been fighting each other over the centuries for reasons no one could scarcely remember any longer. To learn from the past — yet forge ahead without being tethered to doing things “just because we always do them that way” — this was the opportunity facing the colonists in 1776.

For 233 years, the spirit of America continues, though for certain today, it is under assault from those elected and appointed officials who seem not to be able to think with the remotest levels of common sense or posterity. Our Founding Fathers laid their lives on the line (literally), to break away from the all-powerful dictatorship of the British Throne. They had posterity at the core of their thinking. They theorized that a government founded from the wellspring of its Creator — and not the random (at best) gene pool of Kings — to preserve the God-given freedom that *is* man’s natural course, would be the best course to set the young nation on its best path. They even knew that specific religion mattered not, but rather there was strength in having varying points of view — but certainly Godlessness was not among them. The bigger point being that human rights do not come from a King or the Government. We are naturally free, as any creature born unto this earth. We the people bestow the rights to a select few to govern. And, we the people can revoke that gift when ever we see fit. Usually on a cycle of agreed-to election times. But this is not a necessity should our elected officials go too far at destroying our way of life too quickly. After all, there is the provision for impeachment of any elected official for just such circumstances.

I urge all citizens of the world to read the Declaration of Independence. A truly amazing document that unleashed the ability of an entire nation to thrive, grow, prosper, and become the world’s protector and defender of freedom in all reaches of the globe. As if that was not enough, America became the beacon of hope that is still alive in the oppressed and less fortunate of today.

Our leaders today, our government-run educational system and universities, and our major media, are good at indoctrinating those too weak to learn for themselves, about how horrible the USA has been and continues to be. Some of our elected officials and others in power truly think the American form of government must be changed — “remaking America” — as President Obama pledged in his inaugural address. I for one, do not. The only remaking that I would like to see is a return to Common Sense, and a lessening of the stranglehold that Government is shackling us all with. I pity thou who doth not brace for 20+% inflation and truly rough times when all of the foolishness comes due in a few years.

No. We need not the remaking of America in the eyes of Progressives — that was done in the first part of the last century with fascistic groups of thugs, propaganda ministries, annexing of private land in the name of betterment for all, back-room deals that controlled the banking industry, control of what you could sell, what you could drink, and rounding up of hundreds of thousands of citizens. You say that sounds like Fascist Italy or Germany in the 20s and 30s? Brace yourself. Sit down. This was all done by administrations of Wilson, Teddy Roosevelt, and FDR. The rounding up? It was for committing a “crime” no greater than being of Japanese descent.

Think it can’t happen in America when a President and Congress are out of touch and seemingly drunk with power? Spending us into oblivion? Increasing the monetary base by 100% (3 times the record increase that occurred during WWII) and lying about the true deficit — it is closer to $100 TRILLION. Think again. It has happened.

Beware the urging of quick political action at the behest of an emergency. Thomas Paine’s words of warning in 1776 ring just as true today as ever.

Thank the educational system for ensuring folks think fascism was not practiced in America. Thank the educational system and Hollywood for equating fascism solely with evil and death camps. Thank the educational system for allowing the Communist painting of fascists as being right-wing to stick to this very day — when fascism is a plainly liberal phenomenon around full State control. Liberal Progressives (of the kind that Hillary Clinton happily proclaimed allegiance during the debates) truly believe that the State knows best. That the average citizen is not equipped to know enough to make the proper decisions about important topics.

Our leaders spout great rhetoric, but then do the opposite. Our normal checks and balances — a key part of our Founding Father’s vision — of a curious and skeptical media and free press is only alive in a few outlets. Even Pravda is jealous of the cozy relationship between mainstream media and the American administration.

So, on this 4th of July, heed not only the calls for “another burger” or “another beer”, gaze skyward not only for the display of fireworks, but give some time to pause and reflect on the true meaning of freedom. Pause to reflect on what our Founding Fathers sacrificed and the legacy they left to generations that followed. Pause to consider if our elected leaders at all levels are doing what is good for America’s future – for your children and their children… Pause to consider if there is more that you can do if the answer is “no.”

And finally, pause to give thanks to the soldiers serving today, unable to be with their loved ones and friends back home. For it has been on the backs of great men, like my father, who served selflessly to preserve our freedom and our way of life.

God bless America.

Kent Beck says “No Tests?”

Okay, well more like:

Kent Beck Suggests Skipping Testing for Very Short Term Projects

As discussed by Mark Levison here.

It’s like many things in software — a judgement call.

I agree wholeheartedly with Kent.

If you are in a highly exploratory phase… just trying out a few ideas to see what might work before committing to an approach, why bother with TDD?

Now, if you are lousy at design and doing exploratory work, and you prefer TDD — then use it! Use your best judgement to make that decision based on your current situation.

Caveat Emptor: I am not an expert in TDD, nor have I done it more than a handful of times.

Aside #1

I have always wondered this… as it seems to be a built-in assumption on the part of TDD advocacy. Does TDD necessarily lead to good design? Philosophically, I don’t see how it can be an immutable assertion.

Aside #2

In 2001, when we were in Snowbird for the Agile Manifesto gathering, I remember doing an example of TDD with Bob Martin. After we did a simple example in Java, I turned to another technique to “write” the tests and code. In Together, we had built a feature that allowed sequence diagrams to generate code. Writing tests as a sequence diagram was fun… create test classes, invoke application objects, create the classes for those objects, create methods, add code, execute the tests. Rinse and repeat.

Aside #3

Typically I design by starting with objects… I don’t need tests to tell me the core aspects of the system — but that is my personal choice. Features typically indicate core methods that are needed. When we need to flesh out nitty-gritty logic and what not, then I will turn to sequence diagrams — which could be done with TDD.

Aside #4

I can see where TDD would really help to benefit in ensuring folks stop coding just as soon as the test passes — assuming of course that the test is at the proper “correctness” level.

Summary

For me, I chose to be pragmatic, NOT dogmatic. I chose to use my brain to do what makes the most sense in every circumstance, not a blind allegiance to a process for process’ sake. If barging forward and doing “design and coding” works best for you and your team to flesh out ideas, go for it. Just be sure to go back in and “do the right things” once you commit to an approach that is going to stay in the code base.

Is your right-brain active?

Check this out…

Right Brain Test.

Until I stepped back from work, came at it with a clear head, I could not see the image…

It is a good reminder that we in IT are often so very much focused on linear thinking, that it is hard to allow the right brain to get much air time.

Yet the right brain is where all of our creativity lies!

Good humor

This was in an email after I purchased something…

This is an automated message from the Yahoo! payments robot to let you know we got your money. Flickr will send you a more entertaining email shortly.

I like this sense of humor from an application 🙂