Test Driven Development Evolution

TDDE


Again, any opinions or what might seem like opinions expressed here are meant as entertainment and in no way reflect anything believed or doubted, supported or disavowed by any companies I am currently working with. This is my sandbox. We all need a sandbox.

Greg Milane

New site as promised months ago

Not much, but as what would have been his 64th birthday approaches, I wanted to do something.

Thanks,

Josh Milane


Again, any opinions or what might seem like opinions expressed here are meant as entertainment and in no way reflect anything believed or doubted, supported or disavowed by any companies I am currently working with. This is my sandbox. We all need a sandbox. That said, if you have beef with this post, come talk to me. I beg of you. We are all people before we are consultants, employees, or whatever you may judge on. My family is 3 people, soon to be 4. They are more important to me than any job, any money, and I almost beg for the opportunity to show that.

From the Flagellum to the Propeller Cap

As noted in a previous video, nature is the ultimate agile coach. You do not have to believe in Darwinism to believe that over time, the weak die off and those with more advantages live on and evolve. This is true in nature (without any hint of Good or Bad, simply as a measure of survival) and it is true in things that we like to call technology but in reality do not escape the all-encompassing umbrella of Nature and the Natural. One way to see this is that over time, specialization allows adaptation and incredible utility. However, those same deep sea fish that lives off of nitrogen instead of oxygen die when they are captured and brought to the surface. Such hard work, over such long periods of time and strings of miracles, dead because we study them in a way quite different than the Uncertainty Principle describes. This is more basic and “philosophical” but far from academic. To be plain and clear: if it exists even in name, it is of the Natural world (capital N). Important distinctions lie within lowercase natural world and uppercase Natural world. Simply because it exists within Nature, that does not mean it has a direct corresponding manifestation in nature. I can say something that will resolve to “True” and be in regard to Unicorns, but there are only Unicorns in my dreams where they take their horn and use it against my Foes (of which, I have none).

Quick example I use time and time again: the notion of a Dog. Picture Dog in your head. Come on now, do yourself a favor and do me a favor and play along here. It wont hurt your brain.

Go ahead. Picture Dog. For those who find the idea of a Dog a bit much and do not understand what I am asking you to do, you are essentially defining what a Dog is in your mind as it may appear in Webster’s. At the same time, we will show (because there are eight of us here), you are simultaneously making grave assumptions and positing them as inextricable truths. People use this to sell software, car polish, and even the idea of a 50k marriage ceremony.

Most likely you pictured a four-legged creature with teeth, a tail, two ears, fur, and all those things that make up Dog. Now think of every dog (lowercase) you have ever known. Do any of them exactly match your idea of Dog? If one happens to, more than one cannot. What color fur does Dog have? What if I shave it off? Still a dog? What about the dog that lost a leg or was born deformed? Still a Dog? We, and science (which attempts in vain and endless desperation to accommodate what we learn as we go along) have the uncanny and quite handy ability to say, “Sure, that is a ‘Dog with Three Legs’” and I hope you see where I am going with this. It is not until something becomes real, tangible, interactive, of this world, removed from the ethereal and Universal conceptualization that we are actually talking about the world we live in.

In the beginning, there were fatty acid chains. Phospholipids (this is dish soap… strings of fats). One day in a land far far away a bunch of them found water, and the water excited the ability of these chains to attach to each other until one bent unto itself unto itself unto itself. This happened a whole bunch of times. At least 11. Suddenly, one happened to capture something inside of it. I went outside and swung a butterfly net in empty air with no butterflies in sight. On the 138th swing, my shoulder was burning but inside that net was a leaf. True story. Really.

There are those that believe this is how life was created. I will not get into that here because apparently, I have been told my blog posts are already making some people uncomfortable when it comes to matters of Universals and similar. Still, it is perfectly plausible that at one point, micelles (balls of these lipids) formed and captured something inside of them. Try this with liquid soap and a bowl of pepper or (*wink*) iron shavings… you may find you get soap bubbles that appear to move towards something as though they had a will of their own and as they form and form again, more and more properties will be introduced. Call it accident, call it evolution, call it crazy, just dont call it late for dinner. Evolution is not thoughtful all the time, nor does it have to stem from God or anything besides what we know as nature and refer to as Nature (all of everything in this example, and something I cannot define because as soon as I do, I make it amorphous). The overarching point is, with simple building blocks and the right environment amazing things can happen.

