Xinu ([info]xinu) wrote in [info]php,
@ 2004-04-06 23:04:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Current mood: blank
Current music:"After the Storm" by Norman Brown

Development Lifecycle
What's your development style? When you sit down to write a web-based CRUD (create, retrieve, update, delete) system, for example. Do you write use cases? Do you analyze the data? Do you lay out your database tables & relationships? Do you grill the client for the business rules?




(Post a new comment)


[info]atlaz
2004-04-06 11:13 pm UTC (link)
Gather requirements (both for any front end AND for business rules etc)
Use cases
Model data
Create functional design - high level system view
Create technical design - detailled developer "instructions"
Create UML for class structure
Code unit tests
Begin coding

Although this is frequently split amongst several teams due to the size of the projects concerned. It's also over simplified... the actual how to docs are over 20 pages long.

(Reply to this) (Thread)


[info]sitharus
2004-04-07 03:53 am UTC (link)
Pretty much the same for me. It's great to have a plan, then everything falls in to place.

How did you learn UML? Any good books? I'm not that great at it...

(Reply to this) (Parent)(Thread)


[info]atlaz
2004-04-07 04:21 am UTC (link)
I learned UML during my degree and have picked up extra bits from colleagues, articles and associated training since then.

(Reply to this) (Parent)(Thread)

degree
[info]xinu
2004-04-07 03:46 pm UTC (link)
There's that degree thing again. It definitely has that "I learned this whilest in the halls of academia, so you may not have it" air to it, doesn't it?

If I had only been adopoted by someone with more money. /sigh

(Reply to this) (Parent)

UML
[info]xinu
2004-04-07 03:47 pm UTC (link)
I haven't found any real use for UML aside from drawing pretty pictures to take to meetings. I read a few books on writing use cases are more of a prose essay - one that I thought was particulary good was the following:

http://www.amazon.com/exec/obidos/tg/detail/-/0201702258/qid=1081378032/sr=8-1/ref=pd_ka_1/104-9488335-8421563?v=glance&s=books&n=507846

(Reply to this) (Parent)


[info]devolve_absolve
2004-04-07 01:17 am UTC (link)
OK, I may be an amateur at all this, but I usually sit down with a big book and proceed to write out what I want, all the variables involved, basic code block description, database tables and relationships, then I hit the PC, and go apeshit on testing before plugging everything together.

Cumbersome, but I'm too damn eager for my own good sometimes :D

(Reply to this)


[info]bigatuin
2004-04-07 04:53 am UTC (link)
to be honest...

I start creating the database(-tables), adding all columns that seem to be needed or of any help (just in case), than I start coding, later I get frustrated, everything ends up in a big mess, that is when the chocolate comes in, and several burgers, then I go to bed, wake up at around 3.30am have a great idea how it all can be done much simpler, more effektive, stylish, freaky or just "great", so I make notes, start coding again, simoultaniously creating a new database and suddenly I'm finished.

Well, it may be not the right way, it may be even the wrong way, but it works fine for me.

(Reply to this) (Thread)

iterations
[info]cmorrigu
2004-04-07 05:37 am UTC (link)
That's more my style, as well.

I tend to get something quick and dirty up and running, then set about improving it. At some point, it becomes clear that starting over would be a good idea. And then, of coure, once that complete rewrite is done there's always room for more features and tweaks and additions as they become visible.

At work, however, it's completely opposite. There are so many documents and people and processes and timelines and such involved that it's impossible to get anything done.

(Reply to this) (Parent)(Thread)

Re: iterations
[info]soverywrong
2004-04-07 05:53 am UTC (link)
Yep...
I tend to use a loose 'prototyping' approach also. Typically because the project needed to be done the day before they asked for it. For most people I've worked for having *something* now and a completed application in a couple months is worlds better than having a resellable product stuck in meetings for a year. Even though the latter would likely produce a much better application, it doesn't really seem to matter much.

(Reply to this) (Parent)(Thread)

Re: iterations
[info]cmorrigu
2004-04-08 08:16 am UTC (link)
I'd argue that anything stuck in meetings for a year is vastly inferior to something that works now. The 'customer' will always find that, once they actually start using something, what they thought would work didn't. Therefore, having something up and running NOW to get those issues out of the way is better than talking endlessly about something which does not exist.

(Reply to this) (Parent)(Thread)

Re: iterations
[info]soverywrong
2004-04-08 04:14 pm UTC (link)
I agree with you completely. I was, poorly, trying to convey that the 'proper' method of design (as modeled in academia) is rarely if ever employed effectively in business. Typically, in my mind, because there is rarely the utopian situation that would support it. In this vein, I think that many planned projects spend too much time in the design phase (excessive meetings), causing a giant crunch in development as the majority of time and budget have been gobbled up.

Then again, I may just be bitter (*cough* fuck marketing *cough*)

(Reply to this) (Parent)(Thread)

Re: iterations
[info]cmorrigu
2004-04-09 11:27 am UTC (link)
And therein lies the problem with theory v. reality.

There's a whole host of issues which are, I believe, beyond the scope of this thread.

It's a vicious cycle out here in reality. Especially if you're at the end of the line, and nothing ever gets to you (if at all, let alone working) on time.

(Reply to this) (Parent)


[info]fosterbass
2004-04-07 06:08 am UTC (link)
To be honest, I usually use PHP when I don't want to bothered with all that. I'm a java developer during the day, and I spent more time analyzing and writing requirements than I do coding.

For my PHP projects (mostly small database driven websites), I generally create the database first, based on a verbal discussion and my opinion of the needs, then I build the pages cold, modeled after the database structures.

I save the UML, DAO layers, and documentation for the day job (unless of course a client requests it, but generally, they haven't).

I learned a lot of it on the job when I started using java, but I've also taken some graduate classes at Cappella, so I learned more there.

(Reply to this) (Thread)

business analyst
[info]xinu
2004-04-07 03:43 pm UTC (link)
"I'm a java developer during the day, and I spent more time analyzing and writing requirements than I do coding."

I've often wondered if I missed my calling with that stuff. I love analyzing the whole to come up with the components. Maybe I'm just stuck in the 80s with the whole functional decomposition thing.

(Reply to this) (Parent)


[info]sourpatchkid
2004-04-07 09:31 am UTC (link)
i install php nuke

l0l!!!!1111

im joking dont worry

(Reply to this) (Thread)

nuke
[info]xinu
2004-04-07 03:42 pm UTC (link)
Haha, actually - I have a client who needs me to write them a few php nuke modules. It doesn't look like brain surgery at least, and the database abstraction and authentication frameworks are built-in. I just ask "are you an admin, a registered user, or an unregistered user?" at the beginning and go from there.

(Reply to this) (Parent)


[info]zenmondo
2004-04-07 03:38 pm UTC (link)
I either flow chart roughly, or pseudocode. Then I draw with a sharpie marker on plain white paper my interface. I get it in my head how the thing goes together, and I take a deep breath and start typing.

I kind of get in a coding zone where logic dances in my mind, and my fingers try to keep up.

Lots of times when I get to something I don't know how to do, I go and write a small program with just that function to play around with, and when I get to where I think it is good enough for my project, I plug it in.

Ofcourse I just code for hobby-sake these days, and not doing it for pay. Back in the day, I was quite a bit more structured in my planning and implementation. Glad that didn't last. Coding by inspiration is much more fun.

(Reply to this) (Thread)

coding segments
[info]xinu
2004-04-07 03:41 pm UTC (link)
"Lots of times when I get to something I don't know how to do, I go and write a small program with just that function to play around with, and when I get to where I think it is good enough for my project, I plug it in."

There's a lot to be said for the component testing like that. That's exactly how I get the pieces working before I assemble them.

(Reply to this) (Parent)


Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…