Monday, May 31, 2010

Graduation Week and First Week of Summer 2010

Week 1 : (5/28/2010)

We had our meeting on Friday (5/28/2010) at noon in our usual place JEC 3117. Many students working on RCOS had taken a well earned break after the classes and exam. We have an enthusiastic bunch of students (some old timers and few new faces including 4 or so rising Sophomore students). It is also great to have them use the dashboard already. There are already 17 contributors. Hope we have a repeat performance (like Spring 21010) of the students' performance and achievements.

This week we had two speakers.
1) Mukkai S. Krishnamoorthy
2) Roberst Escriva.


I talked about forming community, sharing codes and knowledge. More importantly it is perfectly a valid thing to request for help. My slides can be found here.



As usual Rob's talk is articulate and gave lots of useful links. More improtantly he has created an IRC channel for rcos in freenode irc://irc.freenode.net
and there is channel called rcos. Please visit there and hang around for sharing information.

Rob will post his slides soon to the group.

Nate is mentoring a GSOC intern this summer (Summer 2010) on his past RCOS project.

On Saturday (5/29/2010), RPI had his graduation and many of the past RCOS alumni graduated. Even though I am sad that I will have less interaction with them, I am terribly happy for their past accomplishments and future contributions.

Congratulations to all seniors.

Saturday, May 22, 2010

Summer Faculty Workshop at Trinity College (HFOSS)

Week -1: (5/18/2010-5/20/2010)

I seized on a great opportunity to attend a summer faculty workshop sponsored by hfoss at Trinity College, Hartford, CT. HFOSS (Humanitarian Free and Open Source Software) efforts at Trinity College, Wesleyan University and Connecticut College have been funded by NSF under the direction of Prof. Ralph Morelli (Trinity College and the main organizer) Here is a link to that website. Details of the workshop can be found here.There were eighteen attendees coming near and far (as far away as Hawaii and Oregon!).

Here is a nice group photo of the participants.




This was a hands on workshop - The instructors taught us some things and some of the participants taught us some more. Because the workshop was on Humanitarian as well as free and open source software, the comradeship was very high.

You can see some of us working/struggling with one of the exercises in this photo.



The Tuesday morning session covered basic free and open source materials. Then there were talks that are Humanitarian specific efforts.

Three such topics were:
1) Sahana foundation an open source disaster management system. Developers are based all over the world.

2) Open MRS - Open Source Patient monitoring health care systems. Main center is Partners in health in Boston.

3) Android/Posit/ODK - Based in Washington University Seattle.

I participated in the Sahana group. Even though we were unable to play with the code base, we saw a demo by Trishan (of Trinity College). We were also fortunate have the CEO of Sahana Foundation come and explain some of the things. The highlight may be to have a dimdum and skype session with one of the python developers of Sahana (based at Thailand). I truly learned the global nature of this project and its impact on millions of people. The working group notes can be found here.

The participants were also given opportunity to talk about their respective open source education initiatives at their institutes. Tim from Oregon State University, Norman from Wesleyan, Ralph from trinity, Martha from Hawaii and I gave brief presentations.

A snap of my presentation:



The breakfast, lunch, dinner, coffee breaks were all excellent. Lots of thanks to Ralph and Trishan who spearheaded the efforts ably assisted by their colleagues in Wesleyan and Connecticut College and students from Trinity College.

Saturday, May 8, 2010

Thundering Finale' - Poster Presentation Spring 2010

Week 14: (5/7/2010)
A fabulous way to end a fantastic semester by having a poster session at the DCC Great Hall for Rensselaer Community. We had a near perfect attendance with a poster display from all but one group. This is remarkable considering the end of the semester load (with exams, projects, presentations to classes) to all the students.

Tim Horton took a lot of photos. Not only that, he uploaded them immediately. Here is the complete list of photos.

A lot of students, faculty members came and saw the fantastic work of the students. Here is a photo of Dave Hollinger looking at the poster and as usual asking probing questions!



Here is a snapshot of the poster session.




We had the advantage of the collective wisdom of a wonderful group of seniors. Here is the cheerful group photo of the smiling seniors.


Special thanks to mentors Eric, Rob, Josh and Devin. They helped me in so many ways - providing constructive suggestions, supporting and helping the students, maintaining, developing software and hardware. Also thanks to Allen for helping me with Android questions - day or night!

Here is our group photo taken after eating our staple food - Pizza!



Thanks to Prabhat, Kim, Badri and Laraine for doing behinds the scenes work.

A big thanks to Mr. Sean O'Sullivan for making this center happen.

I will end this with a photo of the photographer Tim and his gnome group (known as Gnome - Gurus!)




Thanks all - I had a fantastic time this Spring learning from you all!

Monday, May 3, 2010

SoftwarePractices (2)

Robert Margolies (margor@rpi.edu) , Christopher Brown(brownc7@rpi.edu)                      2

Best Practices to Succeed in a Software Project and Pitfalls of Failure