Likewise, as those amazing things happen, you get objects like heavy soap bubbles. These might not last so long, full of iron shavings and bumping against each other. What actually happened is that one of these bubbles was caught in *gasp* ANOTHER bubble and something called a liposome was formed (a bilayer, really). The liposome looks a heck of a lot like a cell and a cell membrane or the earth and it’s atmosphere. Amazing. Yes it is. Ever notice how Cheerios seem to find each other in a bowl of milk? Hmmmmmm? There is veracity in simplicity and constraint in hard definition. You know this if you have read a Statement of Work with any kind of reasonable level of technical professionalism. I am, like, REALLY good at that stuff. Good at eating Cheerios, too. They dont find each other as easily when buried in sugar, however. Not many things do besides ants and other vermin.

Fast forward a few billion years because I would bore myself: somewhere down the line machines came into being. There was the wheel, then the spoke, gear, pulley, and I am sure I am not sure how manufacturing evolved but the notion that Toyota mastered it is insane. Muda is a cute little catchphrase Agilists throw around and Emo Agilists have tattooed in Chinese on their ankles in order to sound smarter than they are. It does not take a genius to realize there is such a thing as waste and yeah – it is not good unless it produces something useful and then well, I guess it is not quite muda anymore, is it?

More tricks of language and making things that are ‘specialized for a purpose’:  if there was not Waste, there would not be Efficiency, would there? No Up without Down and no magnetic micelles that develop a flagellum without plain old fatty acid chains. And no aqueous environments to make it happen in without non-aqueous environments. There would just be Environment. And, environment. How boring and impossible. It is not the Uncertainty Principle, and I have only heard myself say it, but as soon as you look at or have perspective on something, it is defined within the constraints of the senses. This is where imagination and the discipline of knowing when to say WHEN is important.

Do you remember Dog? Think of him again. Come back, Doggie.

Is he in your head? Dog? Mr. Dog? Come, boy.

Did you see a Him because I said think of Him? Was it the same Dog you thought of before? Did you have free thought or were your seemingly undemanding and agnostic parameters more constraining than you originally might have thought? I do not know about you, but I can be guided by language and choice of words. You can too. I just said I didnt know about you so I would not sound like a snot. We all are. Ever sit on Santa’s lap? That was the lap of deceit. Scary. Watch out for fat old men who call out for kids to come here and sit on their lap.

Point being, we work with what we have and we move along trying to become better. The “trying to become better” part has yet to be addressed. This pursuit of “being better” is legit, but what is not legit is the mandate that one way of becoming better is better than another. Better not say that again or I better get a thesaurus. Most of the time we try to become better so we can make money. Motivation is of utmost importanance and please please please keep it in the back of your mind as you buy a product versus forming a relationship.

I used one word: “better” with at least 3 different meanings but without introducing a change of meaning. One word with so many manifestations. How is that possible? Assumption? Context? Do we start with a blank slate and fill in what works when the answer is not cut and dry?

It is possible to have multiplicity within simplicity and it happens because of advantages handed down and the movement of grunts and gestures to a language with context, multiplicity, and extensibility (see where I am going yet?) built in. It is not about the word and it is not about the fatty acid chain. It is about what can be done with them. It is about the mistakes and the muda and the collisions and the serendipity. It is about potential and integration with something real, something Agile. Stop claiming that Scrum is an Agile model. Going to the bathroom is an Agile model. You are impressing nobody besides your bankers. This is innate human ability we have had to be trained OUT OF.

And this was true long before the Agile Manifesto was written by a bunch of guys looking to make a buck on essentially branding a natural process within a “technical” arena. This idea is ridiculous. What is the most misunderstood, incomprehensibly powerful and undefinable network of circuity known to humankind? The brain. Not the Quad Core. I would like to see us spend less time on inventing a faster cable and more time looking at the bottom of the sea or at the brain. The brain, mostly. Fact is, we are intimidated by it. All of us but the bravest of souls who are willing to go with a slim paycheck for the pursuit of Betterment. Bless you, you geeky little misfits. ;)

