Feasibility Rationale Description (FRD)



Feasibility Evidence Description (FED) MoveIntel Web AppTeam 6Guangyu Li Project ManagerYu Deng Quality Focal PointAustin Klein Operational Concept EngineerSheng Luo Requirements EngineerYitong Song Feasibility AnalystSebastian Val IIV & VXining Wang PrototyperHeng Yan Life Cycle PlanWeijie Ye Software Architect October 23, 2020Version HistoryDateAuthorVersionChanges madeRationale09/25/20Yitong1.0Original template for usev1.0Initial draft for use v1.010/12/20Yitong1.1Update purpose of FEDUpdate status of FEDUpdate business model (add an extra assumption, add architecture cost)Initial draft of personnel costMore information added to present in ARBSome risks removed after prototype presentationArchitecture settled down10/14/20Yitong2.0Update 5.1, 5.2 Add capability feasibilityAdd LOS feasibilityUpdate Business modelUpdate connectorsAdd ROIDiscuss more details in group meeting regarding architecture and NDI/NCS we will be usingSeparate each AWS services instead of calling them AWS cost overall10/16/20Yitong2.1Add description of architecture feasibilityAdd description of LOS feasibilityAdd description of capacity feasibilityAdd description of evolutionary feasibilityAdd risk assessment descriptionAdd more NDI connectorsAdd NDI introductionFinish status of FED Finish architecture feasibility analysisMore analysis and information added after ARB presentation10/21/20Yitong2.2Update RisksUpdate Business AnalysisUpdate LOSSync with OCD Sync with biweekly packageSync with OCD’s LOS10/22/20Yitong2.3Update LOSUpdate Business ModelUpdate Capability FeasibilitySync with OCD Table of Contents TOC \o "1-4" \h \z \u Feasibility Evidence Description (FED) PAGEREF _Toc54293123 \h iVersion History PAGEREF _Toc54293124 \h iiTable of Contents PAGEREF _Toc54293125 \h ivTable of Tables PAGEREF _Toc54293126 \h vTable of Figures PAGEREF _Toc54293127 \h vi1.Introduction PAGEREF _Toc54293128 \h 11.1Purpose of the FED Document PAGEREF _Toc54293129 \h 11.2Status of the FED Document PAGEREF _Toc54293130 \h 12.Business Case Analysis PAGEREF _Toc54293131 \h 22.1Cost Analysis PAGEREF _Toc54293132 \h 22.2Benefit Analysis PAGEREF _Toc54293133 \h 32.3ROI Analysis PAGEREF _Toc54293134 \h 43.Architecture Feasibility PAGEREF _Toc54293135 \h 73.1Level of Service Feasibility PAGEREF _Toc54293136 \h 73.2Capability Feasibility PAGEREF _Toc54293137 \h 83.3Evolutionary Feasibility PAGEREF _Toc54293138 \h 114.Risk Assessment PAGEREF _Toc54293139 \h 125.NDI/NCS Interoperability Analysis PAGEREF _Toc54293140 \h 135.1Introduction PAGEREF _Toc54293141 \h 135.2Evaluation Summary PAGEREF _Toc54293142 \h 13Table of Tables TOC \h \z \c "Table" Table 1: Personnel Costs PAGEREF _Toc20659976 \h 3Table 2: Hardware and Software Costs PAGEREF _Toc20659977 \h 3Table 3: Benefits of xxx System PAGEREF _Toc20659978 \h 3Table 4: ROI Analysis PAGEREF _Toc20659979 \h 4Table 5: Level of Service Feasibility PAGEREF _Toc20659980 \h 5Table 6: Capability Requirements and Their Feasibility Evidence PAGEREF _Toc20659981 \h 5Table 7: Evolutionary Requirements and Their Feasibility Evidence PAGEREF _Toc20659982 \h 6Table 8: Risk Assessment PAGEREF _Toc20659983 \h 7Table 9: NDI Products Listing PAGEREF _Toc20659984 \h 8Table 10: NDI Evaluation PAGEREF _Toc20659985 \h 8Table of Figures TOC \h \z \c "Figure" Figure 1: ROI Analysis Graph PAGEREF _Toc20659975 \h 4IntroductionPurpose of the FED DocumentThe Purpose of Feasibility Evidence Description Document (FED) is to show the strengths and weaknesses of our existing business model, opportunities and threats, human and technology resources required and the prospects for success.In this document, we provide feasibility evidence from the aspects of business case analysis, architecture feasibility, risk assessment, and NDI Interoperability analysis to the project will be delivered within budget and schedule.Status of the FED DocumentWe have finished exploration, valuation and foundations phases, and stepped into development stage. We analyze business case together with our client and in this document, cost analysis and benefit analysis are shown clearly with quantities. Both RIO analysis in time efforts and in hardware/software cost are involved, which indicate that we will get our return-on-investment in two years (end of 2021).Architecture feasibility are analyzed in terms of level of service feasibility, capability feasibility and evolutionary feasibility. Prototypes showed in prototype presentation and ARB presentation are evidence that we have the ability to deliver the required system with our proposed architecture.Risk assessment is updated biweekly and the current version shows risks we have by 10/23/2020. We will continue to update risks in the following weeks.NDI are external services we will be using in our system. We will show what are alternatives of different types of NDI, how we evaluate each option and decide which option to use.Business Case AnalysisAssumptions Patient will want movement analysis advice from practitioners.Practitioners will sign up to the platform for/sports medicine clinics will use the platformStakeholdersInitiatives Value Propositions Beneficiaries PatientsPractitionersMoveIntelDevelopersMaintainersDevelop new movement analysis systemUpload videos for analysisAnalyze uploaded videosGenerate customized movement analysis reports for patientsView completed reportsMaintain the systemView educational materials Save time for MoveIntelFaster and improved movement analysis with less time spent manually processing files?Increased practitioner productivity?Improved patient care Practitioners in sports medicine clinicsPatients of sports medicine clinicsMoveIntelCost Development costServer (S3)Video Storage (EC2)FaaS (Lambda)Database cost (DynamoDB)Frontend (React) - FreeBenefits Turn-around time per videoNumber of videos processed per weekNumber of users served per weekCost AnalysisThe cost estimation does not include any cost spent by development team and is only based on cost spent by our client. Our client is willing to provide extra costs of servers and database. Other COTS products will also be used in the project, but they cost no extra fee.Personnel CostsTable SEQ Table \* ARABIC 1: Personnel CostsActivitiesTime Spent (Hours)Development Period (12 weeks) Valuation and Foundation Phases: Time Invested (CS577a)Communications via email, phone, slack and Zoom [3 hrs/week * 12 weeks]36 Kick-out meetings [0.5 hrs/person * 9 persons]4.5 2 win-win conditions meetings [1 hr/meeting * 2 meetings]2 UI usability testing meeting 1.5ARB presentation [1.5 hrs/meeting * 2 meetings]3CCD presentation1.5Total48.5Maintenance Period (1 year)Maintenance [3 hr/week * 52 weeks]156Total156Hardware and Software CostsThe estimated cost does not include the cost of the server hosing AI algorithm since it is deployed before the beginning of this course. The following table only includes extra costs made by our development.Table SEQ Table \* ARABIC 2: Hardware and Software CostsTypeCostRationaleHardware – Backend Server (AWS EC2)$230/yearAn AWS EC2 server is required to host backend of our web application.Hardware – Frontend Server (AWS EC2)$230/yearAn AWS EC2 server is required to host frontend of our web application.Hardware – DynamoDB$40/year A NoSQL database is required to store dataHardware – AWS S3$40/year A video storage is required to store videos user uploadedSoftware – React$0A frontend framework is required for our web application.Total$540Benefit AnalysisAs mentioned above, activities & resources used are estimated by the assumption that there will be 100 analysis requests per week.Currently the system requires at least 15 minutes per request for maintainers to manually deploy the workflow. The new system developed by our team reduces it to at most 2 minutes/request. [12hrs/month * 60 mins/hr / 400 requests = 2 mins/request]Currently the system requires up to 24 hours for users to get a report. The new system developed by our team reduces it to at most 15 minutes. Most time goes to AI processing, and 15 minutes/request is provided by our client.Table SEQ Table \* ARABIC 3: Benefits of AI Movement Analysis SystemCurrent activities & resources used% ReduceTime Saved (Hours/Year)Video analysis request Maintainers 0.25 hr/request * 100 requests/week * 52 weeks = 1300 hours88%1144Waiting time Patients and practitioners 24 hrs/request *100 request/week* 52 weeks = 124800 hours99%124644Total124788ROI AnalysisThe following table shows the summary of costs and benefits at the end of each year. We assume there is a 10% increase in maintenance cost based on 10% yearly increase in software engineers’ salary. We only include maintainers time saved as effort saved. ROI = (Cumulative Benefit – Cumulative Cost)/Cumulative CostSpecial Note:We do not include waiting time for patients and practitioners as cost because it is not effort comes from our client.Table SEQ Table \* ARABIC 4.1: ROI AnalysisYearCostBenefit(Effort Saved)Cumulative CostCumulative BenefitROI202048.5048.50-1.0020211561144204.511444.592022171.61144376.122885.082023188.761144564.8634325.08This table indicates numbers of costs and benefits which can be described as follow:Cost: 48.5 hours is the amount invested during the development period156 hours is the amount invested in 2021 during the operation/maintenance171.6 hours is a 10% increased amount from 2021’s 156 hours188.76 hours is a 10% increased amount from 2022’s 171.6 hoursBenefit:1144 hours is the time saved annually when using the new systemUsing the above information, the RIO Analysis Graph can be plotted as follow:Figure SEQ Figure \* ARABIC 1.1: ROI Analysis GraphTable SEQ Table \* ARABIC 4.2: ROI Analysis (With Hardware and Software Cost)YearCostBenefit($ Saved)Cumulative CostCumulative BenefitROI2020$19950$19950-1.002021$5220$34320$7215$343201.652022$5742$34320$12957$686404.302023$6316.2$34320$19273.2$1029604.34This table indicates numbers of costs and benefits which can be described as follow:Cost: 48.5 hours * $30/hour + $540 = $1995156 hours * $30/hour + $540 = $5220$5220 * 1.1 = $5742 (10% increased from $5220)$5742 * 1.1 = $6316.2(10% increased from $5742)Benefit:1144 hours * $30/hour = $34320ROI = (Cumulative Benefit – Cumulative Cost)/Cumulative CostUsing the above information, the RIO Analysis Graph can be plotted as follow:Figure SEQ Figure \* ARABIC 1.2: ROI Analysis Graph (With Hardware and Software Cost)With this ROI graph, it can be concluded that we will get our return-on-investment in two years. (End of 2021)Architecture FeasibilityThe purpose of architecture feasibility analysis is to provide evidence that our architecture could can satisfy client’s requirements and could be feasibly implemented in the system we will deliver.Level of Service FeasibilityThe Level of Service requirements are the same as OCD’s, but in a higher level of idea. In the following table, product strategies, process strategies and analysis are provided for each LOS requirement.Table SEQ Table \* ARABIC 5: Level of Service FeasibilityLevel of Service RequirementProduct SatisfactionLOS-1: The system should have high availability with an uptime of 99.99%, excluding scheduled maintenanceProduct Strategies: Code optimization, bug free codeProcess Strategies: Performance prototyping and testing, Lambda as triggerAnalysis: We’ll do performance prototyping and testing to make sure our code is bug-free, and we also use Lambda to automatically trigger the AI algorithm.LOS-2: The database has the capacity to store profile information, settings and reports (average of 3 reports per user) of 2000 users.?The average of 3 reports per user was chosen as that would be the typical number of visits of a patient to a sports medicine clinic.The number of users (2000) was chosen to allow MoveIntel to significantly grow (by a factor of 10x).?Profile information, settings, and reports are primarily what will be stored in the database. Product Strategies: Choose DynamoDB as our databaseProcess Strategies: Go through documentation of DynamoDB to make sure we make the full use of it.Analysis: AWS services are easy to scale up. For Amazon DynamoDB, it has a service called “auto scaling”, which allow performance and cost optimization at any scale. Therefore, even our data significantly grows by a factor of 10x, we can avoid scaling up database by ourselves.LOS-3: Average time of .3s from a user clicking “upload” to the upload actually beginning.?The time taken to fully upload the video will depend on video file size. The above level of service is only in relation to how long it will take for the upload to start.? Product Strategies: DynamoDB connectorProcess Strategies: write a DynamoDB connector to make sure DynamoDB is properly connected to our web application.Analysis: DynamoDB delivers single-digit millisecond performance at any scale. With a connector between our backend to DynamoDB, this LOS could be guaranteed.LOS-4: Average time of .3s from getting parameters from practitioners tostarting analysis using MoveIntel’s AI backendThe time taken to analyze the selected video will depend onvideo file size. The above level of service is only in relation tohow long it takes for the analysis to begin.Product Strategies: Code optimization, LambdaProcess Strategies: write a connector from our web application to Lambda, and let lambda trigger the AI algorithm when uploading video is done.Analysis: Lambda lets us run code without provisioning or managing servers. We can run code for our web application with zero administration. The only thing we need to do is to set up code to trigger the AI algorithm. Once it is done, AWS Lambda could guarantee this LOS.Capability FeasibilityThe capability requirements are the same as OCD’s. In the following table, we provide Software/Technology used, feasibility evidence and referred use case diagram to show that the capability goals could be achieved.Referred use case diagram: OCD’s Element Relationship Diagram.Table SEQ Table \* ARABIC 6: Capability Requirements and Their Feasibility EvidenceCapability RequirementProduct SatisfactionCR-1: Sign up and authentication: Provide the users a system that they can sign up with a username and password, so that they can be authenticated and granted the privilege to use the system.Software/Technology used: EC2, DynamoDBFeasibility Evidence: prototype of authentication, prototype of getting data from DynamoDBCR-2: Video uploader: Upload video to AWS S3 server and the backend will check for video size, FPS, and resolution. If any of these are incorrect then it gives a warning note.Software/Technology used: PythonFeasibility Evidence: Python’s cv2 package could provide this information.CR 3: Movement analysis: Allowing uploaded videos to be sent to MoveIntel's backend AI algorithm for processing, (by a shell script hosted on EC2) and the resulting data received. Software/Technology used: EC2, LambdaFeasibility Evidence: prototype of trigger MoveIntel’s backend AI, though some of the access are not given for now. With further communication with our client, full access required would be given.CR-4: Report generation: The report generated by the MoveIntel's backend AI algorithm will be displayed with camera angles, normative values/tables on diagrams, and possibly practitioner comments.Software/Technology used: DynamoDB, ReactFeasibility Evidence: Prototype of posting and retrieving data from DynamoDB; React templates package Ant Pro has template for it. Our prototype of normative tables is also an evidence.CR-5: Report editing: Practitioners can edit algorithm-generated reports and make comments on the reports.Software/Technology used: DynamoDB, React, EC2Feasibility Evidence: Prototype of posting and retrieving data from DynamoDB. React templates package Ant Pro has template for comment section.CR-6: Video player: A web-based video player. The video player supports different playback speed, full screen mode, and drag on the progress bar to select frames. The algorithm generated optimal frames can be replaced by selected frames Software/Technology used: ReactFeasibility Evidence: Prototype of optimal framesCR-7: Patient management: The system allows practitioners to manage their patients’ information. The practitioner will have access to all the data. But the patient will only have access to the data that the practitioner decides to display for them. Software/Technology used: EC2, ReactFeasibility Evidence: Prototype of patient could not access to contents of other usersCR-8: User management: The system provides a module for the users to edit the profile information.Software/Technology used: EC2, React, DynamoDBFeasibility Evidence: Prototype of posting and retrieving data from DynamoDB. React templates package Ant Pro has components for profile information.CR-9: Security feature: Patients’ data will be encrypted and only be visible to his/her practitioner instead of all users.Software/Technology used: EC2, ReactFeasibility Evidence: Prototype of patient could not access to contents of other usersCR-10: Track system: Keeps track of the video status (not yet analyzed, being analyzed, has been successfully analyzed, analysis fails) and the number of videos each user has left for processing.Software/Technology used: MoveIntel’s AI, AWS Lambda, DynamoDBFeasibility Evidence: Prototype of triggering MoveIntel’s AI by Lambda, prototype of posting and retrieving data from DynamoDB.CR-11: Information storage: Video/ image uploaded will be stored on the S3 server with accessibility control. Profile information and reports will be stored in DynamoDB.Software/Technology used: S3, DynamoDB, EC2Feasibility Evidence: prototype of posting and retrieving data from DynamoDB; prototype of uploading videos to S3CR-12: Report sharing: Practitioners can share the reports to designated patients. Software/Technology used: EC2, DynamoDBFeasibility Evidence: prototype of authentication, prototype of posting and retrieving data from DynamoDBCR-13: Settings panel: Practitioners can change the overall display default, modify which optimal frames are displayed, and modify the parameters and the corresponding text interpretation.Software/Technology used: EC2, DynamoDB, ReactFeasibility Evidence: prototype of posting and retrieving data from DynamoDB, React templates package Ant Pro has template for settings.CR-14: Data visualization:? Data visualization corresponds to the JSON files that are given from the core algorithm. There are 2 types of data graphs that correspond to the 2 types of JSON files. The first would be a continuous data graph for the whole video. The second would be a time series data graph for optimal frames. Software/Technology used: ReactFeasibility Evidence: React templates package Ant Pro has template for those data visualization. CR-15: Billing system: The billing system allows users to purchase different plans on video analysis with their credit card and other online payment methods.Software/Technology used: Amazon DevPayFeasibility Evidence: Amazon DevPay is a simple-to-use online billing and account management service for applications that are built on top of AWS. CR-16: Notification system: When the analysis progress is finished, the system will send the practitioner an email as notification.Software/Technology used: PythonFeasibility Evidence: python’s yagmail allow us to send email through Gmail account.CR-17: Educational materials: Practitioners can post educational materials. Many practitioners may not have good educational/marketing materials on their website. This would help them automate this process and help the clients get seen.Software/Technology used: ReactFeasibility Evidence: React templates package Ant Pro has templates for showing articles, images and videos.Evolutionary FeasibilityThe following table describes the system’s evolutionary requirements and the rationales on how they can be satisfied.Table SEQ Table \* ARABIC 7: Evolutionary Requirements and Their Feasibility EvidenceEvolutionary RequirementProduct SatisfactionER-1: Provide database backupSoftware/Technology used: AWS DynamoDBFeasibility Evidence: DynamoDB provides three different types of backup plan with different pricingsReferred use case diagram: ODC’s entity Relationship DiagramER-2: Add face blurring feature into the pipelineSoftware/Technology used: Algorithm developed by our client or AWS RocketMLFeasibility Evidence: RocketML provide service of face blurring and since it’s an AWS service, it is compatible to our architecture. Referred use case diagram: ODC’s entity Relationship DiagramRisk AssessmentRisk assessment are updated biweekly. Risk exposure = potential magnitude * probability loss. Scale of potential magnitude and probability loss is 10. As you can see in the table, the riskiest item of our risks only has a risk exposure of 36 out of 100 because we have mitigated more risky items in our prototypes and only less risky items are left.The following table reflects risks of week 5. We will update risks in biweekly package in the following weeks.Table SEQ Table \* ARABIC 8: Risk AssessmentRisksRisk ExposureRisk MitigationsPotential MagnitudeProbability LossRisk ExposureMay not finish all customer requirements9436Do more research and design to buy informationNegotiate win-win condition with clientLambda does not have enough access to MoveIntel's server and couldn't trigger the AI algorithm5630Talk with our client to ask for accessMay not be able to follow the plan exactly as expected5525Weekly tutorial sessionMay not be able to allow users to upload videos at the same time5525Do more research to buy information or implement a uploading queueLack of developer knowledge regarding Flask5525Learn online course about FlaskDynamoDB is complicated to interact with from python2510Prototype DynamoDB integrationInability to use the client's backend algorithm for movement analysis11010Complete top-risk prototype to buy informationBad UI and interaction design339Modify and come up with better designAnalysis result page UI might be hard to design339Gain UI design information from existing web applications or separate data to different tabsDuplicating work and other team conflicts326Keeping an updated task board, maintaining communication over Slack, allocating time during weekly meetings to assign tasks and discuss expectationsDatabase backend is difficult to integrate155Perform database trade study to analyze candidatesVideo frame replacement / snapshot capability not widely compatible122Buy down risk by trying a minimal test case in all browserNDI/NCS Interoperability Analysis IntroductionThis project involves many usages of NDI (Non-Development Item). The definition and listing of these products and packages are described in the following sections. We choose AWS products as our main NDI.COTS / GOTS / ROTS / Open Source / NCSThe following are products that are used in the project.Table SEQ Table \* ARABIC 9: NDI Products ListingNDI/NCS ProductsPurposesAWS S3Video storageAWS EC2Backend and frontend serverAWS LambdaTriger the AI algorithmDynamoDBStore data ReactFrontend ConnectorsPython/DynamoDB connector to enable the Python web application to post data to the database and retrieve data from the database.Python/S3 connector to enable the Python web application to transfer videos to S3 back and forth.S3/Lambda connector to enable the web application to trigger video processing by AI algorithm.Lambda/AI algorithm (EC2) connector to enable the web application to trigger video processing by AI algorithm.Legacy SystemIn this project, MoveIntel already has an AI algorithm for video processing in Python and AWS EC2, so we continue to use Python to implement backend and AWS to run backend and frontend servers.Evaluation SummaryTable SEQ Table \* ARABIC 10: NDI EvaluationNDIUsagesCommentAWS EC2Web Application ServerSlightly higher costHigh compatibilityClient’s preferenceHave experienceReactFrontend FrameworkShort learning curveGood templates to use (prototype)AWS S3Video StorageHigh CompatibilityLower priceDynamoDBDatabaseLower priceHigh compatibilityLess flexibility of data structureAWS LambdaFunction as a Service (FaaS)High compatibilityLower price? ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download