I'm new at the field of computer programming and I chose to learn it at the University, but I have some problems with project management, usually before I write any code I start to plan it on the paper, and when I'm finished I begin to code, but I understood that usualy I write only 20-30 percent from my planning, and I change my code a lot, can somebody recommend me a good book or blog about commong pitfalls and troubles with software planning and management.
migrated from stackoverflow.com Jun 20 '11 at 14:11
It is completely normal to change your code a lot, even more since your are a rookie. Your problem is lack of programming expertise, not bad project management.
In order to produce better code take a look at common ways of solving problems, design patters:
In order to learn a methodology that makes your produce code of quality learn an agile methodology, such Behaviour Driven Development:
I would recommend Robert C. Martin's Agile Software Development, Principles, Patterns, and Practices.
Also read this page: http://en.wikipedia.org/wiki/Solid_%28object-oriented_design%29
SOLID and Agile principles are definitely what you should be focussing on now.
Also check out anything you find on Test Driven Development (TDD).
The Mythical Man-Month is a great book on project management. It's often referred to as "The Bible of Software Engineering" because, "everybody quotes it, some people read it, and a few people go by it."
Although it is really intended for the management of large scale teams, there are a lot of general principals converted in depth that projects of any scale should follow: source control, "pilot systems" (throw-away prototyping), progress tracking, etc.
Definitely worth checking out. Also, the author is a Turing Award recipient, which definitely helps his credibility.