Agile took a nice firm foothold when Visual development tools became common. Why the sudden reversion to the simple and the contextual, encapsulated, phospholipid? By forcing code to be organized in a visual manner and in the creation of objects and OOP, we could build touchpoints, mini APIs, and components that could be reused or tossed out or better yet, placed in a class library of some sort. Viola! There was a way to codify something. Humans loooooove codifying. It kind of, in some odd way, makes us Master of that which we examine. It is silly. We are a silly species. UML is a great example of taking this a step further and I will admit, UML makes me breathe heavy. True UML. Oh, hot flashes…

Fast forward a shorter period of time and the web was born. Pages were static because HTML was designed to display text and when Al Gore invented the internet it was to share data. Keep THAT in mind and wonder how it has become what it has become (hint: people thought of ways to capitalize on it).

Now we have Content Management Systems. Notepad is one. If you typed fast enough and were a good enough coder, it would likely be the best of them all. There are many others. How does technology (in the web phase now but I believe moving towards the data phase) mirror nature? What is the best way to go about building something in technology that takes advantage of the myriad of lessons Nature has taught and that we have seen in nature?

By being flexible, utilizing highly portable and open formats like XML and XSLT, using an open API schema, and by delivering a framework of fatty acids instead of iron soap bubbles that become useless as soon as we touch them except in that we can charge to build them again with some Palmolive, we can make virtually anything we want as long as that framework does not prevent or straightjacket against it. That is the main problem with Content Management Systems and other Applications: people belong to their tools instead of the tools belonging to the people. You have seen organizations change the way they work because of the software the company purchased and the result be unremarkable. I am sure you have.

Way back when I was a developer, this stuff was getting lots of traction. PowerBuilder rocked the DataWindow (does it exist anymore?)  and the ability to deliver a query result in your screen – something pretty remarkable at the time – was enough to make people notice. We used them everywhere. We believed and knew how cool they were, but none of the Clients we showed our Systems to knew how cool they were. Do a demo of your product and just show the UI, pointing and clicking through a transaction. How frustrating is it to not talk about all the cool stuff going on behind the scenes? I hope it is frustrating. If it is not, you are only waiting to be replaced by a robot.

The obvious issue: there is no money in not having a Client tied to you. The obvious response: the money will come along with a bevy or other benefits if the relationship is sound. Worry about relationships more than deals. Worry about laying the groundwork and knowing when to get your biased self out of the way so people can fit the software to their needs.

I have to buy custom clothes because most of you are so small and satisfied with the ordinary or whatever is “in”. :) If everyone had to buy custom, I guarantee it would not cost me $300 for a pair of plain old slacks. It is a matter of necessity. What is a guy with 23 inch biceps who stands 5’9″ and weighs 310 pounds to do? I’ll tell you.

I pick a fabric. I get to pick. My shirt.

I pick a button style. My choice. My shirt.

I can go the bespoke route very easily. My shirt.

I get something just for me. My shirt.

Tailored. And I am the unlucky one? Financially I am, but that initial cost is immediately blown away by the fact that I do not look like I have sausages for arms and can actually breathe despite having a 23.5 inch neck. I can look damn slick. You cannot hope to look as slick as I do when you buy off the rack.

In the interest of transparency, all my custom clothes are ruined because I keep growing. This does not happen to normal people. Their custom stuff will look awesome for a long time. I am a monster. A freak of nature. You would not like me when I am angry!!

;)

Custom is a framework. Off the rack is Out of the Box (and the racks themselves happen to be adjustable). With Custom, you can do anything. With Out of the Box, you do what is handed to you even if you have to change the way you do things and if changes are required, you essentially and many times have to start all over. I get free alterations for life. Micelles keep trapping the objects that make up this thing we call the Universe, or Nature, while nature defeats our best attempts to codify and predict it’s behavior.

So what is next? Visual development tools on top of flexibility layered with the ability to hook and link where required is there in frameworks. Some Content Management Systems are frameworks. Many are simply other frameworks with a face. XML is a framework. The difference is that a CMS framework delivers a framework at the inception of a feature instead of the inception of data (while in reality, it does both but people do not generally equate value with an XSLT definition). There is none. Until it manifests. It does not exist until it manifests. It does not matter until it manifests except to explicitly NOT do what you imagine it to, but what it is capable of. Usually, that is more than you hoped for or, you learn quickly that it was a dumb idea and save time and money. Soap bubbles cant fly you to Tahiti.

