Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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.

share|improve this question

migrated from stackoverflow.com Jun 20 '11 at 14:11

This question came from our site for professional and enthusiast programmers.

2  
this isn't project management - it's software design! –  BonyT Jun 20 '11 at 12:12
    
@BonyT As bad as most of us hate it, project management often can't be avoided in software construction. –  Brandon Moretz Jun 20 '11 at 12:19
    
those subjects are closely related, am I wrong? –  macindows Jun 20 '11 at 12:22
5  
Project Management is about the end to end process: Planning, Designing, Building, Testing, Deploying. It involves identifying risks, time management, tracking progress. Your question indicates you are struggling with how to design software to meet requirements - what amount of detail to put into initial designs so you don't have to constantly change it etc. Obviously with poor software design comes poor time estimates which affects Project Management so to that extent they are related yes. –  BonyT Jun 20 '11 at 12:28
    
thanks now I see the difference –  macindows Jun 20 '11 at 12:38

3 Answers 3

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.

share|improve this answer
1  
You mean 'Turing' award not 'Turning':) –  Nerian Jun 20 '11 at 13:43
1  
@Nerian In my defense I posted this around ~8am before my first cup of coffee. Thanks for pointing it out though. :) –  Brandon Moretz Jun 20 '11 at 13:48

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:

http://sourcemaking.com/design_patterns

In order to learn a methodology that makes your produce code of quality learn an agile methodology, such Behaviour Driven Development:

http://pragprog.com/titles/achbd/the-rspec-book

share|improve this answer

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).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.