Monday, November 29, 2010

How to accurately estimate projects.....

Most people estimate how long something will take by trying to figure out how long a task will take. Most of the time that works, however for software, it fails miserably. See, it's not about the task, it's about the behavior the user wants. Behavior can't be easily defined the same way a task can be.
Take for instance this task:
Resolve issue with business stuff that's irrelevant (default materials lists were not being created w/ new programs)

The key here is the word issue. It's not defined. So you have to figure it's at least10 hours to get it defined. Then you can get actually implement what they want. Then you have to define what a default materials list is, and what they mean by default. The more people that are involved, the longer that will take. Say another 10 hours at least.
See, the easy part is writing the code. The hard part is figuring out what the heck it's supposed to do. Most project managers, and project management software think that's a task. It's not even a requirement.
Here's another one:
Final notification would be provided to someone indicating that they were something good

Here again the words final notification provide a whole world of unknowns. How will this happen? Will the user have the option to specify the method of notification? That's probably another 10-15 hours of wrangling right there. Then, another 5 hours for the actual content of the notice itself. If it's different formats, you might have another 5 hours wrangling over typography, format etc.
Another one:
Ability for roles within some department to search for people and leave notes

Roles? Which roles? Are they new roles? Search for people? By what SSN? customer ID, email? phone number? Do you know how many ways there are to find someone? Then how do you present the list? How does the user know that they have found the right person? *SIGH* Another 15-20 hours of wrangling.
Here's one more, and one of my favorites:
Business status identified and managed effectively

Manage? Manage? What does that mean? Simple Create/Read/Update/Delete functionality? Do we need a business rules engine? There's a huge difference between managing a 3 person business, and a multi-national corporation. Manage.. really... not even close to being a good requirement.
So what makes a good requirement? Anything that defines behavior. That's not something that can be defined in a single sentence. It's certainly not something that can be defined easily in MS Project, or any other project management software. It's at least a paragraph, probably more.
See not only do you have to define what you want the software to do (how it behaves) when things are good, but also when things go badly. There are usually more things that can go wrong then can go right. Each of those is it's story, it's own behavior.
Project management says you can start when you have all the tasks that need to be accomplished specified. This is just not possible. You're not done when all the tasks have been accomplished. You're done when the software behaves as the user wants.
This is where Behavior Driven Design comes in. It's not a methodology for project management. It's not a silver bullet for all your software project woes. It's a method of doing the hardest thing there is to do in any project: communicate. It focuses the attention of everyone on the project on the two single most important things in any project: Behavior, and communication.
You can find out more at: the wiki article and at the website

Wednesday, February 17, 2010

Critical Thinking in the corporate world, by the top brA55es

We get a 22 page document on how to fill out a defect report in Jira. This would not be so bad if it was 22 pages of how to describe and detail defects in a coherent way. It was instead 22 pages of work-flow, which is entirely driven by Jira anyway, and therefore does not need documentation.
Instead it was describing the use of 3 fields in order to allow management to do apples-to-apples comparisons of bugs. Only an MBA (Massively Bad Advice) could come up with something so incredibly asinine. Bugs, like real estate are unique. A bug in one application is not the same as a bug in another application.
What they mean is that they want a way to determine which bugs they want to get rid of, and which ones they want to keep. This means that by definition defective software is acceptable. Which means that at my employer, quality is not a primary concern.
Yes folks, MBA's think defective software is acceptable to deliver to the customer.
Is there any wonder why I call being made a manager, a demotion.......

Thursday, October 15, 2009

0rk has done it again!!!

Not only are they imposing more bureaucratic bs, and insulting every professional who works for them with "Performance Plans", but they've managed to up the level of demotivation.
Yep, I was told today by my "manager", that architecture doesn't matter.

Sunday, March 01, 2009

Thoughts on regulations and laws.