Do you see the pattern here? Get to the point where you are just about to make a decision you cannot undo (often, this is building that sexy feature out of the box) and stop. Of course, you have to pick a direction, and you want to make judgement calls as to your feature set, but let the tailor do the tailoring. Don’t try to buy me clothes. We will both only look dumb within a short period of time.hand or tool

From the micelles to the user stories and backlog to the Object Oriented tool to Agile Documentation it is about taking the smallest piece of something you know of which points towards or makes possible the manifestation of that feature, life form, or in reality simply gives rise to possibility. Nothing is possible without Possibility. With a Framework that demands little, allows for a lot, and is wide open to what is around it, Anything is possible.

What are classically the hardest pieces of an IT project besides integration and data migration? Here again we see the issue of two things requiring a third specialized object to provide enablement. In the case of integration, an API or WS or simple SDK at times will provide that enablement and that is ALL that they do. In and of themselves they look like stubs, or little hands looking for another hand to shake. Once you shake it – Shazam! That is what it was there for (cue the lightning bolts and theme song).

In data migration, you need data transformation or a procedure that any MS Partner would love to sell you BizTalk for even though BizTalk is not at all required. Those procedures will just sit there until they are fed data and then SHAZAM (lightning bolts) “I have the power!!!”

Just like I can take two sticks and rub them together, there are undiscovered directions that the objects we built will take. Millions of idiotic (it is my blog so I can say it) people are injecting fish venom in their eyelids to look younger. Dummy, please! But it is their right and they are mighty thankful that botox is available to them even if it is being used in something about as opposite as it was intended for as you can get. Fact is, it can be used for a multiplicity of things. Intent is not always as it appears.

If you take offense because I make fun of the way you look, just look at me. ‘Nuff said. It is a joke. Get over it, please. Bless you and your Botox. Shoot it in your toes for all I care.

Oh by the way, you know that you get a fire if you rub two sticks together? Plain old sticks like Dog plays with. They can’t be wet but eventually they will at least let off a tendril of smoke. I cannot speak to your forearm strength unless you are a developer (haha, cheap joke).

The smallest effective piece has the most potential.

Hmm… where do I remember this from?

Dagnabbit, Legos. It was Legos.

Phospholipids, Micelles, Liposomes, giant gap in history, development of iterative attempts (Agile), OO Toolkits, web frameworks – what comes next? I know what I think. Semantic Web, data talking to data, raw ontologies and Triples ( modus polens and tolens are awesomely pure and telling) laid out there in the world as something constructed like RDFa and able to learn. Yep. Learning machines. And as I said earlier on, a robot is going to take your job and you will be glad for it because this is not Science Fiction. I hate Science Fiction. This is reality and you can just bean a robot a few times with some bricks and it will pretty much shut down. Or, a bucket of water. That worked on TV. Or if the robots really become dangerous we can live in a submarine and plug our brains into things that let us learn at the speed of light and fight off the Evildoers in the Matrix.

For those who are a little less mentally slick, that was a joke. I have to say that, because there will a single nincompoop who cries that I believe in the Matrix. And thank goodness for free radical abnormalities like that. It is what caused the fatty acid to fold along with the fact that nobody said fatty acids cannot fold. And then the micelles. Then liposomes. Then all the way to Agility, OO Development, and platform based architectures and exposed APIs, XML, and simple touchpoints that make lightning bolts come raining down in furious realization of potential, as though uncovering the Ark of the Covenant, as though evolving as a species or as Nature, right in front of our eyes.

Say no to that which limits. Say yes to that which makes possible and allows. Keep your goal in mind, do not trust anyone who has not earned it, and you will be a smart human being who at the very least is known to read a kickass blog.

Let me know how I can help. Seriously. I do not charge money to be a human being who cares. If you want to hire me, we are talking big bucks because right now I am seeing what it is like to be plain old Josh without assumption or constraint.

Trouble is, there are always constraints and my battle to constantly evade them is proving futile (see disclaimer).

Best Regards,

Josh Milane

It has been expressed to me that I may want to point out that much of what I write is property of MiT Consultants, LLC and only expresses the opinions of Josh Milane, but I do tell the truth and I will not lie to you. I do all this in memory of my Father. You got beef?

Pardon me while we repair some posts

Sorry for the inconvenience. There is a technical issue with WordPress and my embedded videos are being displayed full screen. It is a small fix, but I need to have time to fix it. By the end of the day on Monday they will be back up.

Believe me you do not want to see my head full screen. Looks like the moon.

