Saturday, June 2, 2007

Industry Standard Solutions - MORE RIGOR

EVM, CMMI, RUP.



Have you looked into these things? OK they came from manufacturing, ISO 9000 (is that the right one), and all that. So you plan what you do, you check it all the time, you replan, train, test, test the tests, report, look at risks, issues, and more more more process. How many of these actually contribute to writing more code that helps the users? or are they more of CYA.



Hey, we have 4 inches of documentation. But does the system work? are the users happy? no idea but man look at our documentation!



Here is IBM's concept.



http://www.ibm.com/developerworks/websphere/library/techarticles/0306_perks/perks2.html



Note number 5, use webshpere! hmmmm.

Other's and their conclusions

So in order to see if I'm crazy, I am looking to see if people agree with me or if there are other ideas.

It's pretty amazing. These conclusions are 100% missing the boat, they didn't mention anything about methodologyn thier top 10 lists.

This one is a riot!


Look at the solutions:
Add more more time, add more resources
Threaten to litigate! NICE

And what about this Gem:

3. As Glass explains, always consider Hofstader’s Law. This law states that software development always takes longer than you think, even when you consider Hofstader’s Law.

What a cop out. It's harder than you think, even if you know it's harder than you think? OH please! Why not just say, Waaaaah!

Friday, June 1, 2007

Ever Wonder (in an Andy Rooney voice)

So? have you ever wondered why most software development projects are basically complete failures and yet people continue to work in them and clients keep paying for them and nothing really changes? Well if you do, you aren't alone.

The answer isn't what people generally want to say. Typically they want to say things like:

  • The scope keeps changing
  • The clients are stupid
  • Developers write sloppy code
  • We don't have enough testers
  • We never have enough time to write all the documentation
  • My manager is an idiot
  • We don't have good development processes
  • The client doesn't even know what they want
The truth (IMHO) is not any of those things. The truth is actually something that can be fixed. However, that doesn't mean it's simple or that people can get it done quickly.

Part of the problem is that Software Development usually involves some very smart people. Smart people have are good in many ways, and they are also bad in many ways. Some of the bad ways are:
  • They are too proud, they have pride of authorship and they want it to be done their way
  • They don't always take direction very well
  • Once they have learned things, they typically go back to them over and over, even if they really don't apply (see the Queeg Quart of Strawberries Syndrome which I will explain later)
  • Some smart people don't remember that it's not what you know but what you do with what you know - it's about acting smart, not being smart.
So in many ways, having smart people working on a Software Development Project is actually not such a great thing.

Thus it begins

After 20 years of developing software, I need a place to put my thoughts, what works, what doesn't and why. This is that place. With any luck others will join, comment, confirm or deny and eventually people will understand why most software projects are completely messed up.