Here's an interesting article from Slashdot
Click to read. Note Slashdot is a technically oriented site, more interested in technology then politics.
So if a huge rental fee is charged, enough to leave the wireless bands to the major players in the space to rent we stand a good chance of killing innovation. While I don't subscribe to the "All innovation comes from small company" theory, with the state of things now, it's very cheap and easy to start a business and get it running on the internet. Wireless internet, and the devices like iPhone, Storm, Android and others on the way; we could be chilling new company's from getting started.
Let me give you an example: Click to read article
Did the Federal Alcohol Administration Act of 1935 mean to squash competition? No, I don't think they did. Did they mean to effectively make Budweiser the national beer of the U.S? No, I don' think so.
Nor do I think Jimmy Carter intended to allow 1,463 breweries, including 975 brewpubs to spring up across the country. I think his intention was to de-criminalize a hobby. I would tend to doubt that he even thought something like this would happen. I don't think anyone did. They just lifted the regulation, and Capitalism took over. As it always does.
I'll give you another example. There is something called The Ugly C Code Contest (okay, if you Google for that you wont find it, try The International Obfuscated C Code Contest). C is a programming language. The contest is to use and abuse the language to create the ugliest working program you possibly can. Every year, at least 1 new rule is added, because someone obeyed the rules in a new and unique way, that really shouldn't have been done. These are celebrated, although not allowed to win, as being particularly clever. However, despite the ever increasing number of rules, the contest is very freewheeling and encouraging of new ideas and strategies. It is it's view of the rules, and encouragement of innovation that keeps it going for 24+ years. Missing only 1 or 2 years in that entire time.
That's pretty much sums up how most conservatives (that I know) view business regulations. There is a fine line between killing innovation, killing the economy, and keeping people from killing the ideas and concepts that are the United States. I can look at what the financial industry put together and appreciate the cleverness of what they did. I also support eliminating derivatives, and mark-to-market accounting. Those two things alone would have at least made the crash easier. A third thing might be to give up trying to control the economy all together.
This may very well mean getting rid of the Fed. You can make a very strong argument that one of the keys to the real estate collapse was cheap money.

Saturday, December 06, 2008

A possible mis-understanding about my views on MLM

I don't hate or despise MLM in general.
I found most MLMers to be amusingly tragic. Speaking in the general:
They start a business without knowing anything about business. They know nothing about marketing, sales, accounting or management/leadership. Yet, they are doing all of those things.
They believe people who say fake it until you make it.
I find most MLMers annoying, and their companys products or services over priced or dubious.

Tuesday, November 11, 2008

Warrior Spirit and the Entrepreneur

I have the oddest thoughts while driving to work. Today was, what does the warrior spirit and being an entrepreneur have to do with each other? More then just doing battle with competitors, how does a Warrior spirit really help.
I started thinking along the lines of several of my favorite mantras:

  • Slow is smooth, smooth is fast.

  • Not dead yet, can't quit

  • If you can keep your head when all around you are losing theirs and blaming it on you, then the world is yours and all that's in it -- Rudyard Kipling


Let's take the classic time-to-panic scenario - Zombie Invasion. In the classic scene, the zombies are all around the car trying to get in, our valiant hero, ignores the first mantra, and grabs for his key, and jams it into the steering column. Note, he jams it into the steering column, not the ignition switch. Why? His movements were jerky, and therefor did not have the finesse needed to find the switch. He's panicking, he hasn't kept his head, he's forgotten number 3 as well. Some might say that he's obeying number number 2, but is he really? Our typical hero isn't trying to do anything more then stay alive, he's playing defense because he doesn't think he can win.
The Warrior however, knows mantra 1. He's keeping his cool. He knows that he could die, and he accepts his fate. The car is the best weapon he has. He hasn't quit. When he grabs for his key, it's slower then our hero, but he gets it the first time. When inserts it into the ignition switch, it's not as quickly as our hero, but he gets it there the first time. Now that the car is started, its time to go with mantra 2... he's not dead yet.. can't quit.
Works quite well in a horror movie, but what about in business? What happens to the warrior when shipments stop going out, and the bank drains his account, and the creditors are calling? Is he running around slamming phones down, answering hysterical phone calls, and screaming at the bank's customer service rep? All at once? Or does the warrior calmly, smoothly move from one crisis to the next, accepting that the business might be dead by evening, but it's not dead yet, and he can't quit?