Upload
phamliem
View
216
Download
0
Embed Size (px)
Citation preview
OUTLINE• Remote team members• OCD• Requirements• Prototype• Architecture• Life Cycle Plan• Feasibility Evidence• QFP
TEAM STRONG POINTS & WEAK POINTS
Strong Points• Technical
– Foundations– Fast Learners– Project Experience
• Operational– Great Organization– Customer Focused– Driven
Weak Points• Technical
– No Web Dev Experience• NDI/COTS• Risk Averse
• Operational– Full team synchronization
• Schedule• Information (Duality)
OPERATIONAL RISKS & MITIGATIONSRisk Description MitigationPersonnel shortfalls
Communication problems between members of diverse backgrounds. Midterms and recruiting season outside of class cause time conflicts.
Plan more team meetings and participate in team-building
activities. Delegate tasks efficiently to members with more time.
Collaboration on source code
Making sure the code works properly with different team members working simultaneously on different aspects of the project.
Collaborating effectively using GitHub. Talking in meetings to
understand everyone’s product.
Lack of involvement with SCS in the facility manager
Not meeting the manager or understanding their expectations of the system. Not enough communication with stakeholder.
Actively involve stakeholder and build better relationship by
improving communication and meeting the stakeholder.
TECHNICAL CONCERNS & SOLUTIONS
Concern SolutionSkill deficiencies in aspects of web technologies.
Researching and learning several technologies to better understand server side programming languages and
databases.Usability issues with UI and UX. Discuss operation concepts and scenarios with client and
involve stakeholders early in development.
SOURCE OF OBSERVATIONS• Team Communication Channels
– Email – WhatsApp
• WinWin Negotiations
• Google Drive– Documentation
• Prototyping activities
SYSTEM PURPOSEThe COSMIC-System is an efficient and organized inventory tracking system for USC Viterbi’s STEM Education Outreach Programs.
Provides an easy to use interface for managing and tracking inventory.
Designed to increase time and cost efficiency for the STEM Educational Outreach Programs.
PROGRAM MODELAssumptions:• Client and users will use the system once it’s deployed• Inventory Manager will keep the system up to date with current inventory
Stakeholders Initiatives Value Propositions BeneficiariesDevelopers:• Team Members
Client:• Darin Gray
Maintainer:• Inventory Manager
Users:• Student Volunteers• Student Organizations• Schools
Developers: • Develop the inventory
management system
Client:• Provide Requirements• Win Conditions• Hosting System• Feedback / Input
Maintainer:• Use the system• Test the system• Provide Feedback• Provide spreadsheet to
import current inventory
Users:• Use the system
• Increase time efficiency through inventory organization, tracking item location, and automated reorder emails.
• Save costs by tracking inventory stock instead of over-ordering items due to disorganization.
• Easier lesson planning for student volunteers & teachers through our searchable interface.
USC STEM-EOP• Director• STEM Staff• Inventory Manager• Student Volunteers
People that STEM-EOP affect• Students• Teachers• Student organizations
BENEFIT CHAIN DIAGRAMAssumptions:• Client and users will use the system once it’s deployed• Inventory Manager will keep the system up to date
with current inventory
Develop the system
Provide current inventory data
Train student volunteers, student orgs, and schools
to use the new system
Improved inventory tracking system
Increased time
efficiency
Inventory Manager
Faster and more organized inventory
tracking system
Better inventory organization, item location tracking, item reordering
One-time data migration to get the new system
up to date
Developers
Increased cost
efficiency
Department Director, Inventory
Manager
Deploy new inventory
management process
More organized and efficient inventory
management
Ensure system is being used correctly
More efficient lesson
planning process
Tracking inventory stock
instead of over-ordering
items
Teachers and student volunteers
improve lesson planning process
Stakeholder
Outcome
InitiativeLegend:
Student Volunteers, Student
Organizations, Schools
Use the system
SYSTEM BOUNDARY & ENVIRONMENTS
Services provided:• Inventory tracking• Inventory search• Advanced reservation• Item check-in/check-out• User privilege levels
Support infrastructure:• HTML• CSS & Bootstrap• JavaScript• Angular JS• PHP• MySQL
GoDaddy
Department Administrators
Inventory Manager
(maintainer)
Internet
MySQL Database
Inventory Manager
Student Volunteers
Student Organizations
Stakeholders and systemsList of services
Legend:
CORE CAPABILITIESCapability Goals Priority
Login/Logout: User can login using the email address and password they registered for their account with.
High
User Privileges: User access to features is determined by the privilege level of their account assigned when they register.
High
Search: Users can search the inventory by any field including item name, tag name, availability, or description.
High
Reserve: Users can reserve an item in advance by emailing the Inventory Manager their request. Only the Inventory Manager can enter reservations.
Medium
Check-out: Users can check-out an item they reserved, or check-out any item that is available.
Highest
Check-in: Users must check-in items they have checked-out and enter any relevant information in the notes fields.
Highest
LEVELS OF SERVICE GOALSLevel of Service Goals Priority Level
Browsers Supported: Safari 11, Firefox 56.0, Chrome 61, Chrome 60
High
RWD / Mobile Compatibility: Desktop, Laptop, Smartphone Highest
Database Scalability: Be able to handle 1000 different items in the system.
High
ORGANIZATIONAL GOALSOrganizational Goals Priority
Improved inventory tracking system. Highest
Increase time efficiency through inventory organization, tracking item location, and automated reorder emails.
High
Increased cost efficiency by tracking inventory stock instead of over-ordering items due to disorganization.
High
Easier and more efficient lesson planning process. Medium
SYSTEM CONSTRAINTSConstraints
Database: Database limited to MySQL because we are hosting the system on our client’s GoDaddy account.
Server side language: Server side language limited to PHP because we are hosting the system on our client’s GoDaddy account.
REQ: ADMINISTRATIVE (1/3)Win Win Condition Priority Score
WC-1 As a User, I can request an account for a specific user type (org, volunteer, admin). 0.934
WC-1.1 Admin shall create accounts for new users and assign user type
WC-2 As a manager, I can reserve an item. 0.884
WC-2.1 Admin shall be able to reserve an item
WC-2.2 Admin shall be able to make reservations for volunteers
WC-2.3 Reservations can be made same day
WC-2.4 Reservations can be made no sooner than 3 weeks in advance
WC-2.5 Reservation length is limited to one week
REQ: ADMINISTRATIVE (2/3)Win Win Condition Priority Score
WC-3 As an admin, I can add new items to the system. 0.775
WC-3.1 An admin can add new item to inventory
WC-3.2 Only an admin can add to inventory
WC-3.3 An admin can delete item from inventory
WC-3.4 An admin shall be able to initialize item info (description, quantity, tags, location)
WC-5 As an admin, I can read the item logs from the system. 0.631
WC-5.1-2 As an admin I can view current reservations/checked out items
WC-5.3 Reservations shall have associated dates
REQ: ADMINISTRATIVE (3/3)Win Win Condition Priority Score
WC-7 As a manager, I can change the status of an item 0.544
WC-7.1 Sibling to WC-3.4 admin can update item properties (description, quantity, tags, location)
REQ: ITEM TRANSFERWin Win Condition Priority Score
WC-8 As a user, I can view items I have checked out. 0.524
WC-8.1 A user can view their checked out items ( in dashboard)
WC-8.2 Only admin/volunteer can checkout an item
WC-9 As a user, I can return an item I've checked out. 0.508
WC-9.1 User shall be able to return item (in dashboard)
WC-10As a user, I can update an item’s "status" in the inventory when I check-out or return an item. 0.494
WC-10.1-2 System shall update status at check-(in/out)
REQ: BROWSING (1/2)Win Win Condition Priority Score
WC-6As a volunteer, I can check the current availability and location of an item in the system.
0.551
WC-6.1 Users shall be able to view item availability
WC-6.2 Only Volunteer/admin can view location of items
WC-6.3 Org role sole purpose is to browse inventory
WC-6.4 Org shall not have access to location info
WC-12 As a user, I can click on an item to view its details such as status, quantity, location. 0.374
WC-12.1 User can view item details by 'clicking' item picture
REQ: BROWSING (2/2)Win Win Condition Priority Score
WC-14 As a user, I can search for a specific item. 0.339
WC-14.1 User shall be able to search inventory
WC-14.2 Item shall be searchable by name and tags
WC-15 As a user, I can browse through the STEM inventory. 0.32
WC-15.1 User can browse through inventory
WC-16 The website should show image thumbnails in the browse mode. 0.197
WC-16.1 Item thumbnails shall be displayed while browsing
WC-16.2 Item picture shall be displayed on item page (extension)
REQ: OUTWARD FACING (1/3)Win Win Condition Priority Score
WC-4 As a developer, I can import a spreadsheet of items into the inventory system. 0.674
WC-4.1 Team COSMIC shall be responsible for importing inventory into the system one time
WC-4.2Team COSMIC shall be responsible for providing the format to new manager in prep for importing
WC-11 As an admin user, I can get an email notification when an item is out of stock. 0.447
WC-11.1 All Admins shall receive email notification for item going out of stock
WC-11.2 Item stock status triggered by system update ( WC-10.1-2 )
REQ: OUTWARD FACING (2/3)Win Win Condition Priority Score
WC-13 The website should be rendered properly on mobile platforms. 0.373
WC-13.1The website shall render on windows machine on chrome browser (inherent as cosmic is a web app)
WC-13.2 The website shall render on mobile devices
WC-13.2.1 The website shall render on iOS devices on safari
WC-13.2.2 The website shall render on Android on chrome
WC-13.2.3 Mobile support shall at a minimum support browsing (Stakeholder expectation)
REQ: OUTWARD FACING (3/3)Win Win Condition Priority Score
WC-17 As a manager, I can click a button to e-mail Darin to reorder a given item. 0.177
WC-17.1 Admin shall have button to email Darin for re-order
WC-17.2 User shall email Darin for ordering new item
PRODUCT DEMO RECAP• Prototype Presentation Demo
– UI– Database integrated– Login / User Privileges– Check Out
PRODUCT DEMO • Significant capabilities
– ARB Demo• Add new item
– Interoperability with the database– Personnel Shortfall (Back-End Knowledge) Risk Mitigation
• Reservations– High priority score item
• Check In– Risk Mitigation of off-nominal return scenarios– Gain feedback early from critical stakeholders regarding usability issues
Demo
Admin Use Case ListNo. Use Case No. Use Case
UC-1 Login UC-8 View Reservation
UC-2 Logout UC-9 Cancel Reservation
UC-3 View Inventory UC-10 Update Item Details
UC-4 Search Inventory UC-11 Add Item
UC-5 Check In UC-12 Remove Item
UC-6 Check Out UC-13 Add User
UC-7 Make Reservation
Student Volunteer Use Case ListNo. Use Case No. Use Case
UC-1 Login UC-8 Reservation Request
UC-2 Logout UC-9 View Reservation
UC-3 Registration UC-10 Cancel Reservation
UC-4 View Inventory
UC-5 Search Inventory
UC-6 Check In
UC-7 Check Out
Student Organization Use Case ListNo. Use Case No. Use Case
UC-1 Login UC-8 Cancel Reservation
UC-2 Logout
UC-3 Registration
UC-4 View Inventory
UC-5 Search Inventory
UC-6 Reservation Request
UC-7 View Reservation
LIFE CYCLE PLANPurpose of Life Cycle Plan• Develop project plans, estimate project effort for each incremental phase
–Record and update progress over each iteration of the project–Manage workflow and identify responsibilities and skills of team
Overall Strategy• Architected Agile
Assumptions• One semester project length
Team• 7 total members
– 5 On-campus students– 2 Distant Education Students
KEY STAKEHOLDERSStakeholders Roles
Darin Gray Client & Director of STEM Educational Outreach ProgramsXue Fei Lin Inventory Manager of STEM Education Outreach ProgramsSam Lehardi Project Manager/ Life Cycle Planner/ TrainerMishaal Aleem Prototyper/ TrainerRachel Inouye Operational Concept Engineer/ ImplementerSitan Gao Feasibility Analyst/ ImplementerTerence Williams Software Architect/ ImplementerSam Villarreal Requirements Engineer/ IIV & V/ TesterNick Kwong Quality Focal Point/ IIV&V/ Tester
MAINTAINER’S RESPONSIBILITYKeep hosting package online
Save weekly backups on hosting package
Add new items into the system
Monitor emails for inventory system
Register new user accounts
Understand domain models developed
Learn basics of phpMyAdmin to maintain database
COCOMO II SCALE DRIVERSPREC
Nominal
FLEXNominal
RESLHigh
TEAMHigh
PMATNominal
Precedentedness
Process Maturity
Development Flexibility
Risk Resolution
Team Cohesion
COCOMO II RESULTSAnalysis Results:
SLOC: 2,700
Effort needed (120 hours / person-month):Optimistic = 5.60 person-monthMost Likely = 7.00 person-monthPessimistic = 8.75 person-month
Assumptions for 12 week fixed schedule:-Assuming 10 of 12 weeks fill COCOMO II phase (72% of total effort estimate)-Assuming 120 hours/person-month
Total time spent by COSMIC team member:12 hrs/week * 10 weeks =120 hrs
Single team member effort:(Factor)(120 hours/person-month)(.72) = 120 hrsFactor = 1.39 CII person-months
Total team effort with 7 members:7 *1.39 person-month = 9.73 CII person-month
NDI CHOICE
NDI Products PurposesAngularJS Javascript Framework
PHP Programming Language
MYSQL Store data (eg. user, item, check-in/check-out record)
GoDaddy Hosting
BUSINESS CASE
• Cost (cost factors)– Development costs– Maintenance costs– Domain costs
• Benefits (Key performance indicators – KPIs)– Save times for people who wants to borrow items– Have a better management of items
MAJOR RISKSRisks Risk Exposure Risk Mitigations
Potential Magnitude
Probability Loss
Risk Exposure
Personnel shortfalls: Skill deficiencies in aspects of web technologies and lack of cohesion between members as new team just formed. Communication problems between members of diverse backgrounds. Midterms and recruiting season outside of class cause time conflicts.
6 6 36Researching and learning several technologies and better understanding of server side programming languages and databases. Plan more team meetings and participate in team-building activities. Delegate tasks efficiently to members with more time. Inventory management system crashing and loss of information
Inventory management system crashing and loss of information: Bugs, malfunctions, malware, etc. may cause database to not function and crash, potentially losing months of information
8 4 32Developing extra features to create savepoints and restore points for the system.
Gold Plating /Requirements mistmatch: Taking too much time to develop features that add little value to the overall user experience of the product.
5 6 30Performing case-analysis and holding win-win negotations with client. Taking surveys from stakeholders to determine most important features.
Inability to handle multiple users: Various schools/organizations/students will have access which may cause real-time issues for reserving items.
6 4 24Prototyping system to determine how many users can actively use system with no performance loss. Discuss with client expected amount of users.
Requirements change: Client introduced modifications to pre-existing features to improve overall quality and flow of system.
6 4 24Incremental development of highest priority features and functions first. Schedule hardest features and discuss with client
PERSONNEL COSTSActivities Time Spent (in hours)
Client Meeting: 1h/w * 12 w 12
Win-Win Sessions: 2 sessions * 1h 2
Training: 2h 2
ARB: 1 session * 1.5h 1.5
CCD: 1 session * 1h 1
TRR: 1 session * 1.5h 1.5
Total 20
HARDWARE AND SOFTWARE COSTS
Type Cost Rationale
Development Cost $0 Only use PHP、AngularJS and MYSQL to develop
Maintenance Cost $0 No foreseeable maintenance costs
Hardware Cost $0 No foreseeable hardware costs
GoDaddy Economy Cost $7.99/month Gain a hosting package
BENEFIT ANALYSISCurrent activities & resources
usedCurrent Time
Spent (Hrs/Yr)Proposed Time Spent (Hrs/Yr)
% Reduction
Time Saved (Hrs/Yr)
Find ItemUser: See if there are items available 60 6 90% 54Reserve ItemUser: Send e-mail of reserve requestManager: Set item reserved 75 10 87% 65
Manage Item Manager: Manage, update and track item 50 15 70% 35
Total 154
PERSONA 1 – JENNY MILLER• Basic Demographics: 20, Female, USC Undergraduate Student• Background: Jenny grew up in Pasadena, CA. She is a Sophomore at
USC majoring in Computer Science and living in the on-campus dorms. She is an excellent student, and in her free time she works as one of the student volunteers for USC Viterbi’s STEM-EOP.
• User Scenario: Jenny is going to facilitate a robotics project at a nearby high school. She wants to reserve 8 robot kits to bring with her to the school next Wednesday. She will need to check out the robots on Wednesday morning, and plans on returning them Thursday morning.
• Computer Literacy: Jenny is a computer science student, and is very technically fluent. Her browser of choice is Chrome, but she can use any web browser easily (desktop or mobile).
PERSONA 2 – SPENCER LEE• Basic Demographics: 28, Male, USC Graduate Student• Background: Spencer grew up in Seattle, WA. He did his
undergraduate degree in Biology at The University of Washington, and is now getting his PhD in Biology at USC. He works part-time as the Inventory Manager for USC Viterbi’s STEM EOP.
• User Scenario: Spencer receives an email from a student volunteer with a list of items and quantities they would like to reserve for an upcoming project, along with their reservation dates. Spencer needs to confirm that those items and quantities are available, and then reserve each item for the specified date and quantity.
• Computer Literacy: Spencer has average technical fluency relative to his peers. He exclusively uses Safari as his browser of choice on his MacBook and iPhone.
QUALITY/CONFIGURATION MANAGEMENTQuality Management• Benchmarking
– Compare to other similar websites, such as Amazon• Peer Review• Test Cases
Configuration Management • Revision control through GitHub• Baseline requirements established through win-win negotiations
– verified and updated through client meetings
TRACEABILITY MATRIX (1/3)Requirement ID Verification Type Test Identifier Test Case
WC-1 User can request an account
Testing TC-01: Request an account TC-01-01: Check that admin users can create accounts
TC-01-02: Check that user with new account created by admin can log in
WC-2 Manager can reserve an item
Testing TC-02: Reserve an item TC-02-01: Check that only admin users can access reservations
TC-02-02: Check that reservations are successful
TC-02-03: Check that reservations cannot be more than 3 weeks in advance
WC-3 Manager can add new items to the system
Testing TC-03: Add new item TC-03-01: Check that only admin users can add a new item
TC-03-02: Check that only admin users can set the information of new items being added
TC-03-03: Check that only admin users can delete an item
TC-03-03: Check that new items are added successfully
TC-03-04: Check that items can be removed successfully
TRACEABILITY MATRIX (2/3)Requirement ID Verification Type Test Identifier Test Case
WC-4 Developer can import a spreadsheet Testing TC-04: Import spreadsheet TC-04-01: Check that spreadsheet is successfully imported
WC-5 Manager can read item logs Testing TC-05: Read item logs TC-05-01: Check that only admin users can view current reservations
WC-6 Check current availability and location
Testing TC-06: View item availability and location
TC-06-01: Check that all users can view item availability
TC-06-02: Check that only admin and student volunteer users can view item locations
WC-7 Manager can change an item’s status Testing TC-07: Change item status TC-07-01: Check that only admin users can update item properties
WC-8 Users can view their checked-out items
Testing TC-08: View own items TC-08-01: Check that all users can view items they checked out
TC-08-02: Check that only admin and student volunteer users can check out items
WC-9 Users can return their checked-out items
Testing TC-09: Return items TC-09-01: Check that all users can return items they checked out
WC-10 Item status changes with quantity Testing TC-10: Item status changes with quantity
TC-10-01: Check that an item’s status is “available” if the quantity is positive
TC-10-02: Check that an item’s status is “unavailable” if the quantity is 0
TRACEABILITY MATRIX (3/3)Requirement ID Verification Type Test Identifier Test Case
WC-11 Admin email notification for out of stock items
Testing TC-11: Out of stock items TC-11-01: Check that admin users are notified when an item is out of stock
WC-12 Users can view item details Testing TC-12: View item details TC-12-01: Check that all users can view item details
WC-13 Website is usable on multiple platforms
Testing TC-13: Website is cross-platform
TC-13-01: Check that website is fully functional on Windows machine with Chrome browser
TC-13-02: Check that website is fully functional on iOS devices with Safari browser
TC-13-03: Check that website is fully functional on Android devices with Chrome browser
WC-14 Users can search for an item Testing TC-14: Search for an item TC-14-01: Check that all users can search for an item
TC-14-02: Check that items are searchable by name and tags
WC-15 Users can browse the inventory Testing TC-15: Browse inventory TC-15-01: Check that all users can see all items
WC-16 Website should show item images
Testing TC-16: Show item images TC-16-01: Check that all items have images when browsing
TC-16-02: Check that all item details include an image
WC-17 Manager can email Darin to re-order an item
Testing TC-17: Email Darin TC-17-01: Check that only admin users can email Darin to re-order an item
TRACEABILITY MATRIX SUMMARY
Completed Incomplete Total
Requirements/Test Identifiers 12 5 17
Passed Failed Untested Total
Test Cases 21 2 6 29
DEFECT INJECTION & REMOVAL MATRIX
Defect Injection Phase
Defect Removal Step Requirements Design Coding Total
Requirements Review
Design Review
Testing C D A,B 4
Customer Detected
Total 1 1 2
Avoidable Defects:A. Spelling errors and issues in syntaxB. Entering decimals/negative/zero for quantity checkout
Unavoidable Defects:C. Lack of feedback from
facility managerD. Inability to test on client
hosting package
TECHNICAL DEBTDescription Category1 Category2 Has it been
fixed?How did you fix it/mitgation plan
No. of weeks active
Due to availability issues, scheduling conflicts, and midterms, we have not met with the one of the success critical stakeholders yet (facility manager)
Personnel Shortfalls
Reckless Inadvertent
No Actively involve stakeholder and build better relationship by improving communication and meeting the stakeholder.
2
Although the database currently works correctly, we have not checked that the database is formatted properly due to lack of domain knowledge
Personnel Shortfalls
Prudent Deliberate
Yes Spend more time learning about databases and have multiple team members confirm that the database is built properly and is 3NF.
1
Although the website is currently running with similar hosting parameters, we have not tried running it with the client's actual hosting package.
Methods, Processes and Tools (MPT) Shortfalls
Prudent Deliberate
No We will transfer the website to the client's server for testing.
3