Hacker News new | ask | show | jobs
by ubudesign 6640 days ago
one of the worst things about large projects is the number of developers/teams. if you have too many people, things go wrong and if you don't have enough, projects fall behind. so there is a art to this to create that balance.

Also as a developer, I would apply some programming principles to project management. for example design-by-contract where you create interfaces that define interaction with a group of classes, etc. So you divide groups/people by function, ie UI, back-end, integration, etc. then each group would define what they need from the other groups and what they would be able to produce. you can then develop some process based on those requirements. I think the person doing integration with have the most input into this. he/she has to deal with static pages and at the same time with server side code. so its really an interface himself

Another thing I don't like about large groups is QA. I would not have them at all. perhaps one person that would give demo of the on going project to the clients. if he can give the demo without running to problem and the clients are happy with what they see then you have a QA.

one other note, create a sub group of a select few that really understand and have a good vision of the results. they should meet and review/audit everything and catch design errors before it becomes too late.

and finally don't manage things employees in a company. think in terms of a research project in a univercity. with lead developers as staff and everyone else as students. you can use you imagination as to how this would effect every aspect of your project.

PS: I've also worked on ATG in the past but now I'm working on tomcat and other open source.

1 comments

Thanks for your insight. We'd probably have one team per project, with hopefully the right number of people on each team, staffed based on the LOEs we build during the architecture design phase. Dev team size would probably be 3-6, plus creative, mgmt, qa, etc...

I like the idea of the research project paradigm, as long as we remember the stricter timelines and higher consequences of failure:)

I have to disagree with the QA thing though. It's important to test every flow, in every major browser, on every major OS. It's also important to see what happens when you leave this field blank and submit the form, or put in bad data here, or use the back button and try to do something again. When you're delivering a multi-million dollar project, it can't go out the door and break on IE6 or Firefox, or break whenever someone enters a zip code that doesn't exist.

PS: there are TONS of really really high buck ATG contracts available all over the US right now. If you're interested I know a ton of companies who are dying to find an experienced ATG dev (back end or front end), so feel free to email me.

Thanks but I quit my last job few months ago so that I could work full time on my own project.

on the QA I guess what I was trying to get to was to not let your developers rely too much on QA team to catch the errors.