Wednesday, September 17, 2008

Software Project Management

Just recently, I've started a course on software development. What?!? You might be thinking, how can a University level course teach something that can't be found in a book? The answer to that question is, we're not using books! The approach this class is instead to force a bunch of awkward, stinky CS majors together in a room and lock us up until we churn out a enterprise level piece of software.

Now I know that hardly sounds any better than reading from a book, and I'm sure it has the makings for a sci-fi horror movie, but it's actually not as bad as it seems. There are 6 of us who are truly dedicated to learning to work together, self-organize, design, document, code, and debug a large piece of software. I think we have great potential!

So far, the class and the meetings have been more like a comedy. We've done everything from pulling hysterical all-nighters, singing the cake song from Portal into the night, to coding to intense Trance music with awesome visualizations up on the big screens of the computer lab where we temporarily reside this semester.

Alright, now for the meat of the post, this is what I've actually learned in this short time...
  1. Incremental Iterative approach
  2. Avoiding waterfall design
  3. Use Cases
  4. Domain Modeling
  5. System Sequence Diagrams
  6. Operational Contracts
These themes have helped us so far guide our search for specific project requirements, and hopefully they will help us cut our time in half when it comes to actually trying to code our system. If you are looking into learning about project development, look some of these terms up, it will be very worth your while!

- Nick

No comments: