Mythical Man Month
by Frederick P. Brooks
Somehow I didn't realize we had three readings last week so I am doing this one first before i do the next three chapters. Software engineering has really become a tar pit. It doesn't matter how big a company you are, you are still susceptible. Any program can be made better with more time and money, but that isn't necessarily efficient. Most programmers enjoy what they do because of the creative freedom they are given. This doesn't mean however that there are times when programmers get really frustrated. Usually it is when one tiny thing is wrong and you can't figure it out to save your life. Most programmers are optimists and not for the reason you would think. Are creative material is all in are head not much unlike an artist. Things that seem easy in our head are not actually as easy as we thought when we actually start to create it "physically". This is usually one of the reasons programmers are notorious for extremely inaccurate estimates. Mangers favor a small surgical team of extremely capable programmers to create all of their software. However, this is really impossible to do for a large scale program. You really do need a large amount of programmers in order for you to finish it sometime this century. People have proposed new designs in order to tackle this problem but nothing extremely solid has taken off yet.
I always find it interesting on how people try to distill software development into something less complicated. Usually they don't succeed or it doesn't actually make sense in reality. Why do we need to try and make it less complicated than it is? I think that effective software engineering must be solved on a case by case basis. There are so many different factors from one project to another that it is almost impossible to have a similar development process. So instead of trying to make a development process we can follow, why don't we focus on things that good software developers do in common. I think this would be more beneficial in the long run than trying to dumb down software development.

No comments:
Post a Comment