Best,

Josh

Enter the Salesperson

Overwhelming response to the call for proposals. Thank you for making me feel important and wise. I assure you, I am at least one of those to my Mom.

As a follow up, I wanted to talk about the obvious;  proposals fall somewhere within the sales cycle although I sometimes think they are better off as low fidelity in the sales cycle as estimates or a more general description of the approach that your Client is aware of, but some software has a sticker attached to it and this is not always possible.

For the cases where you are “pitched” I would like to remind you to watch out for this guy. You have seen him or her I am sure. They know all about sports if you do, and they dont follow sports if you dont follow sports. They know about Mirroring and are skilled at SELLING.

I would rather be, and am, skilled at DELIVERING.

Important: a software product here is in contrast to a company that sells and nurtures the PLATFORM product. Those are the good guys :)

Enter the product salesperson:

Note: this is SUPPOSED to be RAW and CASUAL and UNPROFESSIONAL. See disclaimer. This is PARODY. It pains me to have to point that out but I must point that out. PARODY. And with that note, there goes all the fun and insight to me as a professional who is first, human.

Salesperson played by Joshua Milane. He is available for films and commercials as long as the money is like, REALLY good.

;)

Josh


Again, any opinions or what might seem like opinions expressed here are meant as entertainment and in no way reflect anything believed or doubted, supported or disavowed by any companies I am currently working with. This is my sandbox. We all need a sandbox.

Three Ways To Assign Priority Without Purely Guessing

You can commit to iteration planning by doing commitment-driven Sprint planning or by doing Velocity-driven Sprint planning. Okay, great. What if I do not know the Velocity? What if I do, but still don’t know how to plan the Sprint because I cannot determine how important each Story is? And then, what if those stories disaggregate and we have more stories… multiplying like rabbits and everyone is saying that each one is “critical” or “oh we *definitely* need that one…?

I had what I thought was a pretty slick method, but the truth is I was always refining it. It had to do with Value, of course. It looked something like this:

  • Business Value (1-5) or 100 if it is something we cannot go live without
  • User Value (1-5) or 100 if it is something we cannot go live without
  • Technical Difficulty (1-5) or 100 if it is something we think is akin to magik in the deep woods of The Black Forest

You add these (after applying a multiplier if for instance, User Value is 20 percent more important than anything else) so you get something like this:

UV = ((2.3)(1.2)) times BV (3.2) times TD (5) equals 44.16

This would usually (or could) be the end result of a Faceted Feature Analysis (FFA), where the Product Owner does not name all the values themselves all the time. I would encourage them to ask stakeholders for their values and then do the classic Planning Poker thing. “Jane, you say having a stock ticker is a 5 and Bob, you say it is a 1. The rest of you are 2 or 3. Jane, Bob, can you explain why your values make sense to you?” Then, final voting. Depending on the circumstance you may want to document (if you have to) that Jane and Bob still did not agree or maybe they did not realize and will agree to a 2.5 or a 3 or whatever it works out to. The goal is to get that final number. Also, if that number is over 100 you really need to examine it. What being over 100 is saying is that this is a major deal, and might require more exploration.

Of course you also get the Technical Risk this way. I like that because high value, high risk stories are identified early and you can play the Fail Fast game. Lots of people want to implement the low risk and high value stories first, but since something like a third of features built are ever used, it makes good sense to figure out as soon as possible if something cannot be done, if part of that something is good enough for now, or if holding onto it like Linus and his blanket would only mean you cannot swim when you are in the water of the project.

BigVisible presents another way, which is simpler, and I like for other reasons:

They talk about the Kano Question Form and Kano Analysis. I will do that later, since is would be a tangent on the theme here.

They use what I will call the “Nines Approach” (or at least they proffered it along with the disclaimer that it is not THE ONLY way).

Looks like this:

Which one of these is right? Both. Neither. What is right is the third way to assign Priority: be Agile. The second method makes it a little harder to Fail Fast without some conversation, but that is actually good: you *want* the Team to talk.

In some situations the first approach or the second approach may speak closer to what your team understands and likes. In some, it will be a balance of the two plus or minus a Tradeoff Matrix. Some will want to see a weighted Feature Prioritization. Some will not care as long as the Product Owner or *someone* tells them what the goal of the Sprint is.

Thanks to Big Visible, Giora, and my wife for helping me with some crazier ideas that will be in a future post.

