HeaderSIS.jpg

IS480 Team wiki: 2011T1 Aperture - Midterm Wiki

From IS480
Jump to navigation Jump to search
Pivotalexpert2-aperture-midtermwiki-header-v02-700px.jpg





Project Progress Summary

Progress Description

Our team has progressed slowly but steadily since our acceptance. We encountered a major obstacle, which is the creating of a live PayPal account for Pivotal Experts. They required us to have a working live application for them to verify before they allow us to create a live PayPal account. So we had to delay our PayPal task until we can complete the basic functionalities. We are confident of getting 70% of the basic functionality live by midterm. Although this is behind the schedule we planned during proposal, which was caused by the underestimation of the duration and complexity of the tasks, we are confident of completing 70% of the additional features on top of the basic functionalities, by the end of the term.

Project Highlights

  • The previous team's code had quite a few issues. So we had to start building the application from scratch.
  • Client suggested that we explore Angular JS for our front-end views. We divided the team into 2 separate teams. The front-end team would develop the views, while the back-end team developed the models and controllers.
  • PayPal required us to have a live application before allowing us to create a live PayPal account for Pivotal Expert.
  • We met Andy Croll, a talented designer, for his feedback on the design and usability of our website.
  • Project Management
    • The front-end team took 7 weeks to learn Angular JS, which was much longer than expected.
    • We did not account and plan for a number of functionalities when we decided to build the application from scratch. In addition, The difficulties of several tasks were underestimated. In other words, we allocated too few points to tasks. This resulted in an overly-optimistic schedule. Eg. Completing basic functionalities by week 4.


Project Management

Project Status

Highlight changes to modules, the completion status (implemented, UAT done, client approved, deployed, etc), the confidence level (0-1 where 0 is no confident of getting it done, 1 is 100% confident in getting it done) and comments (who has been assigned to do it, new scope, removed scoped, etc). Please use a table format to summarize with links to function details.

Function / Features Status Confidence Comments
PayPal 50% 1 Require PayPal's verification before being able to create a live PayPal account
Login/logout 100% 1 Login using Janrain
View Dashboard 80% 1 Modified the design by creating tabs for news feed and project management. Client has requested that the user is able to see the amount earned or spent in Pivotal Expert
Edit Profile 100% 1 Some fields such as school and country which require verification will be completed in later use cases
Create/Edit Project 90% 1 Edit project function still in progress
View Projects 100% 1 Pagination will be in a separate use case
View Project Bids 100% 1
Create Bid 100% 1
View Workroom 100% 1 Complex view which took Robert some time to design
Write on Project Wall 100% 1 Kenneth is suggesting that new messages will be appended at the bottom instead of appearing at the top
Feedback through Get Satisfaction 100% 1 Feedback will be sent to getsatisfaction.com, instead of being stored in Pivotal Experts
Send Messages 70% 1 Functionality is nearly completed. A link will be placed near the logout link.
Accept Bid 90% 1 A message needs to be displayed to inform user that it is only the first iteration that he is paying for.
Accept/Reject Deliverable 90% 1 Will temporarily use the PayPal sandbox account for testing purposes until PayPal grants us a live account
Post Comments in Workroom 0% 1
Edit Iteration Plan 0% 1
Change Iteration Status 0% 1
Shift Iteration Order 0% 1
Pagination 0% 1
Form Validation 0% 1
Search for Project 0% 1
Email Verification 0% 1
Sort/Filter Projects 0% 1
Sort/Filter Developers 0% 1
Negotiate Pay Raise 0% 1
Integrate Singpath Badges 0% 0.8
Share Project through Social Networks 0% 1
View Google Analytics 0% 1
Submit/View Return On Time 0% 1
View Pivotal Expert Analytics 0% 1
View Advertising Recommendations 0% 0.6
Suggest Schools 0% 1
Suggest Badges 0% 1
Suggest Educational Materials 0% 1
Identify Location 0% 0.8
Compare Locations 0% 0.8

Project Schedule (Plan Vs Actual)

<<Iteration breakdown>>

Project Metrics

Summary of analysis for the metrics collected. You may refer to another page for the details about the metrics and how it is collected.

Project Risks

<<Risk Management>>

Technical Complexity

  • Utilizing two different programming languages - Angular JS for the views, and Python for the models and controllers. Many of us did not have any background in either of the languages, and it took us a while to understand the basics. As most of us were interning as developers during the summer holidays, our learning progress was slow as we had other programming languages to learn.
  • AngularJS, a new cutting-edge Javascript framework currently being developed made the learning curve steeper. Their documentation is not entirely completed and it is difficult to find solutions to problems online, as the Angular Community is still small. We had to post our questions on the Angular discussions in Google Groups
  • Implementing PayPal payments required us to not only understand the PayPal API, but we had to get clearance from PayPal before being able to use it in our application. The payment process we're using is the delayed-chain-payment, which is more complicated than the simple transactions.
  • Developing an application that is runs on the REST architecture was challenging. Although we were taught about REST architecture in our previous module, we had no experience developing using that architecture. We also had to deploy our website to the REST server on Google App Engine.

Quality of Product

Quality Achieved

Developed the application such that the views can be tested and run independently of the database models. This is achieved through the use of Angular JS, which is a Javascript MVC framework. Anyone can just take the views out and run them on their computer, without any web server required. The data will be stored in static JSON files within the folder.

Intermediate Deliverables

There should be some evidence of work in progress.

S/N Stage Specification Modules
1. Project Management Minutes <<minutes repository>>
Metrics <<Velocity metrics>>, <<Bug metrics>>
2. Requirements List of functionalities <<priority list>>
3. Analysis Use case <<Use Case Diagram>>, <<Use Case Description>>
4. Testing UAT test plan In Progress


Not all parts of the deliverables are necessary but the evidence should be convincing of the progress. Try to include design deliverables that shows the quality of your project.

Deployment

In an iterative approach, ready to use system should be available (deployed) for client and instructions to access the system described here (user name). If necessary, provide a deployment diagram link.

Testing

Describe the testing done on your system. For example, the number of UAT, tester profile, test cases, survey results, issue tracker, bug reports, etc.

Reflection

Mark Chen

Being a Project Manager, I realized that I tend to get caught up with the individual tasks, forgetting about the big picture. This caused the team to progress slowly as the schedule had tasks omitted. On hindsight, we could have better allocated our roles. I was the main person in charge of learning Angular JS. But it was difficult to juggle between coding and managing the team's schedule, and I ended up neglecting the schedule. Nonetheless, I enjoy the challenge of being a Project Manager. The lessons I learn here would be invaluable to my future career. Completing all the additional features would be a huge achievement I am looking forward to, given the difficulties and mistakes we have made. I am grateful to our supervisor and client, Chris Boesch, for his patience and time dedicated to teaching and nurturing our team.

Robert Chai

You may include individual reflection if that make sense at this point. The team is uncooperative and did not follow my instructions.

Kenneth Kok

You may include individual reflection if that make sense at this point. The team is uncooperative and did not follow my instructions.

Daniel Tsou

You may include individual reflection if that make sense at this point. The team is uncooperative and did not follow my instructions.

Raymond Chua

You may include individual reflection if that make sense at this point. The team is uncooperative and did not follow my instructions.