Winter 2013 Course Project : Getting Things Done
Task:
Design and implement a Getting Things Done (GTD) Task Management Package based on the writings on David Allen. See http://en.wikipedia.org/wiki/Getting_Things_Done for an overview and David Allen's book.
In addition supporting in software the requirements set out by the GTD
methodology as best you can your solution should be designed to meet
the following technical requirements:
- Be accessible on a mobile phone and on either a desktop or over the web.
- Be scalable to 1000's of users.
- Support task creation from an email.
Process:
- Form initial group of 3-4
- Develop a initial project prototype and demo.
- Participate in a Group Auction
- Form final project groups of 9-12
- Develop final system and docs
Group Deliverable
Initial Project Demo and Docs - Marking Scheme
- Demo - 40%
- A
short powerpoint overview of your project including the client, project
goals, main requirements, high-level architecture. Be concise! Use
lists and pictures/diagrams. Avoid using too many words on each slide.
- Prototype - 30%
- Documents - 30%
- Project charter
- Competitive Analysis
- Key technical artifacts
- Requirements analysis and Use cases
- Design Sketch
- UI
- Data Schema
- Software Architecture
Design Sketch 5 Views - Marking Scheme
- 1 - UI
- Ideally 3 types of diagrams
- 2D page layout (Example 1, Example 2) - Illustrates the underlying page grids used by the application. [5%]
- Page/Screen Flow (Example 1, Example 2, Example 3) - Each page of screen as a node with labeled links to the other pages/screens that can be reached. [5%]
- Mockup pages or wireframe (Example 1, Example 2, Example 3) - Typically one diagram for every major screen in the page/screen flow. [10%]
- 2 - Data diagram (Example 1, Example 2) - A diagram showing the data entities and their features. For SQL usually an Entity Relationship (ER)diagram. [15%]
- 3 - Component diagram (Example 1) - As in Assignment 2. Shows the modular structure of your code, the internal APIs, and the relationships between modules or components. [10%]
- 4 - System diagram (Example 1) - Like the component diagram but now shows not only your code but its relationship to other systems components like databases, webservers, application servers etc. [10%]
- 5 - Deployment diagram (Example 1, Example 2) - Shows how the software is deployed across the hardware entities. [10%]
Plus
- 25% for how well the diagrams fit together. For example, if the UI pages show a user registration screen that collects 5 bits of information do all 5 appear in the data diagram? Do the data diagram and components diagrams fit together consistently? If tasks can be tagged with multiple contexts is this supported by the design show in the data, component, and system diagrams. Are the names for things consistent across the diagrams?
- 10% for clarity and presentation.
Final Project - Marking Scheme
- Evaluation of software product
- Degree to which it meeting the three key technical requirements listed above - 10%
- Ease of Use - 10%
- Features - 10%
- Software Architecture - 10%
- Maturity and Robustness 10%
- Evaluation of Software Process
- Documents (to include) - 30%
- Project Charter and Feasibility Doc
- SRS & Project Plan
- System Design & Detained Design Docs
- Documented Code Base
- Test Plan
- Test Reports
- User Manual
- Deployment Guide
- Minutes of Project Meetings
- Group Reviews
- Technical Environment
- Code repository - 5%
- Bug tracking - 5%
- Build Process - 5%
- Testing - 5%
Final Group Project Demo
Each group is to give a demos consisting of three parts:
- A short powerpoint overview of your project including the client, project goals, main requirements, high-level architecture. Be concise! Use lists and pictures/diagrams. Avoid using too many words on each slide.
- A demo of your running system. Lead the audience through one or two of the main uses cases.
- A question and answer period. Have all of your documents, your code repository, and meeting notes available for display. A typical question will ask you to trace a requirement from the Project Charter, to the SRS, through the test cases, into the code, and to its correspondence in the running system. BE READY!
Please be sure to complete parts 1 and 2 in 15 minutes to leave time for questions. Note that I will stop you when 15 minutes is over. Please have all your materials arranged in a well structured way on a memory stick to assist in quickly accessing material.
Project Website (Due on the final Demo Day)
Each group should have a website with at least
- Group name
- List of group members
- Pointer to the Meeting Minutes.
- Access to the running Demo System
- Anything else you think is important
Final Set of Work Products for Group Project
For final submission please prepare a binder containing printed copies of at least the following:
- Project Charter and Feasibility Doc
- SRS & Project Plan
- System Design & Detained Design Docs
- Documented Code Base
- Test Plan
- Test Reports
- User Manual
- Deployment Guide
- Minutes of Project Meetings
The more evidence you can add that shows how your improved your work based on feedback from the marker and other students the better. Your code base should be made available on online or zipped emailed to me. If your code is available for me to run please provide me instructions.
Note on System Design & Detailed Design Docs
A complete set of design documents that cover both the architectural level and the detailed design level. Taken together the design documents should cover the architecture, description of module level system design, and documentation associated with database schema and UI as required. The design documents should also support verification that the system meets the requirements described in the SRS and support the creation of test plans and cases.
8. Project Post-Mortem
EACH STUDENT, should complete a Project Post-Mortem and email it to arc@cs.dal.ca. A template is provided in the template directory. Failure to submit a Project Post-Mortem will result in a zero for student participation.
*********************************************************
Week 1
Tasks
- Self select groups of 3-4 for the the Initial Group Project. Each group must contain at least one member who brought a laptop or tablet to class today!
- Meet together (either here or in one of the buildings breakout rooms. Email me with your location: arc@cs.dal.ca)
- Deliverable
- Discuss and document a plan to meet the Demo and Documentation requirements of the Initial Group Project. See meeting note templates.
- Discuss, answer and document the following process questions:
- What skills do the individual team members bring?
- How are you going to share the work?
- How are you going to monitor progress?
- What is your plan in terms of deadlines?
- Research GTD and develop preliminary answers to the following questions
- What, at its core, it it?
- What are the main principles?
- What is the key vocabulary and what does each term mean?
- What are 3 programs designed to support GTD?
Week 2
Tasks
- Assign new students to groups
- Discuss last deliverable. Udaya to show Blackboard site.
- Finish Time Boxing
- Demo of wireframing/prototyping software (See http://mashable.com/2010/07/15/wireframing-tools/)
- Discuss Project Charter
- Work on Project Charter in Groups
- Work on Use Cases
Week 3
Tasks
- Discussion of Assignment 1
- Intro to development tools: Google Code
- Work on project
Week 4
Tasks
- Demo Schedule
- Communications!
- Discussion of
- Work on projects in groups