Showing posts with label CSI Senior Project. Show all posts
Showing posts with label CSI Senior Project. Show all posts

Friday, December 4, 2009

Senior Project - End

It's been a while since an update. Everything went so fast that it became hard to keep track of it all. In the end, we did deliver a release of the project that was feature complete. There were no bugs with the system. However, there were a few "gold" features we had wanted to add, but didn't have the time to.

Looking back on the project, I really don't know what to say. I am unsure how things could have gone better, because of the problems up front. I know that, one of our biggest weaknesses this quarter was the feeling that nothing we did mattered. This was only reinforced by the reintroduction of our previous client at one point, who made it sound as if he would be the deciding man for whether the project was actually used or not. Because of this and our lost momentum from between the quarters, there is little I can say about what else could have been better.

Overall, the team was a great team to work with. I enjoyed the experience, and am now doing masters work in game design and development. I wish my colleagues good luck and farewell. I hope their current job pursuits do well for them.

Tuesday, October 20, 2009

Senior Project - Fall - Week 6

So, this week we presented our current project to our sponsor. After working diligently over the weekend and before the meeting, we were able to present a "feature complete" version of the project, which we were praised for. Personally, I am surprised we were able to pull it together so fast. It really is nice to see it working well.

For the next two weeks, we're working on testing and evaluating the system. This includes having the latter half of a class from our adviser. The students will test the application and find any bugs we may have missed in design and development thus far. Likewise, we'll be adding new levels of polish to the site, including better graphics, better updates and viewing mechanisms, etc.

Lastly, I will be adding to the admin interface, giving it a statistical viewing portion which will allow for the user to view statistics on events for the site. This feature has been in development for a while, as editing and dealing with the Django admin interface has been much more difficult than I have imagined.

During week 8, we will deliver and deploy the site to them on whatever server they wish. They can then link to it and move the site to wherever they wish.

Thursday, October 8, 2009

Senior Project - Fall - Week 5

So, this week we are doing a mini-sprint to finish up the content and functionality of the project. At the end of this week we should be feature complete.

We had an extra meeting with our adviser this week. She picked up on the fact that momentum has nearly slowed to a halt and that integration has not be occurring as it should be. The reason for this, of course, is because we are delivering our product next week in a feature complete state.

Right now, the majority of the work left relies on the front end of the project displaying everything that is vital to the system. This includes people on projects, names, roles, skills needed for projects, the feeds on the project pages, entering new feed information, etc.

I am planning on making all the visibility changes needed to expose functionality and the like for the project. I am hoping to not have to pull a hero move this weekend. We'll see how this goes.

Friday, October 2, 2009

Senior Project - Fall - Week 4

So, for this week, we ended the first sprint on our project on Monday. From what I've fathered, every one of the use cases seems to be done (although, everyone checking in code would be nice). Aside, we have begun divvying up the next set of use cases, of which we'll be near finished within the next week or so.

To be honest and frank, it has been difficult to keep the team on track and keep up decent momentum. Everyone's return to a normal class schedule, on top of senioritis and it being the last quarter for most has made that near impossible. I include myself in that somewhat, as last week alone I spent nearly 30 hours on papers, presentations, and classwork for my game design courses.

So, we're slowly trudging along. Hopefully everything will be finished by week 6, leaving the rest of it to be toyed with and slightly expanded on for the rest of the quarter.

Thursday, September 24, 2009

Senior Project - Fall - Week 3

This week has been, for lack of better words, slow. This is mainly due to everyone getting finally adjusted to their class schedules, and what I feared could be a serious issue: Last Quarter Apathy. While we have made some substantial headway with the project and the current requirements set, the issue arises that, unfortunately, most of the team members have the attitude that as long as we pass this class, then it doesn't really matter what we deliver. This is, of course, a huge problem, in that as professionals, we should work hard to always deliver a quality product, or at least design such a product and lay down the basis for it to be used, maintained, and continued by others. With that being the case, it is looking to become harder and harder to maintain momentum and speed for the project.

So far, the tasks which are targeted to be implemented, with current statuses, are:
  1. Full text search of project entries in the database (Myself, Code Complete).
  2. Project and Main Page Status Feeds [Probably RSS] (Ben, In Progress).
  3. Revamping of Project Models to Suit New Requirements (Matt, In Progress).
  4. UI for Main Page, Project Pages, Editting Pages, Login, etc (Adim, Ben, Dylan, In Progress).
Aside, we also have tons of documentation that needs to be accomplished. Because of this, I am also working on that end as well, tracking feature completion, task completion, documenting the system, etc. In short, this is what is targeted for the sprint that ends this week, which is not much, and should be done fairly shortly. If not, this could pose to be a serious problem, as from the end of this week, we only have 4 more viable weeks of development that we can do.