Best,

Josh Milane

One reason Dropbox wins IMO

There are a few, but then I stumbled upon this page on the dropbox website and I think it is brilliant… especially if they are doing certain things behind the scenes. They are already working their forums so that if a person asks a question but is really asking for a feature, they direct the user to vote for the feature. Anyhow, this is great in my opinion.

Simple idea, but how much info they get from this!

Best,

Joshua Milane

Commentary on the 12 point PM Checklist

If you take a look at  you will see that the author proposes a checklist as a tool for projects. Great. He does not say if it is all inclusive, what kind of projects it is for, and he does not really commit to much, which is why I wanted to comment on it here as I put off doing some light housekeeping. The bird’s next over the fridge should probably go outside, and even though it was a nice day yesterday, the doors should likely be put back on the house.

The below is copy and pasted. It is a list, so if the author min.ds terribly, please just email me and we can talk about it. I have sent you a note.

From http://www.projectsmart.co.uk/project-management-checklists.html

Mr. Vaughan is in italics, because it is cute, and I am in regular bold type, because I am regular, but a bit bold.

Among all the tools at our disposal for managing projects, checklists are perhaps the simplest and most productive means of building consistency in work practices. Checklists are useful in almost every field of human endeavour, and in particular where repeatability and systematic action drive performance. Yet they are still much underused in the planning and managing of projects.

I am not sure that they are so useful except as transient artifacts that speak to an audience ready and willing and able to take value from them.

Here is a high level twelve-point checklist for use during project planning:

1. Have the needs and concerns of all key stakeholders been considered and resolved?

I suspect you know I will say that it is impossible to address all concerns of all stakeholders during planning. If we are planning iteratively, we certainly have a better shot. If we are delivering incrementally, we have a better shot, but to have anything more as a goal is to state something as a goal that will just not be achieved. If you have ever tried to have all Stakeholders resolve their differences before anything gets built, I expect you will either get a few angry stakeholders or have never heard of the Product Owner role.

2. Does the project have an overall approved mission statement defining the scope, schedule and resources/budget?

As long as we know it is going to change, all we can really have at the beginning is a Vision. We can certainly have resources and a budget, but resources change (people get hit by buses, I hear) and I would rather deliver under budget which makes the budget less important as our goal, which will of course potentially change. The epic may remain, but functionality can be phased, shelved, pushed to V2, or any number of things.

3. Has the relative flexibility among scope, schedule, resources and budget been determined?

I am surprised to see reference to what sounds like a Tradeoff Matrix here. Most of the time, however, in my experience this is better done as you go than up front unless you are following a Faceted Feature Analysis approach (and there are better ways to Prioritize, I think).

4. Have all project deliverables been identified and described in detail with unambiguous completion criteria?

Holy Mackerel. Really? Before we start building? This can be done, sure, but what parts of this have real value.

5. Are roles and responsibilities defined and agreed upon for all project team members?

This also many change, but you do have to start somewhere. I would rather define roles and have people fill those roles as required in something like a Kanban model or a Scrum Team that really works like a team, but Mr. Vaughan may agree.

6. Has an appropriately detailed work breakdown structure (WBS) been created with input from key team members?

BRUF. Muda. Can throw a million buzzwords at this one, but I will just ask if the project after it has been delivered ever even once looks like the WBS when done up front. I am biased and although I have created my share of WBS documents, I look back and wonder why, except that the whiteboard looked really slick and people tended to assume that I knew what I was doing. Throw some compliant UML up there and you are almost untouchable by critics.

7. Has a credible schedule with identifiable critical path and late schedule been developed from the WBS and optimised within the project constraints?

See #6. If you have done this, you have not only wasted time, but you have straitjacketed your product and your Customers or Stakeholders are not likely to be happy filling out Change Request documentation.

8. Have milestones been included in the schedule to track major events, completed phases and/or deliverables and external dependencies?

Milestones are great, but can we be flexible with them? If so, lets do that. If not, lets see what the definition of that milestone really means. We may hit August 19 and hit the end of a “phase” but gotten nothing done unless you take a more Agile approach and do not attempt to be Karnak the Magician or whatever the guy on the Johnny Carson was called.

9. Have workload commitments been identified for each week of the project and agreed to by team members and their managers?

Every day, in a standup, you mean as well as in Sprint Planning or within the pull of Kanban? I like the idea of commitment. I don’t like the idea of Management setting definitive workloads for the developers.You get overworked, under-appreciated, burned out developers that way. Happy employees get more done than disgruntled ones. Some disgruntled ones come to work with a rifle. Yowzers. Still, the rifle does not worry me as much as this seems to be calling for huge amounts of effort and a constant team with constant velocity.

10. Have response plans been developed for the most significant threats to project success?

Risk Documentation. Exposure can change as you go, but a valid response to a high value item once it has been attempted and proved to be very very difficult and to jeapordize the sprint may be to break it down and employ disaggregation it or put it off until the end. Fail fast. Go after the high risk, high value items first.

11. Has a change management process been defined and agreed to by all key stakeholders?

How about talking every day and constantly re-prioritizing, reshaping, being realistic instead of doing a big fat Big Up Front Requirements document that nobody will ever read along with any number of thick unreadable documents that this approach seems to call for?

12. Has the governance structure for the project been established with an agreed sponsorship role and expectations set for review frequency and format?

I agree that you need structure, but words like governance imply a formality and inflexibility that I think you might wind up needing. People take vacation. Even if you do take OOTO time into account, if your Customer is part of the team and iterative work with incremental delivery is your model, it would seem to me that this will work itself out.

One of the features of checklists is that they can be designed to extend hierarchically, such that a sub-checklist could be developed to facilitate any or all of the checks above (e.g. a stakeholder analysis checklist or a risk management checklist).

Uh oh.

The PMI, training firms and PMOs would do well to promote checklists more strongly – project managers like to use checklists; not many want to read through an overweight methodology. And managers like checklists because they improve quality and instil consistency.

Just as it is in the best interest of the Scrum Alliance (just ask Scott Ambler) to create the CSM certification, it is probably in the best interest of PMI and PMPs to cast a spell upon this as the approach you should use. I encourage the opposite. Try different things. If you have only worked for large companies you likely have not seen the amazing things that can happen in small, empowered teams. Putting people first is in the best interest of everyone.

Thanks for the ideas. Again, the above was a response to http://www.projectsmart.co.uk/project-management-checklists.html. I only disagree to engage in dialog. If all I did was spout what I THINK, I’d be a blowhard. Let’s talk privately or publicly and I promise, if you get me to see things your way I will be happy to have been wrong. It is in MY best interest to be as good as possible.

Best Regards,

Josh

2 Ways to show Percent Complete in Agile Methodologies

Directly inspired and partially stolen from BigVisible Certified Product Owner training (with permission, and changed)

PMPs love percent complete. Although it is an illusory measurement (things change!), you will still get requests for the statistic. Here are two ways to provide what I feel awful encouraging

1. Plain old Metrics

Take a peek:

The above is pretty easy to understand, but the percent complete field comes from the total number of story points in a given feature (the pure sum of the points belonging to stories within a feature) and the number of points for features that have had all stories complete. There is your number, viola. Is it accurate? As long as nothing is added to the feature, sure I guess it is as accurate as anything can be given context. Better question might be “is it wrong or misleading” and the answer would be “depends, but you are not lying or misrepresenting what you are being asked for.” If I ask you to poke me in the eye, you might do a really good job at it and blind me, but does that mean you completed a valid task? Depends on who you ask, their mind state, their goal, and a number of things but overall – yeah, you did. Thanks a lot.

2. Colors… mmm… (not the movie nor the song where “I am a nightmare walkin’, psychopath stalkin’…” because I am not. Just like RGB values, you know… the whole Color Wheel thing?)

People like colors. With this method you get not only more detail, but what might be a more accurate (or complete) view of what is complete. Your “not started” line will look smaller, but that is not a function of misrepresentation, only of the technique. “In Progress” might mean it just started or that it is almost done, but it is just a tool.

Something besides Excel would be better than this, as the legend states (maye an .mpp although your PMPs might freak) because your Story Points could be numbered left to right with a degree of accuracy that I cannot provide at the moment. Again, the goal is the same. You get block which represent features but the WIP (Work In Progress) exists as something real and tangible. For the overall Epic, you could in theory have a giant list of these that together spelled out the whole schebang and I do expect this may only serve to elicit “so, how close are we?” at which point you can either stare like a gopher who just popped his head out of his hole or be almost as cool as a quick draw cowboy and whip out the first diagram.

