Monday, April 4, 2011

Book reading #20: The Mythical Man-Month

The Mythical Man-Month
Dr. Brooks
Addison Wesley Longman Inc.


Chapters 10-12:


In these chapters we find out about some of the more design aspects of computer science, namely the thinsg that happen before youe ver wrire andy code. Specifically it talks about items such as system design documents, system specs, how you should be willing to throw stuff away and the tools you can use to make these better. The first chapter talks about the hypothesis that comes with designing documents and the various features that they have. Specifically its talks about different kinds of documents for different products. Clearly based on what you are designing you need different kinds of specifications based on computer size, data, budget and other factors once we have considered all of these things can we decide what specs we need for the system and iron all the details out. One of the most important thing to remember is that the reason we do documents in the first place is to make sure that everyone is on the same page and that there is no excuse for what work is to be done. It gives everyone a way to make sure that everything is done and documented. The next chapter talks about one of the most useful tools in document design and that is the idea of being willing to throw one away. The author wants to make sure you remember that the only thing in the world that is consistent is inconsistency and you need to be ready to do things different than planned. This simply drives home the idea of make two and be willing to throw one away, or if you can't be willing to throw away your first one.The problem with this is that even if you adjust and make a really good document you sometimes each time you fix a bug you are simply taking two steps forward and one step back as fixing one bug could cause new ones to surface. There will never be a perfect document but there will be a program that will be acceptable for the average user and the best you can do is keep the documentation and try to improve on it. Chapter 12 talks about sharp tools and the things we can do to make documents better. One of these is making sure you have a target, and making sure that everything you do towards the project is in line with that goal. They then go into some good discussion on high level language and how interactive programming can make this process better and smoother. The worst thing that can happen is when someone goes off and sits in their cube and codes without any interaction, the product may work but it will not be the best it can.

These chapters were actually really helpful the different ideas that were presented in this chapter were actually really helpful and they are things I can see myself having to look at in a few months with a job coming up. Documents can be very important and the time spent into them is all to keep people on track. IF you want to get code written in any reaonable amoutn of time you need to have your group organized and make sure everyone is working on something different and that two people aren;t working on the same thing. IT also helps if you do have a plan that is quire felxable and that is probably my favoire thing about these chapters is the idea of being willing to throw one away. I think that this is important because it goes beyond just coding documents it also speaks to papers in school, memos, emails and a lot of other things that need to be written and need to be flexible in case things don't work out. We have all also heard of the cs joke the last bug and this chapter basically says that is indeed true. You even might try to fix a bug and make two more so it is a vicious cycle if not done correctly. I didn't quite get the chapter about tools and really think it needed more substance and more practical examples of these tools. I think the author did a good job of describing them but it didn't really get what they were supposed to do. I think that these chapters were rather informative and that some of the examples were really good but they were sparse in places. The most interesting thing about these is that the more chapters I read the better I am starting to understand where the book is going. The lessons are really starting to make sense and the material is very relevant to me.

No comments:

Post a Comment