Project Management - OpenLearning

Matthew Dang

matthew.dang

Project Management

I have the ability to rectify a problem with teamwork once it arises and come up with a contingency plan for getting work on a project done. I have the foresight to solve problems with teamwork before they become too late to fix and have wasted valuable time that could be spent on improving a project. I am willing to accept personal responsibility if teamwork is not functioning well, not blaming others but putting the onus on myself to resolve the situation and instigate changes to work together better.

  • I clearly identified that while pair programming was possible over Skype, trying to avoid procrastination while not doing face to face work was difficult. I arranged to meet at uni regularly to pair program when our initial plan for working together over Skype by sharing screens proved to be relatively unsuccessful. Excerpt from Major Project Discussion

Matthew Dang - I am feeling it will be more productive to meet at a place and conduct pair programming rather than trying to arrange a time over Skype. It's too easy to procrastinate without making an effort to meet somewhere.

  • An important factor which improved our productivity when working together was setting out a clear plan as to what we were going to try and achieve during the times when we met up before we actually met so that we did not waste time thinking about what needed to be done.

Since then I've been brainstorming how to improve our hunter with an improvement vs coding time graph which I've roughly drawn on paper. Some ideas ranked by improvement and coding time combined:
- co-ordination of hunters to avoid searching identical locations
- don't search locations recently searched unless dracula is nearby
- take into account if dracula has gone out to sea
- co-ordinate with other hunters to trap dracula
- add moverank points based on degree of a nodes links
- if dracula moves onto a city that a hunter is on, stay on that city

  • Making the commitment to regularly meet at uni gave us less distractions and the long commute acted as a motivator to not waste time while at uni.  Pair programming was also easier to conduct at uni and greatly increased our productivity greatly as well. All the features mentioned in the excerpt below were implemented within a few hours of working at uni.

23rd Jan Update
22:07 - Justine - Met up with Matthew today at uni to do some work on the hunter.c. We had a look at the points written in yesterday's update and implemented some new things to make the ai smarter.

Locations connected to the hunter's current location are now given points and ranked based on if hunters have recently been there, if dracula has recently been spotted, the degree of links it has with other places, their current health, etc. The hunter will move to the location which has the highest number of points (ie. the best destination for the hunter based on what has been happening in the game).

We're still thinking on what moves would be best if dracula has gone out to sea.

I can show leadership by bringing forward ideas on how to manage a project and corresponding with my team members.

  • I worked proactively in making sure our group would stay up to date with progress on the major project by creating a central page where all updates on the hunter would be documented. Can be found here
  • We used a shared Dropbox folder to share files between the group. I assessed that this was the easiest way to sync and share our files without getting too technical with something such as version control which some team members (including myself) were not experienced with using. dropbox

Dropbox Evidence

I am able to be flexible with my role within the team, whether it be working on a section of the project on my own or working with team members on planning or programming.

  • I wrote most of the hunter at home initially and then pair programmed at uni with my group members.

Evidence: here from above

Time Management

When faced with a large project, I will work with the team to make sure that we can produce incremental results mainly through the process of keeping things very simple at the beginning and then producing incremental improvements once we are confident that our project doesn't have any bugs and is usable.

The process of incremental updates is important because any team member may have planned/unplanned commitments that could detract from the amount of time they perceive to be available to complete a project. I am aware that humans are fallible people with optimistic goals for completing work within a time limit. Because of this problem, I try and prioritise the most important tasks that need to be completed first, and the incremental improvement process is an extension of my ability to prioritise by submitting a working project initially and then producing incremental improvements.

  • A testimony to the success of this approach to our hunter is our results in the hunts, evidence here, detailed below:

Hunt Rank DQs
2.0  1st  1
2.1  2nd  0
2.2  Not Run Properly
2.3  1st  0
2.4  1st  1
2.5  Not Included (don't know why)
2.6  2nd  0
2.7  1st  0
3.0  1st  0
3.1  1st  0
3.2  Not Run Properly
3.3  2nd  0
3.4  1st  0
3.5  1st  0
3.6  1st  0
3.7  1st  0
Overall 1st! Woohoo

  • In the major project, we initially wrote a random move hunter to make sure the HunterView ADT we worked with was working correctly in case we had to debug it. By taking this approach, our group didn't have to stress about where the bug in our code might be because we kept the complexity of our program low until we were sure it was correct. Our team's project page on the wiki details the incremental improvements made to our hunter. Excerpts below:

12th Jan Update
- Matthew Dang - I've updated hunter.c slightly so that our hunter will rest if their health is low.

13th Jan Update
- 12:40 - Matthew Dang - I've added a function that will try and follow Dracula's last known position. But because of the way I've implemented a breadth first search, our hunter can't use rail to follow Dracula.

18th Jan Update
23:27 -  I also updated AI in the dropbox but I haven't submitted it yet cause it may need more testing. The AI now can follow Dracula using rail.

22nd Jan Update
01:24 - ...I've been brainstorming how to improve our hunter with an improvement vs coding time graph which I've roughly drawn on paper. Some ideas ranked by improvement and coding time combined:
co-ordination of hunters to avoid searching identical locations
don't search locations recently searched unless dracula is nearby
take into account if dracula has gone out to sea

2nd Feb Update
01:26 - Matthew, Justine - Today we worked in the lab on one final improvement to our hunter which involved spreading out from the other hunters as much as possible when we had no recent information about Dracula's position.

I am prepared to take the initiative and work for the team's benefit rather than just my own.

  • In the major project, I did the majority of the work in developing the hunter during the initial stages. However I wanted to get the team more involved, so I committed to going to uni and pair programming with my team mates to get them more involved with the project.

Evidence: Major Project Page

18th Jan Update
23:27 -  I also updated AI in the dropbox but I haven't submitted it yet cause it may need more testing. The AI now can follow Dracula using rail.
- 23:27 - Matthew Dang - Submitted hunterAI updated: here

14th Jan Update
- 19:24 - Matthew Dang - Submitted hunterAI: https://www.openlearning.net/u/matthew.dang/hunteraisubmit/

13th Jan Update
- 19:44 - Matthew Dang - I found out we're not meant to put our code in hunter.c so I moved it to hunterFunction.h

- 12:40 - Matthew Dang - I've added a function that will try and follow Dracula's last known position. But because of the way I've implemented a breadth first search, our hunter can't use rail to follow Dracula.

12th Jan Update
- Matthew Dang - I've updated hunter.c slightly so that our hunter will rest if their health is low.

I am able to manage my time effectively even with other priorities. I have a good method of organisation and prioritising tasks that are the most important to me currently.

  • I used WorkFlowy to organise my thoughts and prioritise tasks by importance throughout the course.

Workflowy

I am able to complete all major Tasks and Projects in time even with other commitments by planning ahead and the incremental improvement process mentioned previously.

Evidence: progress

Progress

  • The group I was in managed to get LordBrouhaha to compete successfully in all the official hunts as evidenced in the Project Management section.
  • I submitted Task 1 on time as evidenced by this email. - Task 1 Page

Matthew Dang <dang.its.matthew@gmail.com> 16 December 2011 15:45
To: ruperts@cse.unsw.edu.au
Hi Rupert,

I'm not sure how to submit on the wiki and I'm going away tonight so I'd like to submit directly to you through email.

Thanks,

Matthew Dang 3376317

COMP1927 Task 1 Proper.doc
88K
Rupert <ruperts@cse.unsw.edu.au> 16 December 2011 16:07
Reply-To: ruperts@cse.unsw.edu.au
To: ruperts.wed13-leaf@cse.unsw.edu.au
> Hi Rupert,
>
> I'm not sure how to submit on the wiki and I'm going away tonight so I'd
> like to submit directly to you through email.

hey so you could create a new page as a subpage of your openlearning
user profile page by visiting your profile page and clicking the Add
Page button in the bottom left

...

cheers
rupert

  • Task 2 was due by Christmas and I managed to submit on Christmas Day, even though I was on a week long holiday in Nelson Bay during the Christmas break. - Task 2 Page

Viewing revision 9 created by   Matthew Dang on Dec. 25, 2011, 11:39 p.m.

Latest Revision #13 (5 days, 3 hours ago) ยท Page History

Edit: I fixed the bug with permutations and the program now appears to work correctly base on the permutation solutions from the Task 2 page.
...

Comments

Chat