Wednesday, September 16, 2009

Senior Project - Fall - Week 2

For this week, we had an extremely short meeting with our clients about the project, presenting them with our current use cases and breakdowns of how they tied in with certain feature elements. This led to some basic discussion that, after a whole of around 16 minutes, we were able to wrap up the meeting.

With our use cases now solidly reflecting the current system we are building, we have broken them down and distributed them for two SCRUM sprints between now and when we will next meet with our clients. The total number of use cases, for now, is at 10 while the number of features is around 20-ish. With most of the features already in some state of near completeness based on our previous specification, we should be able to be feature complete by the end of Week 5 of this quarter.

Friday, September 11, 2009

Senior Project - Fall - Week 1

So, this week, we hit the ground running with a meeting on Monday with the Director for the Center for Student Innovation and our client. During this meeting, we went ahead and laid out the ideas and concepts for approaching the project this quarter, knowing fully well that with the shape the project was left in last quarter and the break that took place between the two quarters of work, that all previous momentum had been lost.

For this quarter, we are trying to accomplish the project now under the constraint of only 7 more weeks of development time (really only 6 weeks seeing as this first week is trying to get back up to speed).

The discussion this week was fruitful, as we were all able to agree and propose a product that could be useful and rewarding for us as developers and for the Center for Student Innovation and our clients. For this, we are scaling away the non-useful requirements of the project, reducing it from a social network with heavy emphasis on project management to a project discovery and aiding site with extremely loose social networking, not built in. This should give us a rich enough feature set to do the job for the clients, as well as give us something focused enough to actually complete the project fairly well and on time.

Along with this, we have come up with a list of the most basic use cases and users that take place within the system. These are going to be delivered to our clients as soon as I hear back the feedback from the team (I compiled them and made diagrams for them appropriately).

Thursday, August 6, 2009

Senior Project Week 10

So, this week we concluded the first quarter of our senior project. The project itself has been a constant uphill battle, with no clear direction or end in site as to what the goals of the project are. However, we have finally gotten a solid response as to what our client really wants, which to our dismay, does not require our programming or software engineering abilities. Hence, there is some confusion in the air about the next direction to take the project in. However, the reflection meeting should give us some feedback on that.

On Tuesday, we conducted our end of the quarter interim presentation to the faculty and our peers. Overall, the presentation went fairly well. We were called on a few things, but were able to defend our reasoning and decisions very well. We also gained some very nice feedback, while being able to relate to several of the faculty members and other teams of peers.

Wednesday, we met to finalize documentation of the project for self-assessment and reflection, prior to the actual reflection meeting. This went well as well. Aside to this fact, one of my teammates and I met with our client 1 on 1. I acted solely as a note taker, to allow for the meeting to progress without multiple sources of input, feedback, and re-direction. This meeting has had some serious implications as to the direction of the project, which leaves us waiting to speak with our adviser and department chair on the matter.

So, as a final statistic, here are some interesting values that have come out of this project:

Maximum Requirements Churn for Quarter: Week 3 - 19 (17 new, 2 modified requirements)
Average Requirements Churn per Week: 8.89 / Week (5.22 new features / week, 3.33 feature modifications / week, 0.33 deletions / week).
Total Hours Worked for Team (as a part time project with other classes): 510 estimated, 634 actually worked

I hope this gives some people the scale on which the project has been measured and the kind of effort that was needed to keep up with requirements changes, and how this affected the effort put in to the project.

Sunday, August 2, 2009

Senior Project Week 9

So, this week we worked on getting together the majority of our Software Engineering documents and metrics for the presentation this upcoming week. Along with this, I purchased a recorder to record our meeting with the clients for our adviser, who will be glad to go over the meeting.

Overall, the meeting this week went well, though was very strange. We were able to keep the meeting time boxed at 30 minutes, as planned on the agenda. However, this was only due to the fact that, our clients during this meeting, were extremely subdued and not as vocal as in most previous meetings. They were also, in some ways, encouraging us to not only lessen the scope of the system, but to also in short abandon it, favoring work on a single aspect of the project. This news came as a huge shock to us, which we were not prepared for and are still unsure with how to proceed on.

In short, the meeting shook us up a little bit, as it was very unexpected. Part of it is because I think our senior adviser may have talked to them, and they took it the wrong way. Something else that comes to mind is that they could be starting to "write us off", deciding that we might as well do something without any feedback, and not worry about it. The problem is, if we were to only deliver the small part of the project, they would probably never integrate it, and in short, it would go unused. Not only that, but the current heading and direction of the project would need to be completely revised, which itself causes more disruption.

Hence, this week has been fairly confusing. We have put together our basic presentation, but we really need more advice on how to proceed. This means we will, more than likely, seek more advice this week from our advisers.

