Page 1 of 2
Software project planning
Posted: Wed May 17, 2006 11:52 pm
by alex.barylski
What software(s) do you use when planning software...
UML, Flowcharts, etc...???
What process(es) do you use...do you start by performing rudimentry object discovery and fine tune as you go?
Do you use UML to define DB schemas, etc???
Cheers

Posted: Thu May 18, 2006 12:58 am
by RobertGonzalez
Deverlopers actually plan software development? Sounds interesting.
Really though, I usually see something in which there is a need for something better. Then I start banging the keys. A lot of my personal projects have started out this way. In fact, I have only once put anything down on paper to visualize the desired effect of the app, and I ended up spending so much time on the plan that I never got around to developing the app. The plan is still sitting pretty in a folder on my bookcase and my app is still sitting in neverland waiting to be birthed.
Posted: Thu May 18, 2006 2:44 am
by someberry
UML - since it's a standard and actually used in industry, or so my lecturers tell me

Posted: Thu May 18, 2006 3:36 am
by Maugrim_The_Reaper
Deverlopers actually plan software development? Sounds interesting.
lol
What process(es) do you use...do you start by performing rudimentry object discovery and fine tune as you go?
I find it's very difficult to do anything without knowing beforehand what processes are going to be required. Once I have them written up, it's far easier to get a rough idea of the database schema, the UI, and the backend requirements (libs, classes, other resources). Once the schema is at least partially settled it's a downhill run towards normalising it a little and composing a Model. At this stage I'll have a lot of planning notes, braindumps, and specs. I can then sit down and start coding, revising the plan if necessary (always is) but never pushing too far ahead on any area that needs sharper plans.
I could note I typically spend far less time coding than planning. I'm a big believer that in-depth planning removes a lot of annoyances further along the curve, like time consuming maintenance, extending and debugging which could have been avoided. Jumping right in can work for some people, but on the whole I think it's very costly unless you are extremely well disciplined.
Something I do on occassion is do a very quick mock-up of the application to test ideas - this needn't take long, it's a quick hacked together app never taking more than a few days - usually in the worst practice possible since it will be discarded. It can often drag up a lot of problems and issues you never thought of. That may sound like wasted effort - but prototyping I see as more a way to test the processes not the code. Better to gain insights early then spending real coding time backtracking a few days work when a process you thought you understood turns out to be difficult to implement. They just might simplify the problem and give you a chance to find a solution before spending too much effort on the wrong track in the real app.
Posted: Thu May 18, 2006 10:10 am
by RobertGonzalez
Very good points. I think it is essential to have a plan in place for the development cycle. I just have a really hard time staying focused when I spend any great amount of time on the planning document. I will sometimes throw together a quick hand-drawn database table relationship map, but very rarely will I ever go so far as to create a mocked up workflow or application diagram.
Maybe it's just me <shrugs>. Who knows? But I will say I agree with Maugrim when it comes to planning. I have porked many a good project out of sheer frustration by hitting wall after wall of issues that, had I actually thought about the use of the app beforehand, might have been able to countermeasure beforehand.
Posted: Thu May 18, 2006 12:23 pm
by savant
my planning usually starts while riding the bus, washing dishes.., just before i go to sleep and i end up just thinking and not actually sleeping
start off like. ok i'll have a form there. what structure table should it have. hmm maybe i'll let the user enter thie details, but what if they forget to. need some validation......
and then when i have time i make a list of stuff i'd like to have.
and then down to the code.
haven't gone into uml stuff. for little personal projects doesn't it take a bit too long.
a simple brain map will do, but with little bubble i don't have much room so i prefer lists.
thats just me
Posted: Thu May 18, 2006 8:04 pm
by alvinphp
Mainly UML. I create use cases, static class diagrams, database ERDs, actor-role diagrams, work/process flows, and even simple mockups if needed. After a while it takes no time to whip these things up and the benefit (at least for me) is huge. It forces me to understand the entire application before coding starts and from it I can see if there is too much work in which case the project will be broken into phases.
Re: Software project planning
Posted: Thu Nov 27, 2008 2:34 am
by papa
I'm interested in this topic as well.
I've been thinking about doing a mp3 file editor to rename files, change id3 tags etc. This time I would like to plan my project more then I usually do and am wondering if you use any software or just write things down on a piece of paper?
It's not a very big project but good practice for future world dominating projects.
Re: Software project planning
Posted: Thu Nov 27, 2008 2:48 am
by onion2k
I use Q10. Before you all leap to download this amazing tool though ... it's just a text editor. But it's full screen so there's no distractions. I do all the planning in my head and write a spec in plain text as I go.
I have started using MySQL Workbench as well for database planning too though. It's really good.
Re: Software project planning
Posted: Sun Nov 30, 2008 6:55 pm
by alex.barylski
Holy...I seen this topic and was like...whaaaa I don't remember posting this...then I looked at the date.

Re: Software project planning
Posted: Mon Dec 01, 2008 3:02 am
by papa
PCSpectra wrote:Holy...I seen this topic and was like...whaaaa I don't remember posting this...then I looked at the date.


Re: Software project planning
Posted: Mon Dec 01, 2008 2:27 pm
by Cirdan
I've only developed one or two fully or mostly functional programs, and I never did in-depth planning. I drew stuff out on paper because I'm a visual guy, but mostly just sat and wrote code to complete the needed features. I'm working on a big somewhat complex project so I have two documents: a Design Document and a Technical Design Document.
The Design Document outlines the functionality without any technical details. This document is aimed more as a simple reference for the goals and purpose of the project. It also serves as a good description of the project for investors etc.
The Technical Design Document outlines specific technical information such as the design of the software, the different layers, how the parts are connected, the tools that will be used for developing the project etc. This document is a guide/reference for the developers of the project.
Re: Software project planning
Posted: Mon Dec 01, 2008 4:50 pm
by VladSun
//off topic
papa wrote:I'm interested in this topic as well.
I've been thinking about doing a mp3 file editor to rename files, change id3 tags etc. This time I would like to plan my project more then I usually do and am wondering if you use any software or just write things down on a piece of paper?
It's not a very big project but good practice for future world dominating projects.
Code: Select all
mount -t 9p 127.0.0.1 /mnt/mp3 -o port=1234
http://www.linux-bg.org/forum/index.php?topic=21865.10
Just look at the C code - it's a MP3 file system, just like you use ext2/3, ReiserFS, etc.

Re: Software project planning
Posted: Mon Dec 01, 2008 8:18 pm
by alex.barylski
Haha...VladSun...even addresses high level application requirements with existing Linux tools...
There should be an award for the Craziest Linux guru...my vote 'VladSun'
Honestly dude, you've helped me with so many Linux issues...I feel as though I should be paying you...

What...huh...off topic...get back on topic...
Yes application design documents...need more that say less...thats the key to planning success.
I'm a poet and didn't even know it

Re: Software project planning
Posted: Tue Dec 02, 2008 12:33 am
by Cirdan
Something I just remembered:
"Failure to plan is planning to fail"