HeaderSIS.jpg

IS480 Team wiki: 2011T2 Imateam midterm

From IS480
Revision as of 01:44, 11 March 2012 by Kikoh.2009 (talk | contribs) (→‎Presentation Slides)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The Midterm Wiki
Our journey so far.

Imahome.jpgBack to main wiki   Imastake.jpg Project Progress   Imaover.jpgProject Management   Imadocumentation.jpg Risk Management   Imamanagement.jpgTechnical Complexity   Imaresources.jpgQuality   Imaloms.jpgReflections

Midterm Presentation

Clickdl.png Download our Midterm presentation slides

Project Progress

Highlights

Highlights
   

  • Drupal had a higher learning curve than anticipated
  • Project underwent major changes at 3 points: Before Acceptance, Week 2, and after User Testing
  • Changes had to be made early due to misconception and misalignment of what sponsors wanted and what we delivered
  • Mockups of user interface were designed to gain sponsor's feedback before actual development
  • User interface design was revamped post-User Testing based on feedback received
  • Sponsors plan to implement Connet for actual live usage at an upcoming conference in India (12-14 March)

Status

Status
   

  • Project is deployed on a virtual dedicated server using Windows Server 2008 R2
  • User Testing of 30 users have been conducted using the server
  • The results collected were analyzed and presented in graphs and pie-charts to demonstrate the functions that needed to improve
  • Post-User Testing changes have been made to both the user interface and functionalities
  • Project scope is very unlikely to change
  • Midterm preparation is ongoing with rehearsal sessions
  • Team members are each working on different tasks: slide design, Wiki page updates, slides content.

Project Management

Project Status

Imapacconfidence.png

Project Schedule

Project Schedule
   


Planned vs Actual
Imateamplanned222.jpg

Bug Metrics

Bug Metrics
   

Bug Severity Index

Bugequation.png

Bugindex.png

Action Plan

Actionplan.png

Bug List

Clickdl-brown.png Click to download our detailed list of bugs

Risk Management

Risk Management
   

Technical Complexity

Technical Complexity
   

We knew the risks going into the project picking up Drupal. We’ve read and heard horror stories of Drupal’s super steep learning curve, but the rewards that comes along with learning Drupal seemed too good for us to pass up. Drupal’s complexity can be divided into three parts – coding a custom Drupal module, coding/changing contributed modules and also implementing our design into the Drupal website.

One of the biggest technically challenging parts of our project was developing a custom Drupal module (Business Card Module) that was both unique, non-existent in the Drupal community and starting Drupal coding as a newbie. Drupal modules are all coded in PHP, but the complexity comes with coding using the Drupal API and the complex implementation of the Drupal hooks system, which basically provides a way for a module to extend the functionality of another module. In short, a hook is a function callback, which allows us to change the behaviour of Drupal core and other modules, thus extending their functionalities into other modules as well.

The entire team were roughly familiar with PHP, which we’ve encountered a few times in other modules and also in polytechnic, but learning the way Drupal utilizes the hook system in modules and the overall structure of a Drupal custom module was an entirely different challenge altogether.

One of the pros of using Drupal is the amount of modules available for use in the community. These contributed modules were fantastic working by itself on a website, but making the module work for our website, and do what we need it to do required us to change certain parts of the module in both coding and configuration. However, changing a contributed module ourselves required us to adopt defensive design patterns since the modules we use are subject to patches and bug fixes by their contributor. Thus, adopting a defensive design pattern when changing certain parts of the module simply means that we had to implement our code in such a way that it could be reconfigured on the fly without any extra coding, since any patches whatsoever would completely wipe out our changes.

One of the most technically complex aspects of Drupal was implementing our design into Drupal. Designing, creating and building a theme is pretty straightforward, but implementing it into Drupal as a custom theme and making it look like what we’ve planned and envisioned is an entirely different challenge altogether. This involved creating subthemes, tweaking subthemes with CSS and custom template files and developing an overall responsive web design.

Quality

We’ve achieved a very robust and powerful website with a rather unique design using Drupal. Enveloping the concept of business cards and the idea of speed networking onto a single platform, together with various other functions that would enhance the experience of both conference goers and organizers.

The application is designed for 4 types of users – attendees, speakers, organizers and administrators. Each role would have different sets of functions available to them on the Drupal website.


Intermediate Deliverables

Intermediate Deliverables
   


Stage Specfication Modules
Project Management Minutes Supervisor Minutes, Sponsor Minutes , Team Minutes
Metrics Bug Metric , Schedule Metric
Requirements Deliverables Deliverables
Scope Scope
Analysis Use Cases Use Case Diagrams
UI Mockups Logos, Mockup Placeholders, Web Platform Designs
Design System Architecture Diagram System Architecture Diagram
Deployment Diagram Deployment Diagram
Testing User Testing (Midterm) Methodology, Analysis, Changes Made


Deployment

Deployment
   

Connet is hosted on a virtual dedicated server that runs Windows Server 2008 R2 with 1GB RAM.

