Jump to content

  • Log In with Google      Sign In   
  • Create Account

Organisation/Planning Projects...


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
3 replies to this topic

#1 pinebanana   Members   -  Reputation: 475

Like
0Likes
Like

Posted 28 October 2012 - 05:28 AM

Greetings, I am currently unsure of how to do particular things that relate to organising/planning my software projects. It seems that whenever I plan out to write software, I always get distracted by little things that occur around me, mainly the internet, such as YouTube, Facebook and so on. I feel that I am not prepared enough to tackle my programming projects that I wish to implement, my ideas just keep stacking, I feel a bit overwhelmed with all the things that I wish to do. I'm not a noob to programming, I have been programming for quite some time now, but I really feel like I'm going no where. I feel as if I was more organised/planned and concentrated on my project I would be doing something effective. I don't really wish to pay for any software that will help me organise a project; I'm cheap.

My question is simple, how can I properly organise and manage my programming projects? I have tried using UML, but frankly there is not a good range of free UML programs that are fast to work with, should I even bother with UML and if so, which UML application should I use?

Are there any free applications to "visually" see what a program's GUI (or content, for a game or something) will look like, so I know what I'm actually aiming to do.

Perhaps I'm being a little to abstract. What I really want to know is... how do people, as in people in software development teams (profesional ones) plan out their projects? What steps of organisation do they take? How do they manage their time? Etc.

For example, do they first organise their project by writing out what they wish the program to achieve and who they wish to aim their program to? If so, do they write this in a simple text file, or by hand, or... something else? Do they graphically see their progress as they are achieving their goals, as in graphs or a big TODO list made in Excel or something along those lines?

Any details such as links or a good explanation on how this is done would be really appreciated. I'm not the most organised person, but I really want to become one. I believe it will really help me, compared to just blindly coding and then realising that I could've designed it better and having to rewrite thousands of lines of code over again... Or just sitting there thinking what should I be doing right now

Thanks.


P.S.
I am sorry if there is already a thread about this, I did do a search and I didn't find any results.

Edited by pinebanana, 28 October 2012 - 05:29 AM.

anax - An open source C++ entity system


Sponsor:

#2 Narf the Mouse   Members   -  Reputation: 318

Like
0Likes
Like

Posted 28 October 2012 - 02:34 PM

I'd also be interested in this.

#3 turch   Members   -  Reputation: 590

Like
3Likes
Like

Posted 29 October 2012 - 06:52 AM

For UI design specifically, Balsamiq Mockups is very good. It is $79 though, but I am mentioning it for completeness (I am unaffiliated with the company).

For project organization in general, there are several methodologies, and they vary in usefulness depending on what you are doing. When I worked on internal business applications, often the "design" process was 1) try to get the PHB to actually tell me concretely what they want, 2) spend 2 hours programming it , 3) spend 2 weeks modifying it little by little as they change their mind on what they want. For writing something like a tax application, you can know ahead of time the exact requirements and can design the entire thing before programming a single line of code (waterfall model).

For most projects, some form of agile development is usually helpful. Using issue tracking tools (whiteboards and notebooks are plenty good enough if you don't need to collaborate) you map out high level things ("display start menu", "load level", "draw frame", "check for collisions") and then refine and add more concrete goals ("create a vector class", then, later you realize you need to "add normalize function to vector class"). The ideal issue tracking tool you use will let you quickly and easily add a new issues - you don't want it to be a chore as you will be adding issues as you think of them while coding. I recommend you do some reading on agile development, but keep in mind that a lot of people tend to make it way to rigid and jargony (daily scrumm). Ignore that, and focus on the core message - keep your design agile and flexible.

There are a lot of little things that you pick up here and there, like this blog post on time tracking (Joel Spolsky has many articles on design and related topics so I recommend you look through the archives).

Edited by turch, 29 October 2012 - 07:05 AM.


#4 pinebanana   Members   -  Reputation: 475

Like
0Likes
Like

Posted 31 October 2012 - 12:16 AM

Thank you turch :)

anax - An open source C++ entity system





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS