Search This Blog

Wednesday, April 20, 2011

Software Engineering Practicum, Semester-in-Review

This will be the last post included in the pdf archive of this blog.  Thus, a brief review of the semester follows.

I thought the Teaching Open Source book was quite useful.  Although we'd already covered some, if not all, of the content it presents in other classes, it still provided useful information and good practice.

Our first-choice project, Gnome Empathy, turned out to be too difficult to actually work with.  We learned some valuable lessons from it: don't assume that an old, well-established project will be easy to contribute to; be willing to change your initial assumptions; don't hesitate to reach out to the community-at-large for some help.

Our second-choice project, OpenKinect, was much newer (~4 months old) when we switched to it.  This meant that there were no simple, quick-fix bugs available for us to work our way into the project.  We dove into the deep end and started learning what we needed in order to be able to contribute something by the end of the semester.  We learned enough to have contributed both code and documentation (both in code and higher-level on the wiki). 

The project as a whole would benefit greatly from a 362/462 group devoted to developing a fundamental structure and test suite.  We've developed a more useful separation of concerns model that we can provide to the project, but perhaps not before the end of the semester.

The class as a whole was definitely worthwhile.  It certainly emphasizes the need for implementing software engineering practices in all aspects of software development.  Without some kind of plan in advance, projects quickly devolve into disparate code pieces smashed together inelegantly.  The result might work, but it also might not.  A plan may change, but the end result is always predicted and expected.

No comments:

Post a Comment