Thursday, July 23, 2009

Senior Project Week 8

This week we delivered the second release of the project, first release using the Django framework. Overall, the release was fairly successful in gathering feedback, though there are some grievances we have as a team. Much of this has to do with what we have been asked to do, and the fact that it is a task that is unreasonable and not along the line of a standard software engineering project.

Today, during out meeting, we were told that the project was not a focus of technology or other such. Instead, as what happens with many of our meetings, the problem was changed to solve this: Solve the means by which people communicate to allow for the most optimal solution to people communicating with each other effectively.

Now, the problem with this is that, this question is a question that has existed since the beginning of time. Hence, it has never been solved. Now, we can come up with ideas on how to approach the problem, but this is merely an example of the kinds of ways the project changes. At first, it was a massive system with web based and application based components. Next, it was a website (everyone agree this was the type of product that was wanted). Now, after this release, it has been made into solving the answer to an unsolvable, philosophical question.

Aside, our testing we performed with this release with users proved fruitful, at least for the current incarnation of the project and the current heading of the project. Hence, it was not a total loss.

As such, we're going to work on maintaining our current heading, and trying to accommodate requirements and requests of our clients.

Friday, July 17, 2009

Senior Project Week 7

This weeks meeting went fairly badly, as the clients derailed the meeting for around 30 minutes of extra time. We've come to the conclusion that we're going to need to adopt a much less organic process and act more like a software company than merely employees working on a project. This is mainly due to the fact that many software firms by now would have told them that there are certain limitations that will not be crossed, and that's that.

The main concern is that the clients do not have a notion that back-end work must be done to support the front end of the website. Also, they want to be involved in every aspect, including decision making about how we will code the site (even coding styles), as well as how we will test (they want to tell us what they think the best testing method will be). We've tried to be as open as possible, but it just is not working, and hence we have to put up a wall and draw the line.

So, our plan for this week is to create the HTA Task Analysis for the features we are delivering with this prototype and finish it up for testing next week. Following, we will be planning on having a final elicitation sit down to get exactly what they want to be editable, what we agree is easy to do and what is not, and then setting the record straight once and for all there.

From there, we hope to be able to finish up this milestone for the end of the quarter, getting all of the features we listed accomplished and marked out.

Sunday, July 5, 2009

Fall-Week 5 Senior Project Work

Senior project this week was relatively interesting.

First off, the Tuesday meeting on 6/30 went OK, but it really revealed just how dangerous some of our clients can be in ways. The main problem with this happens to be that during each meeting, not only is there substantial requirements creep/churn, but the clients have a tendency to not only hijack the meetings, but to also want to be, for lack of better words, "too deeply" involved with aspects of the project. This has to deal with many ideas, such as having requests for having code editable by people with no technical skills, while still having it function properly. Likewise, creating or embedding editors into the system that will allow these people to do this, none of which is really that easy or feasible.

From there, our adviser and group has decided many of the following:

1. We must have an agenda clearly created and maintained, ready to be presented on the Monday before the client meeting of the week. This will be done by gathering up accomplishments and concerns on Sunday and Monday.

2. Meetings will be limited to no longer than 1 to 1.5 hours of discussion. The first hour should be nothing but presentation of what has been accomplished and review / feedback with respect to those issues. Following this, there will be a meeting break and the last .15 to .5 hours will be spent on feedback or client concerns. This will allow for a follow-up reflection directly after the meeting.

For this week, the experienced web developers have planned on editing and creating several of the pages and functionality sets that have to deal with the people / project aggregation part of the system. Aside, I will be attempting to get my hands into the code and create the basic models for the system.

Wednesday, June 24, 2009

CSI Senior Project - June 23, 2009

Today we had a new meeting with our clients, proposing our ideas for the People / Project finder. The meeting went relatively well, with the single side-effect that most features that were discussed during the meeting were nothing more than an endless stream of gold plating, with very little focus on the core features. However, we did learn quite a bit about the things to expect from the clients and the types of activities they would like to extend the project to.

Currently, the system is planned as a pseudo social networking site, geared around projects and people, with the ability to list personal interests, coursework, previous positions / projects,and skills. Projects are able to have specified skillsets they need, the domains they cover, the people they have, a list of resources and links to those resources, description, images, etc. However, as of last meeting, there has been a push to move this more into the project management spectrum of tools, which could be both a plus and a minus.

This Thursday, we are going to need to work on fleshing out the new features and requirements, as well as placing them on a spectrum between the standard idea of meeting place / social network and full project management system. This will require some debate and testing. Also, we will finally begin the planning for the schedule for this sprint, followed by definitions of what we hope to accomplish by the milestone date of Week 8 (July 22).

Hence, what we should be focusing on is as follows:
1. Listing out the features and requirements.
2. Placing the features and requirements on the required spectrum.
3. Determining the schedule for the milestone date of July 22.
4. Begin designing the fundamental architecture for the system.
5. Develop some prototypes of what the features should look like and how they should be presented.

Tuesday, June 23, 2009

CSI Senior Project - June 16, 2009

Today we met with our clients in a pseudo-"focus group", with four people they invited and one we invited. Personally, I felt we should have stayed closer to focus group format, as the overall meeting came across as very rude to our guests (the non-client attendees). However, I was not in control of that final decision.

Otherwise, the meeting went very well. We were able to show off the prototype we developed over the past few days, showing our clients that the functionality they were pressing hard on was majorly just basic website structure and code. Hence, we were able to gain allot of confidence from our clients, which should allow us to regulate features and design much more now. We have since planned to have a proposal for our next meeting describing the People and Project finder for the project, which will be a key aspect of the functionality for end users.

Aside, we divided tasks for the setup of the team server, accounts, version control, and the like. I have set up the Trac server with Agilo for SCRUM, and Matthew has setup version control. I will be working on getting our previous "mini-sprint" into the system and starting to record milestones we need / have available.

Monday, June 15, 2009

CSI Senior Project - June 9, 2009

For senior project today we had our second meeting with our clients. During this meeting, there was some tension between the senior project team and the clients, due to some assumptions we had made about what needed the most development time versus what could be implemented rather easily.

The clients found our assessment to not be a complete assessment, telling us that the majority of the functionality of the site was overlooked. However, we attempted to clarify this by telling them that the functionality they wanted for the other parts of the site was "very functionally important, but also trivial to develop". This was not taken very well and led to the clients challenging us to develop a prototype that incorporated that functionality. To this, we accepted the challenge and have begun making plans to accomplish the prototype by our next client meeting so that we can have a focus group on the software and product.

One of the major issues we found, that also came up with our adviser, was a misunderstanding about the role of the development process and what software engineering senior projects usually take on. The product description revision for this current iteration of the project has moved the product to being a website through which multiple services are referenced, allowing for a central hub to access these services. This approaches a Services Oriented Architecture, but most of the services (and hopefully not all) can be delivered by pre-existing products, such as Google Calendar, Blogger, Wordpress, existing inventory management systems, etc.

Because of this, while we are working on the prototype, we are focusing on trying to still gather the requirements necessary to design and implement a robust project / people aggregation system, which allows associations between multiple projects and people, with the eventual use of this to be used to post and present projects, find people with similar project interests who meet certain attributes or required skills, and then eventually help with distributing those across multiple types of displays and access points, including but not limited to Websites, Wall Projected Displays, Touch Displays, etc.

CSI Senior Project - June 4, 2009

Today we met to go over the scope of the project and to help try and narrow the project ideas down. Overall, I feel the meeting was very productive.

For the meeting, we decided to take their original diagrams and limit the diagrams to what actually needed to be implemented in software. Basically, we are going to be implementing the project / people management and access interfaces to a database of related people and objects, allowing us to use these interfaces as portals for other tools and sites to access the information about the people and projects.

We find that the projects / people center is the most obvious part of the project needing software engineering and development, with the rest of the project being doable as either a series of services or portals to other software that interacts with the people / project system, and are provided by the CSI.

Friday, June 12, 2009

CSI Senior Project - June 2, 2009

Today we held our kickoff meeting for senior project and met our sponsor and "assumedly" his assistant, John Schull and Xanthe.

John Schull is the project sponsor and director for the CSI collaboration project. Xanthe is an industrial designer who specializes in artistic design and the like.

Based on speaking with them today, the project that they want is gigantic in proportions. The project appears to be a web-based project that should incorporate a Facebook like people / project system which allows for people and projects to have pages and profiles, allowing for them to be found and associated with one another. To be clear, it's basically Facebook with groups as projects and people as people, with some special statistics. However, this little system has to be capable of linking to almost everything in the rest of the system.

A short list of how this works is:
- A media library / database that links with the library's media database
- A tool / resource database and directory that allows for the tracking, finding, and checking in / out of tools and the like.
- An interface for doing in depth UI designs, such as touch screens, multi-wall displays, etc.
- The ability to incorporate systems such as Google Calendar, Blogger, Gmail, Chat, etc into the system.

To make a longer list shorter, the scope is gigantic and is not completely possible for 20 weeks of work, especially with the number of documents and design we need. Hence, we're probably going to narrow the scope to doing the primary aspect of the project, focusing on the people / project finding / storing / associating part of the system, seeing as it has its hands in everything.

About Me

Software engineer, game developer, writer, and student. My work revolves around games, algorithms, real-time development, and creative works.