Satisfy your stakeholders but remain honest and educate without preaching.

This was Percent Complete, which is a side effect of estimation and not all side effects are bad. Next, you can expect something on Prioritization. I actually really dig Prioritization.

Best Regards,

Josh

Random Thanks

A few people I am compelled to thank right now (the truth is, it has been a rotten week so this is a way to turn that frown upside down by focusing on the good):

1. “Agile Bob” – Bob Hartman (his site) @agileforall (Twitter)

Bob has done everything he could to help me professionally which is for me, hard to distinguish between helping me personally. Maybe it is not that hard for him, but I struggle with it. He is a friend in my mind, and a good person. Good people are rare these days, it seems, so it is important to recognize them when you come across them. I always like to be around people who are smarter than I am. Important to recognize them when you meet them. Important to recognize altruism.  Bob is not only a fantastic Scrum Coach and Trainer, but a human being who not only recognizes the value of communication, but the right kind of communication. I learn from him all the time and am in his debt. I am the first to admit I am not perfect, but Bob has a way of harnessing his passion even when it inspires dissatisfaction that I try to adopt. I am, however, still a bit emotional about my work and do not lose my temper, but from time to time have stayed up for 48 hours working for free to the intense dismay of my wife and dog. Don’t tell anyone. Again, where the line between work and life is drawn is something I have not mastered the concept of. It is what I will say is my weakness when an interviewer asks because it is the 15th question on their list of questions. Bob is one of a kind and a great person to know. A coach’s coach. A good person’s person. There is a lot more to say about Mr. Hartman.

2. Giora Morein - www.BigVisbile.com (his blog) @gmorein (Twitter)

Another person who is smarter than me; Giora has practically paved the way for me in my professional certifications and is another Scrum Coach and Trainer that I recommend without a moment’s hesitation. Completely. He is not simply someone who cares about making money or accelerating Scrum / Agile, but he also truly cares about the people who are involved in that effort and the people outside that effort. He wants to see you win. I love that. Confident and skilled. My next post will be in regard to the Kano Table (it will be sexy as heck) and something he inspired in regard to how I think about Agile Estimation and Prioritization. Anything that finds it’s way into my toolbox is worth mentioning in case someone else might find it useful. I wish Giora fit into my toolbox. I owe him a lot. He is a positive person like Bob is. He has a way of teaching more than the subject matter at hand with an ease and grace (yes, grace) that can only come with experience. He will tell you if you are wrong (sometimes even using those words if he can wrap it in a joke or something palpable), and you do not mind because you get it and it makes sense. You were not wrong – it was that in this case another way was closer to what you were truly getting at and wanted to achieve. Who is afraid of the truth? I obviously have no issue pointing out my flaws, because they are my flaws. I admit it. Giora helped me be okay with critique that explores and reveals – professionally and personally. He is also amazingly willing to share knowledge that is not in books but learned through experience. He will teach you more than what is on the page even if you are reading a book, specifically, with seemingly limitless anecdotes. There is a lot more to say about Mr. Morein.

And as far as people being smarter than me is concerned, it is true; Shaggy from Scooby Doo was smarter than me. Still, this blog article is within the context of software. Shaggy couldn’t even draw the Iron Triangle. Dummy. Oh, wait… do we even agree on the Iron Triangle anymore? Time, Scope, Cost were the sides, but Customer Satisfaction snuck in there somewhere and Quality did, also. Okay, maybe Shaggy and I am close in intellectual depth.

But maybe not. He got a dog to talk. He did get those girls and that talking dog on the Funky Bus, didn’t he? Better: he got them to stay and think it was their idea. Brilliant. Context, people. Context. Lesson learned: no communication is sometimes a very effective way of saying something.

Funky Kano Table

(Because this posts needs a sassy graphic, that’s why)

3. My wife, Lara Milane - www.LaraMilane.com (she is not a Tweeter)

My passion and love for what I do only exists because Lara gives me a world where love and passion is possible.

There are more, but this needs to be said now.

Just as I do not agree with many of my older (or some recent) posts anymore, I like to keep things here raw. Visceral. This is one way in which I try to contain my passion. I make cupcakes, too. I am like Clint Eastwood with that frosting gun. Ka-pow! This cupcake will blow your head clean off…

Thank you,

Josh

Okay, so I make them disappear. Close enough.

Page 2 of 181234510...Last »