rdcr arb - university of southern california€™s roles and responsibility member name role...
TRANSCRIPT
RDCR ARBCS 577B Team 1 PicShare
Outline- Project & Team Evaluation- Operational Concept Description (OCD)- Architecture & Designs- Prototype Progress- Parse
- Parse Alternatives- Parse Open Source Server Code
- Life Cycle Plan (LCP)- Project plan, Team roles & responsibilities
- Test Plan- Test Schedule, Test Cases
- Feasibility Evidence- Traceability Matrix, Risk Analysis, Metrics- Technical Debt, Definition of Done
Project & Team Evaluation
Project & Team - OperationalStuff we’re knocking out of the park
● Process!● Tools● Communication● Documentation
Stuff we’re still working on
● Peer reviews● Group work meetings
○ NOT Hackathons!!!
Project & Team - TechnicalStuff we’re knocking out of the park
● Steady development progress● Flexibility
Stuff we’re still working on
● Spinning (back) up on iOS● Functional demos during sprint
meetings● How best to coordinate testing
Operational Concept Description (OCD)
Program ModelAssumptions:
● People desire to share photos● People are interested in what is happening around them● People are dissatisfied with existing means of sharing photos
Stakeholders Initiatives Value Propositions Beneficiaries
● Developers
● Client
● Maintainers
● Users
● Design and develop system● Marketing● Maintenance● Documentation, training and
knowledge transfer● Using the app to share photos
● To increase efficiency of photo sharing
● To allow users to share photos through private and public events as well as their current location
● To improve user experience in photo sharing
● To promote sharing of photos
● Users (Tech-
savvy people
aged 18-45)
Costs Benefits
● Development costs● Maintenance costs● Server costs● COTS costs
● Revenue
● Increase number of users
Architecture & Designs
High Level Architecture
- iOS Native Client Mobile App- Backend Server to host photos and events- Admin tool to manage photos and events
Login/Sign up
Profile
Upload photo to location
Search photos by location
Create Event
Prototype Progress
Prototype Progress
Features Implemented
- Account Registration/Login- Upload Account Profile Photo- Upload Photo to Location- Browse Photos by Location- Create Public/Private Event
Parse
Moving on from Parse
● Parse’s hosted services will be fully retired on January 28, 2017● Possible options
➔ Migrate to another back-end provider which is similar to Parse1. Appcelerator Arrow2. Backendless Cloud
➔ Build a custom back-end using open source Parse Server code
Parse Alternatives
● Pros:➔ Does not need to develop custom back-end➔ Reduces the risk of scalability issues as the usage of PicShare
increases➔ Less server maintenance required
● Cons:➔ Most of the existing mobile app code has to be rewritten➔ Any back-end provider may end services just like Parse.
Appcelerator Arrow
● Founded in 2006 and recently acquired by Axway● Two key parts: Arrow Builder and Arrow Cloud● Arrow Builder
➔ Framework for building APIs ● Arrow Cloud
➔ Includes the schema-less datastore (ArrowDB) and full MBaaS capabilities (like Parse)
Pricing (Appcelerator Arrow)
Indie ($39/month) - Single Seat Team ($259/seat/month)
ArrowDB only Arrow Builder and Arrow Cloud (includes ArrowDB)
1 million monthly API calls 10 million monthly API calls
5 GB file storage 10 GB
1 million monthly push notifications 10 million monthly push notifications
1 developer on the team 1 developer per seat
No containers 4 containers per seat
Backendless Cloud
● Founded in 2012 and self-funded● Highly similar to Parse
➔ Data Storage➔ File Hosting➔ GeoPoints➔ Users/Roles/Access Control List (ACL)➔ Push Notifications➔ Cloud Code (Server-Side Code)
● Allows import of Parse data objects into Backendless
Pricing (Backendless Cloud)
Free Limit Extension (Function Pack) Extension Price
50 API calls/sec additional 10 API calls/sec $50/month
20 GB file storage additional 20 GB $1/month
1 million push notifications additional 100,000 push notifications
$10/month
1 developer on the team unlimited team size $10/month
Management only via Console
Management REST API $5/month
Open Source Parse Server
Introduction
Open source Parse server is the implement code of Parse backend service. It is based on Express framework and contains almost all the function of Parse service.
Open Source Parse Server Solution
Necessary Components
- Parse Server Code
- Node.js, Express
- MongoDB
Other Components
- Plugins to implement complete cloud functionality
Open Source Parse Server Solution
Solution 1:
Infrastructure: AWS(or other similar cloud service)
Process:
1. Build a virtual machine(S2 service in AWS)2. Deploy Node.js, Express Framework, MongoDB3. Deploy Parser server code4. Deploy App backend code and connect Mobile end code5. Hook Parser server to MongoDB
Open Source Parse Server Solution
Solution 2:
Infrastructure: Heroku, MongoLab
Process:
1. Create accounts in Heroku and MongoLab2. Create an Express App in Heroku and deploy Parse server3. Create a MongoDB instance on MongoLab4. Deploy App backend code and connect Mobile end code5. Hook Parser server to MongoLab
Open Source Parse Server SolutionAspects Solution 1 Solution 2
Work Build all native framework Learn how to use Heroku and MongoLab
Build Complexity Handle all native details Cloud service handles all platform things
Free VersionStudent free account MongoLab Free 500MB
Heroku 500RAM, Sleep 6 hours per 24hour running
Pricing(basic option)
Only based on AWS pricing100$/mon (performance similar to right )
MongoLab 40$ / Mon Heroku 25$ / standard node per Mon
Performance Based on software architecture and Server hardware
Dynamic increasing
Life Cycle Plan (LCP)
Life Cycle Plan (LCP)
- Project Plan- iOS Mobile App- Backend/Admin- Testing- Milestones
- Team Roles and Responsibilities
iOS Mobile App
Backend/Admin
Testing
Milestones
Team’s Roles and ResponsibilityMember Name Role Responsibility
Logan Chang Team manager and IOS developer
Managing project; System integration; Develop iOS mobile client app
Andy Chua Backend developer Develop backend solution and admin tool.
Haihao Lu Backend developer Researching and developing backend solution and admin tool.
Jiashun Zhou IOS developer Develop iOS mobile client app.
Weili Zhang Backend developer Develop backend solution and admin tool.
Yao Wang IOS developer Develop iOS mobile client app.
Yunwei Yuan IOS developer Develop iOS mobile client app.
Nick Funk Backend developer, QFP Develop backend solution and admin tool.
Joseph Mouawad Backend developer Develop backend solution and admin tool.
Test Plan
Testing Overview79 Individual Tests across 14 Test Cases
42 nominal, 37 off-nominal
100% Requirements Coverage
100% Use Case Coverage
Full traceability between testing, requirements, and use cases
Test Cases● TC-08: Create Account
● TC-13: Account Login and Logout
● TC-12: Take Photo with Device Camera
● TC-03: Upload Photo to Location
● TC-02: Search by Location
● TC-01: Create Event
● TC-09: Search for Event
● TC-10: Join Event
● TC-11: Upload Photo to Event
● TC-05: Download Photo for Event
● TC-04: Delete Uploaded Photo
● TC-06: User Interface Actions
● TC-07: Administrator Photo Management
● TC-14: Automated System Functions
Testing ScheduleDate Test Identifier Personnel Required Resources Status
11 Jan - 29 Jan Scan all test cases, familiarize with technical Requirements Tester TPC, Requirements Traceability COMPLETE
16 Feb - 22 Feb [TC-08] Create Account Tester TPC
16 Feb - 22 Feb [TC-13] Account Login and Logout Tester TPC
23 Feb - 29 Feb [TC-12] Taking Photos with Device Camera Tester TPC, Physical iOS Device
23 Feb - 29 Feb [TC-03] Upload Photos to Current Location Tester TPC
23 Feb - 29 Feb [TC-02] Search for Photo by Location Tester TPC
1 Mar - 7 Mar [TC-01] Create Event Tester TPC
1 Mar - 7 Mar [TC-11] Upload Photos for Event Tester TPC
8 Mar - 14 Mar [TC-09] Search for Event Tester TPC
8 Mar - 14 Mar [TC-10] Join an Event Tester TPC
15 Mar - 21 Mar [TC-05] Download Photos for Events Tester TPC
15 Mar - 21 Mar [TC-04] Delete Uploaded Photos Tester TPC
22 Mar - 28 Mar [TC-06] User Interface Interactions Tester TPC
TBD [TC-07] Administrator Photo Management Tester TPC
TBD [TC-14] Automatic System Functions Tester TPC
29 Mar - 25 Apr User TestingTester, Developers, Project Manager TPC, Requirements Traceability
TC-08: Create AccountTest Level: Software Item
Test Class: Erroneous
Test Completion Criteria:
1. An account is created correctly2. The create profile screen is
displayed3. Profile photo can be applied4. Errors displayed as appropriate
7 Subtest Cases:TC-08-01: Check creating an account with correct informationTC-08-02: Check creating account with missing required field (off-nominal)TC-08-03: Check creating an account with email address or username that is already in use (off-nominal)TC-08-04: Check creating an account with username or password that does not meet requirements (off-nominal)TC-08-05: Check adding a photo to profile from camera deviceTC-08-06: Check removing a photo from profileTC-08-07: Check adding a photo from photo roll
TC-13: Account Login and LogoutTest Level: Software Item
Test Class: Erroneous
Test Completion Criteria:
1. The user is able to login with valid username and correct password
2. The user is unable to login with valid username and incorrect password
3. The user is able to log out
10 Subtest Cases:TC-13-01: Check user able to login with valid username and correct passwordTC-13-02: Check user unable to login with valid username and incorrect password (off-nominal)TC-13-03: Check user unable to login with invalid username (off-nominal)TC-13-04: Check user able to log out of accountTC-14-05: Check user able to cancel log out of account (off-nominal)TC-14-06: Check administrator able to login with valid username and correct passwordTC-14-07: Check administrator unable to login with valid username and incorrect password (off-nominal)TC-14-08: Check administrator unable to login with invalid username (off-nominal)TC-14-09: Check administrator able to log out of accountTC-14-10: Check administrator able to cancel logout of account (off-nominal)
TC-12: Take Photos with Device CameraTest Level: Software Item
Test Class: Erroneous
Test Completion Criteria:
1. The user is able to take a photo with the camera built into their device
2. Errors displayed as appropriate
4 Subtest Cases:TC-12-01: Check user able to take a photoTC-12-02: Check user able to retake a photoTC-12-03: Check user able to cancel taking a photoTC-12-04: Check user attempt to take photo while there is a camera error (off-nominal)
TC-03: Upload Photo to User’s Current LocationTest Level: Software Item
Test Class: Erroneous
Test Completion Criteria:
1. A photo is tagged with location data and descriptive text
2. Photo and tag data are submitted to database
3. Uploaded photo may be viewed by browsing photos in current user location
4 Subtest Cases:TC-03-01: Choose a photo to uploadTC-03-02: Upload a photo with valid tag data and server connectivityTC-03-03: Upload a photo with invalid tag data (off-nominal)TC-03-04: Upload a photo with no server connectivity (off-nominal)
TC-02: Search by LocationTest Level: Software Item / System
Test Class: Erroneous
Test Completion Criteria:
1. System queries test region and returns all photos within test region and no photos outside region
2. Errors displayed as appropriate
8 Subtest Cases:TC-02-01: Functional Sensor TestTC-02-02: Non-Functional Sensor Test (off-nominal)TC-02-03: Populated Location Query TestTC-02-04: Null-Result Location Query Test (off-nominal)TC-02-05: Valid Database Connection TestTC-02-06: Invalid Database Connection Test (off-nominal)TC-02-07: Non-connection Database Error Test (off-nominal)TC-02-08: Partial-Result Location Filter Test
TC-01: Create EventTest Level: Software Item
Test Class: Erroneous
Test Completion Criteria:
1. System creates a public and private event
2. System displays newly created events on the event screen
3. Errors displayed as appropriate
7 Subtest Cases:TC-01-01: Check create public event with valid hashtag nameTC-01-02: Check create private event with valid hashtag name and passwordTC-01-03: Check create public event with invalid hashtag name (off-nominal)TC-01-04: Check create private event with invalid hashtag name (off-nominal)TC-01-05: Check create private event with invalid password (off-nominal)TC-01-06: Check create private event with no network connection (off-nominal)TC-01-07: Check create public event with already used hashtag name (off-nominal)
TC-09: Search for EventTest Level: Software Item
Test Class: Erroneous, Timing
Test Completion Criteria:
1. System stops searching if user types in illegal search term
2. System returns search results within one second
3. Errors displayed as appropriate
3 Subtest Cases:TC-09-01: Check input search term legalityTC-09-02: Check server error statusTC-09-03: Test search response speed
TC-10: Join EventTest Level: Software Item
Test Class: Erroneous
Test Completion Criteria:
1. User is able to join a public event2. User is able to join private event3. User prevented from joining private
events with incorrect credentials4. User is able to view joined events5. User is able to cancel joining event
5 Subtest Cases:TC-10-01: Check user able to join public eventTC-10-02: Check user able to join private event with correct passwordTC-10-03: Check user unable to join private event with incorrect password (off-nominal)TC-10-04: Check user able to cancel joining eventTC-10-05: Check user able to view joined events
TC-11: Upload Photo to EventTest Level: Software Item
Test Class: Erroneous
Test Completion Criteria:
1. User is able to upload a photo to an event they have joined
2. Errors displayed as appropriate
5 Subtest Cases:TC-11-01: Check upload to event which user has joinedTC-11-02: Check upload to event which user has not joined (off-nominal)TC-11-03: Check upload to event when device has no network connection (off-nominal)TC-11-04: Check upload to event when database unavailable (off-nominal)TC-11-05: Check user cancels upload action (off-nominal)
TC-05: Download Photo for EventTest Level: Software Item
Test Class: Erroneous
Test Completion Criteria:
1. User is able to download photos for an event
2. Errors displayed as appropriate
3 Subtest Cases:TC-05-01: Check downloading a photo when every part of the system works wellTC-05-02: Check downloading a photo with Internet interruption (off-nominal)TC-05-03: Check downloading a photo when local device is out of storage (off-nominal)
TC-04: Delete Uploaded Photo Test Level: Software Item
Test Class: Erroneous
Test Completion Criteria:
1. User is able to delete photos for an event
2. Event owner able to delete photos tagged to their event
3. Errors displayed as appropriate
7 Subtest Cases:TC-04-01: Check deleting a photo when every part of the system works wellTC-04-02: Check deleting a photo without Internet access (off-nominal)TC-04-03: Check deleting a photo when server is unavailable (off-nominal)TC-04-04: Check event owner able to delete a photo uploaded to their eventTC-04-05: Check event owner able to cancel deleting a photo (off-nominal)TC-04-06: Check event owner deleting a photo without Internet access (off-nominal)TC-04-07: Check event owner deleting a photo when server is unavailable (off-nominal)
TC-06: User Interface Interactions Test Level: Software Item
Test Class: Erroneous
Test Completion Criteria:
1. System displays navigation bar2. System receives user inputs on
navigation bar3. Navigation bar invokes correct
screens4. Events display remaining time in
correct format
4 Subtest Cases:TC-06-01: Check navigation bar displayTC-06-02: Check navigation bar input receiptTC-06-03: Check navigation invoke functionalityTC-06-04: Check event expiration countdown
TC-07: Administrator Photo Management Test Level: Software Item
Test Class: Erroneous
Test Completion Criteria:
1. Searching by user and event returns correctly
2. Admin is able to delete photos3. Errors displayed as appropriate
9 Subtest Cases:TC-07-01: Check search for phto by user with legal nameTC-07-02: Check search for photo by user automaticallyTC-07-03: Check search for photo by user without Internet access (off-nominal)TC-07-04: Check search for photo by event hashtag with legal nameTC-07-05: Check search for photo by event hashtag automaticallyTC-07-06: Check search for photo by event hashtag without Internet access (off-nominal)TC-07-07: Check admin able to delete photoTC-07-08: Check admin able to cancel photo deletion (off-nominal)TC-07-09: Check admin not able to delete photo during connection error (off-nominal)
TC-14: Automated System Functions Test Level: Software Item
Test Class: Erroneous
Test Completion Criteria:
1. System deletes expired events automatically
2. System deletes expired event photos automatically
3. System deletes expired location photos automatically
3 Subtest Cases:TC-14-01: Check system deletes expired location photos automaticallyTC-14-02: Check system deletes expired event photos automaticallyTC-14-03: Check system deletes expired events automatically
Feasibility Evidence
Feasibility Evidence- Traceability Matrix- Risk Analysis- Metrics- Technical Debt- Definition of Done
# Requirement Use Case # Use Case Description Sequence Diagram Class Diagram Test Case
1 The system shall allow a user to upload a photo to an event. 1,24
Upload photo to my event, Search for event & upload photo
Upload photo to my event Photo management TC-11
2
The system shall allow a user to reserve a hashtag for a private event, allowing the user to specify a password to upload and view photos of the event.
4, 5,6,7,8
Create private event, Reserve Hashtag, Set a password, View photos of event, View event with password
Set a password, reserve a hashtag, view photos of event/private with password
Event Management TC-01
3 The system shall allow users to view photos uploaded from nearby locations in a grid layout.
9 Search by location Search Location Search Location TC-02
4 The system shall allow users to search for events by hashtag. 10 Search for event Search Event Search Event TC-09
5 The system shall delete expired events and any photos associated with them.
17,18 Delete expired events, Delete photos of expired events
Auto expiration Admin TC-14
6
The system shall provide functionality for users to delete their own photos and for administrators to delete photos.
11,19 Delete uploaded photos, Admin delete photos
Admin delete photo, Delete photos in event if owner
Admin, Event Management
TC-04, TC-07
7 The system shall allow a user to take a photo with the camera on the device.
13 Take photo Take a photo Photo management TC-12
Traceability (1 of 3)
# Requirement Use Case # Use Case Description Sequence Diagram Class Diagram Test
Case
8The system shall prevent users from uploading photos to private events without the password.
28,29 Join event, view joined event
view joined event, search for event Event Management TC-10,
TC-11
9 The system shall provide an interface for users to create a new account or login to an existing one.
14,16 Create account, Login to account
Create account, Log in to account Account TC-08,
TC-13
10 The system shall allow a user to create a public event. 3 Create public event Create public event Event Management TC-01
11 The system shall allow an owner to delete photos in their event. 12 Delete photos in private
event Delete Photos in Event if Owner Event Management TC-04
12 The system shall delete expired photos uploaded to a location. 20 Delete expired location
photos Auto expiration Admin TC-14
13 The system shall allow users to download photos to their device. 21 Download photo to device Download photos to device Event Management TC-05
14The system shall prevent events from having the same hashtag as any other non-expired event.
3 Create a public event Create public event Event Management TC-01
15
The system shall only allow users to take photos when uploading to their current location. 2 Take photo for location
Upload to location after taking photo Photo management TC-03
Traceability (2 of 3)
# Requirement Use Case # Use Case Description Sequence Diagram Class Diagram Test
Case
16 The system shall allow users to view photos on their device to upload. 26 View photos on device View photos on device Photo management TC-03
17 The system shall allow users to filter nearby photos by a predefined radius (My Home, My Block, My City).
9 Search by location Search Location Search Location TC-02
18 The system shall allow hashtag names only contain alphanumeric and dashes and underscore characters.
3,4 Create a public event, Create a private event Create public event Event Management TC-01
19 The system shall display the remaining time on an event as days if greater than 1 day or hours:minutes if less than 1 day.
7,8 View photos of event/private with password
View photos of event/private with password
Event Management TC-06
20 The system shall allow administrators to filter the list of all events by hashtag name and users by username.
22,23 Search for photos by user, Search for photos by event
Admin search for photo by user, Admin search for photo by event
Admin TC-07
21 The system shall allow users to create an account profile and logout of their account. 15,25 Create profile, Log in
to account Create profile, Log in to account Account TC-08,
TC-13
22 The system shall allow users to navigate between screens with a tab bar. 27 Navigate between
screens Navigate between screens Navigation TC-09
Traceability (3 of 3)
RiskRank Risk Description Cause Mitigation Method P(L) 1-
10 S(L) 1-10
RE
1 Using a Parse alternative MBaaS will result in significant project delay
Using a Parse alternative will result in the need to rewrite most of the existing mobile app code. Also there is no guarantee that the alternative will be a long term solution. If Parse can be shut down, other third party solutions can also be shut down at some point in the future.
Develop our own custom backend instead using Parse Open Source Server code
9 7 63
Rank Risk Description Cause Mitigation Method P(L) 1-10
S(L) 1-10
RE
2 Custom backend may not be completed on time.
We have decided to implement our own backend based on Parse's Open Source Server code.
We have adjusted our priorities as well as assigned additional resources onto this project. We can also research other projects that have been working with the Parse Open Source code and be proactive by asking questions on StackOverflow and Parse Forums
6 7 42
Risk
Rank Risk Description Cause Mitigation Method P(L) 1-10
S(L) 1-10
RE
4 Unknown system load constraints
We have not defined how well the system should work such as how many users it should support or the expected load to our servers and database.
We plan to discuss the technical and non-functional requirements among our teams and then negotiate with the client. In addition we can begin formulating test cases in our test plan for load testing.
5 4 20
Rank Risk Description Cause Mitigation Method P(L) 1-10
S(L) 1-10
RE
3 Backend security Since we are developing our own custom backend solution based on Parse Open Source code, there may be security issues that arise that could compromise our data.
Research security issues about the Parse Open Source code and test it as well as our own backend by exploiting it. Add additional test cases to account for security testing.
7 3 21
Rank Risk Description Cause Mitigation Method P(L) 1-10
S(L) 1-10
RE
5 Management Change We may have different integrators for different parts in the future process of project. Also staff turnover makes team management different.
We plan to reduce the amount of work for the system integrator and make it more efficient by clearly defining the responsibilities of each team member.
5 3 15
Risk
Rank Risk Description Cause Mitigation Method P(L) 1-10
S(L) 1-10
RE
6 The scope of the project is large for the time frame.
Even after negotiating with the client to create a core set of MVP requirements, the project is still sizable for our time frame. Also new requirements were discovered as we performed robustness analysis and FCR ARB presentation adding to the scope.
We plan to consistently negotiate with the client for any new requirements to reduce the scope. We also plan to begin prototyping in order to buy information about our system to get a better estimate of development tasks.
6 5 30
Rank Risk Description Cause Mitigation Method P(L) 1-10
S(L) 1-10
RE
7 The project may not be completed on schedule due to lack of mobile app and backend development experience.
Since the team is inexperienced in mobile app development and backend development experience, there will be an initial high learning curve.
We plan to mitigate this risk by modifying our team structure and process to match the strengths of our team. Likewise we plan to start learning more about our development platform and begin prototyping.
7 7 49
Risk
Rank Risk Description Cause Mitigation Method P(L) 1-10
S(L) 1-10
RE
8 Requirement Change As a part of agile development, our client have changed some requirements and may change more in the future.
We will assign any changes in the requirements to the team member that is most familiar with that part of the system. That way, they will be able integrate the change faster with less chance of error.
4 3 12
Rank Risk Description Cause Mitigation Method P(L) 1-10
S(L) 1-10
RE
9 System may not function according to user expectations
Due to a lack of end-user involvement during the system development, the system may be difficult to use or not what the user has expected.
We plan to have the client test our system as we develop prototypes in order to buy information about what our end-user may expect from our application.
2 6 12
Risk
Rank Risk Description Cause Mitigation Method P(L) 1-10
S(L) 1-10
RE
10 Pair testing may not be efficient and comprehensive
By pairing up to handle tests, each person is in charge of testing their pair's use cases. This is inefficient as it requires each person to context switch from development to play a QA/QFP role resulting in inconsistencies.
Appoint a single person as a QFP/QA/IV&V to handle all the testing, so that developers can focus on development and the QFP can focus on testing and researching automated testing.
4 3 12
Rank Risk Description Cause Mitigation Method P(L) 1-10
S(L) 1-10
RE
11 Potential COTS conflicts and integration issues
We may decide to use some COTS as part of our system to help expedite our development. However, since we have not started development, we don't know if they will integrate well with our system.
We plan to mitigate this risk through buying more information through prototyping the components that will use these COTS.
5 4 20
Risk
Rank Risk Description Cause Mitigation Method P(L) 1-10 S(L) 1-10 RE
12 A single QFP/QA/IV&V may be unreliable and allow bugs to persistent
Due to the large number of test cases and features, a single QFP is prone to inconsistencies and error.
Create a thorough test plan and schedule that includes specific test cases for each features. Also research automated testing tools to help alleviate the heavy test case load. The developer should also perform basic testing before committing their code. Also PR/Code Review will help reduce bugs and errors. Potentially, appoint additional testers for more complex use cases.
3 3 9
Rank Risk Description Cause Mitigation Method P(L) 1-10
S(L) 1-10
RE
13 Design assets may contain incompatible elements
While we have gotten the final designs from our client and vetted them properly, we may still run into the scenario that some design features may be incompatible with iOS. This will result in potential delays or changes to features.
Create proof of concept for any complex areas of the designs
2 3 6
Risk
Rank Risk Description Cause Mitigation Method P(L) 1-10
S(L) 1-10
RE
14 Staff Turnover Our den student team members may not take 577b in the next semester and other students may join our team.
We plan to have a consistent development style to make it easier for new team members to pick up where the old ones left off. Also, we will provide good documentation to make it easier for the new team members to understand what we have completed. Lastly, we will reach out to the professor to recruit students for our team for CS 577b.
2 1 2
Metrics for Hours
Name Week 1 Week 2 Week 3 Week 4
Logan 6 9 14 12
Yao 6 10 10 8
Jiashun 6 8 6 8
Andy(Yew Hua) 9 9 10 12
Joseph 0 8 9 12
Nick 5 20 18 19
Weili 2 22 17 14
Haihao 7 9 12 15
Vincent(Yunwei) 9 11 9 9
Metrics for Defects per KLOC
Week 1 Week 2 Week 3 Week 4
5.2 12.5 11.8 7.8
Metrics
Contributions
Technical Debt# Technical Debt Mitigation Plan
1Focus only on critical MVP requirements of the app may cause additional rework to add additional features for new requirements.
Compile list of additional features and have team members keep these features in mind as they are developing the MVP features.
2Lack of thorough system prototype of may reveal undiscovered flaws in architecture.
Begin prototyping major risk and areas of concern to unveil any potential problems or integration issues.
3
Lack of well-considered and solid infrastructure as the team chose a solution based more on team experience rather than the best solution for the product
After completing the MVP, team will negotiate with client and decide on next steps.
4Design assets may contain incompatible elements that may not be discovered due to the focus on developing functionality first.
Create proof of concept for any complex areas of the designs.
Definition of Done
Application- App MVP features developed- App design reviewed and approved- Admin tool MVP features developed- Backend server developed and completed
Code- All code committed to Github repositories - All code commented (where needed)- All code has gone through Pull Request
Code Review
Documentation- Transition Readiness plan completed
Test- All App MVP features test cases passed- All Admin tool MVP features test cases passed- All Backend server test cases passed- All blockers/bugs fixed and validated by QA/QFP- Backlog of minor bugs and tasks groomed and
properly estimated - Acceptance Test Complete
Live on Production Service
- Admin tool deployed on production server- Backend server deployed on production server
Backup Slides!
Search by event
Search by event cont.
Photo management
Photo management cont.
Photo management cont.
Event management
Event management cont.