Hey devs!
I'm taking a software engineering class and I was wondering how you organize the development of Glitch, how you split up the work, what phases you go through, etc.
I'm quite curious and I'd be very grateful for any details!
There is a developmental timeline on the blog entitled Historical Timeline. Unfortunately not every entry is as detailed as the one we got last night but it is still very informative.
Divine, there are a specific set of phases a tech project goes through. I think Quintus is looking for the more generalized lifecycle categories like Research, Requirements, Planning, Documentation, Deployment, Implementation, and Maintenance.
Quintus, personally I think the office is small enough the workload is somewhat scattered with experts in several areas having a big toolbox to pull from. What they don't teach you in school... much of that stuff is sorted out by bean counters. They're really the ones who care where the work/expense sits in a certain bucket, because certain phases have different tax treatments and depreciation rules.
Yeah there are about a dozen others companies use. Last one I worked for lumped development and coding into Documentation. There's a little latitude for some spots going into different buckets depending on the SOP of the company and local laws.
Quintus, we do not follow any predefined methodology, nor do we really have a formal internally defined system for development. We're really loosey goosey :)
In practice it goes something like this...
1) Define feature
2) Design Feature
3) Code
4) Test
... where any step can be repeated any number of times at any point in the process, and all members of the team, no matter what their title, are encouraged to participate in every step.
A lot of the team has been working together for many years, and this by-the-seat-of-your-pants system works well for us. New team members find themselves in a sink or swim situation, but we've had great success in finding people who are able to quickly adapt and contribute.