First Post: An Intro, Explanation of Purpose, Etc.

I've been working on my Masters degree one class at a time for the last 4 years (working full-time doesn't leave much time for either classes or homework). In May I finally finished up all of the required coursework, so now I just have my project left; that will be the (initial?) focus of this blog, as I created it solely because of the project.  I hope that by documenting my process, design decisions, etc. here, it will serve as a head-start on the required paperwork and documentation for the finished project.

The project is called, for now, the Project Management System, and is based off of a project I completed for Advanced Software Engineering in the spring of 2011. It's a web-app using HSQLDB as the database, Java for the data access layer, Java Servlets for the application layer, and JSP/CSS/JavaScript for the presentation layer (to the latter, I intend to add JQuery and JSTL in the near future). A presentation on my project as it stood at the end of the class is available, as is the requirements/development schedule I used during the class.

The purpose of the app is to attempt to help professors manage student projects and to help students become more organized. Thus far my professor's attempts to use either my system or Trello for this purpose have failed. Trello was too open; students would create tasks that should have been comments, mark tasks as done when they weren't, etc. Students just didn't use my system much (my professor tried to use it during the fall of 2011), so a large part of my current task is to find out why and how I can fix this, if possible (many students simply don't care, and in such cases no tool will help, so there is a limit to how much I can do).

My personal goals for this project are more straightforward: I want to learn as much as I can about proper web app design and implementation within the constraints my professor has set, to make an application that is commercial-grade, using methods that are accepted as best practices in every way that I can. My professor wants to use a lightweight database and have set-up and maintenance of the system be as simple as possible. This means using something like a Spring or Hibernate would probably be too much; he may need to delve into the code himself and won't want to have to learn huge amounts of new things.

To manage the project I will be using aspects of Scrum and the Pomodoro Technique. Scrum and XP from the Trenches has given me many helpful tips on implementing Scrum, laying out the backlogs, etc. so I'll be following those methods as much as I can.

I will also be attempting to implement test driven development. This is one of those "best practices" that everyone says is really great, but that I have yet to actually be able to use in my real work. I've never yet worked somewhere that practices TDD, so I will take this opportunity to learn as much about it as I can.

So these are my goals for the coming months. At the end I hope to have learned many useful things that I can use in my career and to take this rare opportunity to do everything the Right Way as much as I can. My goal is a project that is as perfect as possible in design, functionality, and implementation on all levels. Hence the title of this blog. It should be interesting, at the very least!

Comments

Popular posts from this blog

"Does it get easier?" Yes, but Also No...

How to Land Your First Dev Job: Develop Yourself, Market Yourself

Git. The WHAT and WHY Edition.