Introduction

              At the start of any software project, it is common for issues regarding project management to be overlooked. Generally, people are more concerned with the technical implementation of the project and do not think in the long term. It is very important from the very beginning to set forth a good schedule to keep a project on task and not let it fall behind schedule.

              In groups that are facilitated by RCOS, there is no appointed leader of a group. Roles are not assigned, they are usually taken or volunteered for by members of the group. This creates a potential problem because if no one steps into the role of project manager, it is possible for the project to fail to meet deadlines and goals.

              Successful project management involves delivering the right product at the right time. The following will describe the different phases of project management along with how it relates to RCOS.

Initiation Phase

              Initiation of the project occurs at the beginning of the project. After the proposal has been accepted by RCOS, the group should organize their first meeting. In the first meeting, guidelines should be set that all members of the group will abide by. In many cases, a standing meeting time can be setup to ensure face to face communication each week.

              It is also important to begin to discuss the scope of the project including goals, requirements, and deadlines.

Planning and Design Phase

              After the initiation phase where the scope of the project and goals are decided, the group should enter a phase of planning and design. In this phase, a high level design should be created along with a planned method to accomplish this design.

              This plan should include a schedule that identifies deliverables for each member along with due dates. If a project manager role has been created, this person should drive these deliverables to fruition. If no project manager has stepped up, it is the responsibility of each member of the group to complete their own work while also taking note in the overall group deliverables.

              Some tools that may be useful during the design phase to keep on track are Microsoft Project, Gannt Charts, Critical Path Analysis and PERT, and many more.

Execution/Production Phase

              The executing phase is the phase during which you operate to hit the deliverables set forth in the plan. The plan is only tentative and thus the executing phase may result in reevaluating the plan or seeking more help to determine a different design. It is important during the executing phase to try and stay motivated in order to get ahead of schedule or stay on track.

 

Monitoring Phase

              The monitoring phase should be occurring on the side throughout most of the project. The group should always be questioning the quality of their work, project activities and deadlines, along with what corrective actions need to be taken to ensure success. This phase will also occur after the conclusion of the execution stage as in this phase, the entire project will be evaluated for quality.

Closing Phase

              A project can only be useful to others if it is properly presented. The closing of the project involves ensuring that all goals of the project have been satisfied. If the goals of the project were not satisfied, this is where a recap of what occurred and why the project did not follow the planned path. It is sometimes possible that a project not meeting its goals will not be considered a failure. Here is where the members of the group can demonstrate what they have learned and will take away from the project along with how the project will help others.

              The project should be very well documented. This includes documenting the very technical aspects and the client-side aspects. Open source software is a great asset to the world however without documentation, it is little help to anyone.

 

Conclusion

              There are many phases to the management of a project. Overall, it is most important to budget the time effectively in order to meet goals in one semester. The semester goes very quickly and thus it is easy to become caught up in other time commitments. In a project that is self governing such as RCOS, it can be hard to motivate working on a project over other work that has more impending deadlines. Thus, it is imperative to set aside times that are dedicated to RCOS.  Motivation is a very important aspect of success. If the motivation for the project is lacking or at any time becomes lost, it will be hard to have a quality project. It is the responsibility of each group member to help to motivate the rest of the team. In the end, RCOS is a team and it is important to work and plan together to have a quality product.

References

http://en.wikipedia.org/wiki/Project_management
http://www.mindtools.com/critpath.html
http://www.executivebrief.com/software-development/techniques-successful-software-product-management/

 

 

 


Penultimate Week

Week 13: (4/30/2010)

What a fantastic semester RCOS had - of course nothing is perfect - Over all I have to rate the creativity of RCSO group very high. Let me quote from a former faculty member of CS department who is currently a professor in Europe (when I sent to get her feedback by looking at our RCOS links)
"Your RCOS initiative is very inspiring! The creativity of the projects...
that's American students at their best!"

I also watched a TED video over the weekend - Here it is




What you have accomplished by doing Open Source Projects will do a lot of good to the future RPI students and students elsewhere.

This week we had five presentations.

1) Rob Margolis and Chris Brown
2) Anna Cyganowski
3) Joseph Dougherty, Matthew Heffler and Brian Heller
4) Priti Kumar and Aileen Sheedy
5) Peter Healy,Jimmy Kiselak and Bryan Yudkin

Rob and Chris talked about their experiences from last semester (F 2009) RCOS project and why it did not succeed - They gave concrete suggestions. Their paper may be found here.

Ana has made progress with her Materials Lab Game - She has used Unify and a solid modeling package to create her games. She gave a short demo.

Joseph, Matthew and Brian had made progress with VoteBox. They have created a GUI prototype implementation for Ballot Sheet.

Priti and Aileen had redefined their lightbulb project to get user feedback about their system. This should be a valuable contribution, to any one who is building a simple interface to a computer for elderly and disabled.

Peter, Jimmy and Bryan have made progress with their perl implementation of automatically pulling various data from the web into their system for further processing. They showed a little demo with pulling lotto and hockey data.

Their progress can be watched in our dashboard.

Friday of this week (5/7/2010) is the final poster presentation in DCC Great Hall from 10-5:00 pm. Please come and participate and learn and contribute