The deployment process of our applications involves pulling the latest version from SVN and copying the files over to the server via FTP connection. In the event of FTP failing, file transfer will be done via Remote Desktop Connection.

Our application is currently hosted on the development server at http://182.50.154.119/. Our sponsors can access it at anytime using the Internet.

User Testing

User Testing
   

Clickyellow-trans.pngClick here to be linked to our User Testing page with our methodology and results analysis

Reflections

Team

Together as a team of four, we’ve learnt so much on this incredible journey, and we’re only a little past the midway mark. Aside from the technical aspects that we’ve gathered, we’ve also learnt the following:

• Teamwork and communication – Being a small group has its pros and cons. One of its pros however, is that we’ve grown closer, and learnt to depend on one another and improve on our communication in the process. One of the initial challenges was that we were not communicating enough, which led to delays since some aspects of the development required the completion and coordination of another team member.

• Scope Manageability – As a team, we were full of ideas and brimming with confidence about our project. However, we also learnt to manage both our client and supervisor’s expectations, and how to be selective and realistic about additions or changes to the scope of the project. Nevertheless, the biggest learning point has been how as a team, we’ve learnt to consistently adapt our own expectations and goals to the various additions and changes to our project scope.

• Finding the middle ground – Even though we’re a small of team of four, each of us has incredibly strong opinions and capable personalities, which would ultimately more often than not lead to disagreements. However, a good thing is that we’re comfortable with each other and as a group, and disagreements instead led to even better ideas when we all ultimately try to find a middle ground.

Iskandar

Iskandar
   

This FYP has been an incredibly long, hard journey but one that I thoroughly feel proud and elated to be a part of. I’m sure every one of us in IMATEAM has learnt so much beyond our wildest dreams, but the best part for me has been to have gone through it with this team. I’ve learnt so much in terms of project management, both in terms of project scheduling and managing the team. Despite this only being the mid-point reflection, I’ve developed a tremendous amount of respect and admiration for my team-members and the amazing things they’ve been able to do for this project.

Learning Drupal is so very hard, but very rewarding in my opinion. Our team took a leap of faith with Drupal because of its potential in offering robustness and awesome websites, but also the potential opportunities it provides us in the team as individuals. After all, there is an incredibly huge demand for Drupal developers, but few in supply.

Felix

Felix
   

I have learnt a lot so far for this FYP. When we first decided to choose Drupal as our main framework, we did not realize that the learning curve for this particular technology is very high. Initially, my team and I were concerned that we would not be able to deliver best product to our sponsors. But we, as a team, worked together and helped one another. Subsequently, I learned that with hard work (and enjoyed the fun time I spent with my groupmates) and having full confidence in my groupmates’ abilities, we are able to face the challenges and resolve any problems we encountered along the way.

As a lead developer, I have acquired some knowledge of the Drupal modules. One of the major difficulties that I came across during the development process was not knowing how to start to custom code the 3rd party modules. First, I had to understand and be familiar with the codes of these modules so I know which part to modify to fit our project’s requirement. Some of the codes were very complex that it took me hours to just grasp what the codes are about. The other difficulty that I encountered was modifying the codes. In order to accomplish the task, I had to change the codes from a few files within the module.

Alicia

Alicia
   

The FYP journey has been a challenging but fruitful one for me so far. I have learned a lot throughout the duration of the project, both on the business and IT side of things. I assume the role of Business Analyst in the team, thus it is my responsibility to be in constant communication with our sponsors and supervisor. As our team is a small one, it is especially important that we manage client's expectations well to ensure that our scope is manageable. It is also important that we all take on more than one role and help each other out whhenever we can to ensure that the workload is evenly distributed. As a B.A., I also helped out with the technical side by developing the admin functions of our application.

This project has taught me to be patient and resilient. As we are tackling Drupal 7, a new framework that none of us had prior experience with, it was important that we got our foundations right. It was also crucial that we found the determination to try again whenever a function did not work as planned. A lot of effort had to put into research but they paid off in the end. Working on both the business side and technical side of things also taught me more about the importance of reconciling the needs and differences of these two aspects.

Stephenie

Stephenie
   

So far, this FYP journey has been a mixture of pain and happiness. To begin with, we are a really small team. Being a small team has its pros and cons. It’s really easier to communicate within a small team; we have no time to hold grudges with one another. We voice out our opinions and discuss everything as a team cause we know that we need everybody support in doing the project. Honestly, I am really happy to be in this team. Although we are really close friends and know each other strengths and weaknesses inside out, we are not afraid to step out of our comfort zone and volunteer to help one another. It’s really important to have a good, hardworking team that understand and support one another especially when we are working on a totally new language, which has a really steep learning curve, and have to manage client expectations at the same time.

As a lead designer, I am really stress at times because I am afraid that I am unable to meet clients or my team members’ expectations. Besides, designing in Drupal is not as easy as designing in Photoshop. It’s so much more challenging. The video tutorials I’ve watched for the past 2 months way surpassed the total number of tutorials I’ve watched in my poly and university years. And I really thank God for those nice people who posted up those video tutorials! As tired and stressful it may be, I still feel accomplished after I am able to improve on the design week after week!