Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Share Web Team 5.

Similar presentations


Presentation on theme: "The Share Web Team 5."— Presentation transcript:

1 The Share Web Team 5

2 StrengthsWeaknessesOpportunitiesThreats
Sahar Pourmohammadhosseini

3 Strengths Technical View: Operational View: 1
Some team members have related framework experience Quick learner team members Several members taking 571 (Web technology) Operational View: Team is cooperating well We have regular brainstorming meetings Clients are a very helpful source of information for the team 1

4 Weaknesses Technical View: Operational View: 2
Too many new concepts to learn. solution: come up with a plan, dividing the concepts and new materials among team members to speed up the learning curve process. Lack of practical work experience. solution: this is inevitable and we as a team should manage to learn new things down the road as we move forward with development and we also can review some similarly developed projects to get up to speed faster. Operational View: Many team members have different schedule solutions: Have a group chat on an application (WeChat) Record meeting session for the team Ask team members to provide their inputs and thought prior to meeting to discuss them in meeting as well Sometimes information exchange among team is slow. Solutions: try to post our concerns, thoughts, questions and suggestions via or group chat room so team members can receive it as soon as possible and to provide their response faster. 2

5 Opportunities & Threats
We currently have some opportunities that could be a plus for our team, we are working on a project that is previously developed by a team of engineers and it is a strong opportunity for us to learn from them and familiarize ourselves with the technical aspects, core functionalities and possible risks of our project and the important thing for our team is to take advantage of this opportunity to deliver a successful project. And as one threat in our team is being behind the schedule and the actual start of the development has not been started yet which may cause some further issues. Conclusion: if we follow a structured planning method to analyze the opportunities and threats and can provide an optimized direction for our project and ensure its success. In addition, we can change the threats to opportunities by being cautious, and if not careful to getting team members thinking about everything that could potentially impact the success of the project, we not only lose the opportunities, but also change the opportunities to threats. 3

6 Operational Concept Description
Zhangbiaoge Tian

7 Operational Concept Description
System Purpose

8 Primary Purpose: Competitive edge: 4 Operational Concept Description
Attract more users using both Share app and website Competitive edge: Uploading high resolution pictures Downloading picture in own laptop without installing 3rd party software and bypassing the storage limit of mobile device 4

9 Operational Concept Description
Shared Vision 5

10 Operational Concept Description
Proposed New System 6

11 Operational Concept Description
Benefit Chain Diagram 7

12 System Boundary and Environment
Operational Concept Description System Boundary and Environment 8

13 Operational Concept Description
Core Capabilities 9

14 Operational Concept Description
Level of Service Goals 10

15 ID Organization Goal Organization Goals 11
Operational Concept Description Organization Goals ID Organization Goal OG-1 xxx OG-2 OG-3 OG-4 11

16 Operational Concept Description
Constraints 12

17 Prototype Yuxuan Li

18 Response from get pictures API
Every picture object : “pic_thumb_url”, for the compressed version “one pic_url”, for the original version So we can view the compressed picture and download the original picture, which will minimize the pressure on bandwidth. 13

19 Need modification on api to minimize traffic
Cover picture of event Need modification on api to minimize traffic Currently, there are no cover picture exist on the event We have to ask one another picture for event How we choose cover pictures? Date? Most Recently? Most oldest? User bahavior? Most liked? Most comment? Customized by owner? Decision1: how to choose cover pictures? 14

20 Decision2: What do we show if there is no picture in on event?
Cover picture of event What if a event have no picture? What do we show on the position of cover picture? One official picture? Only word? Decision2: What do we show if there is no picture in on event? 15

21 What if one picture is in the wrong orientation?
Picture Orientation What if one picture is in the wrong orientation? Provide a temporary rotate function? Detect its orientation by some smart image processing technology? Remember users behavior and pick the most user’s choice? Decision3: How do we handle picture orientation? 16

22 Different dimensions may cause the layout messy
Picture alignment Different dimensions may cause the layout messy Make all image the same size? -> cause serious distortion Figure out a size range? They do not have to be the same, but will be nearly the same like google images’ work. Decision4: How we handle picture alignment? 17

23 Different dimensions may cause the layout messy
Test the download funtion Different dimensions may cause the layout messy Make all image the same size? -> cause serious distortion Figure out a size range? They do not have to be the same, but will be nearly the same like google images’ work. Decision4: How we handle picture alignment? 18

24 Test the download function
This download function is not graceful and error-prone. We need to pay enough attention here. Three solutions for downloading pictures: Download them one by one Compressed into a single zip file, backend issue Save to a cloud storage provider(Dropbox or Google Drive) Decision5: How to handle multiple download? 19

25 Decision1: how to choose cover pictures?
Decisions Decision1: how to choose cover pictures? Decision2: What do we show if there is no picture in on event? Decision3: How do we handle picture orientation? Decision4: How we handle picture alignment? Decision5: How to handle multiple download? 20

26 Win-Win Agreements Lianghao Gao Event manageme nt system
Picture manageme nt system Search manageme nt system User manageme nt system

27 Event management system
Win Condition Description WC_4059 As a user, I can create an event, so that I can upload related pictures to the event. WC_4058 As a user, I can search for an event, so that I can find the specific event I'm looking for. WC_3977 As a user, I can delete my (private) event, so that I can keep my privacy. WC_3960 As a user, I can extend my event with extra charge, so that I can let my event exits longer. 21

28 Picture management system
Win Condition Description WC_4091 As a user, I can sort pictures in an event based on the picture uploaded time, so that I can review pictures according to their upload time. WC_4090 As a user, I can sort pictures in an event based on the picture popularity, so that I can review pictures according to their popularity. WC_4061 As a user, I can download many high resolution pictures on my computer, so that I can free a lot of capacity of my phone. WC_4057 As a user, I can upload high resolution pictures for an event, so that I can review high quality pictures. WC_3990 As a user, I can upload multiple pictures one time, so that I can upload pictures with less time. WC_3982 As a user, I can change photos view type (small icon, large icon, extra large, list), so that I can review pictures more convenient. WC_3988 As a user, I can download multiple pictures at one time, so that I can save time then I download many pictures. 22

29 Picture management system
Win Condition Description WC_3987 As a user, I can choose the size of picture to download, so that I can save my storage. WC_3982 As a user, I can change photos view type (small icon, large icon, extra large, list), so that I can review pictures more convenient. WC_3909 As a user, I can report a picture, so that I don't need to see pictures I don't want. WC_3908 As a user, I can like a picture, so that I can express my feeling. WC_3907 As a user, I can delete the picture I upload, so that I can delete the picture I don't want to share anymore. WC_3906 As a user, I can comment a picture, so I can make a comment to the picture owner. 23

30 Search management system
Win Condition Description WC_4058 As a user, I can search for an event both public and private, so that I can find the specific event I'm looking for User management system Win Condition Description WC_3973 As a user, I can reset my password if I forget my password, so that I don't need register again and keep my record. WC_3961 As a user, I can login with facebook account, so that I can login more easier. WC_3957 As a user, I can log in/out, so that I can use this system. 24

31 Architecture Xi Chen

32 Top Level Physical Architecture
25

33 Top Level Logical Architecture
26

34 Artifacts and Information Diagram
27

35 Use Case Diagram 28

36 Use Cases UC-1: Login UC-2: Log Out UC-3: Upload Picture
WC_3957: As a user, I can log in/out, so that I can use the system. WC_3961: As a user, I can login with Facebook account, so that I can login more easier. UC-2: Log Out WC_3957: As a user, I can log in/out, so that I can use the system UC-3: Upload Picture WC_4057: As a user, I upload high resolution pictures for an event. UC-4: Delete Picture WC_3907: As a user, I can delete the picture I upload, so that I can delete the picture I don’t want to share anymore. 29

37 Use Cases UC-5: Upload Multiple Pictures UC-6: Like Picture
WC_3990: As a user, I can upload multiple pictures at one time, so that I can upload pictures with less time. UC-6: Like Picture WC_3908: As a user, I can like a picture. UC-7: Sort Pictures WC_4090: As a user, I can sort picture based on the picture popularity, so that I can review pictures according to their popularity. WC_4091: As a user, I can sort pictures in an event based on the uploaded time, so that I can review pictures according to their upload time. UC-8: Download Multiple Pictures WC_3988: As a user, I can download multiple pictures at one time, so that I can save time. 30

38 Use Cases UC-9: Report Picture UC-10: Comment Picture
WC_3909: As a user, I can report a picture, so that I don’t need to see the pictures I don’t want. UC-10: Comment Picture WC_3906: As a user, I can comment a picture, so I can make a comment to the picture owner. UC-11: Search Event’s Pictures WC_4058: As a user, I can search for an event, so that I can view the pictures for the specific event. WC_3910: As a user, I can enter the correct password and see pictures in a private event, so that I can see the pictures I’m allowed to see. UC-12: Create Private Event WC_4059: As a user, I can create an event, so that I can upload related pictures to the event. 31

39 Use Cases UC-13: Create Public Event UC-14: Delete Event
WC_4059: As a user, I can create an event, so that I can upload related pictures to the event. UC-14: Delete Event WC_3977: As a user, I can delete my (private) event, so that I can keep my privacy. UC-15: Extend Event WC_3960: As a user, I can extend my event with extra charge, so that I can let my event exits longer 32

40 Life Cycle Plan Xuan Wang

41 Purpose Development strategy Duration Team 33
Managing the project team, plan and record milestones at each phase Development strategy Our team will adopt the Architected Agile pattern and partial NDI/NCS to develop The Share Web project, we choose this strategy because we are building the whole website from scratch, but we also need the API provided by Share APP to retrieve the data we need and NCS as services to host our website. Duration The duration of the project is one semester, 12 weeks. Team 6 on-campus students, one off-campus student and one client 33

42 Team Members Name Roles Xuan Wang Life Cycle Planner/ Project Manager
Lianghao Gao Requirements Engineer Xi Chen System Architect Yuxuan Li Prototyper Zhangbiaoge Tian Operational Concept Engineer Chuhan Zheng Feasibility Analyst Sahar Pourmohammadhosseini IIV&V/ Quality Focal Point 34

43 Stakeholder Responsibilities
35

44 Stakeholder Responsibilities
36

45 Exploration Phase Valuation Phase Duration: 09/07/2016 – 09/17/2016
The Share Web Exploration Phase Duration: 09/07/2016 – 09/17/2016 Concept: In this phase, the team specifies the initial scope of the project, identifies operational concepts, necessary skills/responsibilities and sets the objectives. Deliverables: Client Interaction Report, Risk and Defect Report, Project Plan, Progress Report. Milestone: Valuation Commitment Review Strategy: One Incremental Commitment Cycle, Risk assessment analysis Valuation Phase Duration: 09/19/2016 – 09/30/2016 Concept: Success-critical stakeholders have win-win negotiation sessions to evaluate risks, gather requirements, set up mitigation plans and pick the high risk items to prototype. Deliverables: Win Conditions Report, Top Risk Prototype, Risk and Defect Report, Project Plan, Progress Report. Milestone: Foundation Commitment Review Strategy: One Incremental Commitment Cycle, Risk assessment analysis 37

46 Re-Baselined Foundations Phase
The Share Web Foundation Phase Duration: 10/01/2016 – 10/15/2016 Concept: Continue risk assessment process, prepare and release project plan, team follows the system requirements and commitments to develop the prototype and system architect that satisfying priority functions of system Deliverables: Development Commitment Package, Risk and Defect Report, Project Plan, Progress Report. Milestone: Development Commitment Review Strategy: One Incremental Commitment Cycle, Risk assessment analysis Re-Baselined Foundations Phase Duration: 10/16/2016 – 10/19/2016 Concept: Confirm project status and team member skills, sharing implementation jobs within development team members and prepare for development phase Deliverables: Risk and Defect Report, Project Plan, Progress Report, Technical Debt Report, QFP Technical Debt Report. Milestone: Re-Baselined Development Commitment Review Strategy: One Incremental Commitment Cycle, Risk assessment analysis 38

47 Development Phase – Construction Iteration
The Share Web Development Phase – Construction Iteration Duration: 10/19/2016 – 11/16/2016 Concept: Buildup the project, implement the website design and all major functions of the project. Deliverables: Core Capability Drive-Through Report, Risk and Defect Report, Project Plan, Progress Report, Technical Debt Report, QFP Technical Debt Report. Milestone: Core Capability Drive-Through, Transition Readiness Review Strategy: N Incremental Commitment Cycles, Risk assessment analysis Development Phase – Transition Iteration Duration: 11/17/2016 – 12/09/2016 Concept: Future development of project, transition of the project, train other people to maintain the system if needed. Deliverables: Transition package, Operation Commitment Package, Project Archive, Risk and Defect Report, Project Plan, Progress Report, Technical Debt Report, QFP Technical Debt Report. Milestone: Operation Commitment Review Strategy: One Incremental Commitment Cycle, Risk assessment analysis 39

48 QFP Technical Debt Report
Artifacts I Artifact Due date Format Medium Jira Weekly Monday Website Jira Website Risk and Defect Report Bi-weekly Wednesday .xlsx Team Website Project Plan .mpp Progress Report Technical Debt Report Bi-weekly Friday QFP Technical Debt Report 40

49 Artifacts II Artifact Due date Format Medium Client Interaction Report
09/16/2016 .pdf Team Website Top Risk Prototype 09/30/2016 .pptx FC package draft 10/14/2016 .pdf, .doc FC package 10/17/2016 DC package Core Capability Drive-Through Report 11/16/2016 Project Archive 07/12/2016 .rar 41

50 1 2 3 4 5 6 PREC: NOM FLEX: HI RESL: HI TEAM: Very HI PMAT: NOM
COCOMO Scale Driver 1 PREC: NOM Develop the front-end of a website is kind of new to all of tram members, however, we all learnt something from HW2 and some of us are taking wed related class 2 FLEX: HI Our project is for an APP, the functions of that APP have already confirmed so the requirement of the website is also having general conformity. 3 RESL: HI We tracked various risks that we might encounter, And most of them can be mitigated by risk transfer and prototyping 4 TEAM: Very HI Our team members can communicate very well, and also highly cooperative and have a good understanding of the project. 5 PMAT: NOM team members have some understanding of Process Maturity but has no experience. CMM is level 2 6 Increment: 0% Normally, all of the scale drivers will not change during our project process 42

51 Time constraint (TIME) Storage constraint (STOR)
COINCOMO 2.0 Cost Driver Picture Module Cost Driver Value Rationale RELY NOM Reliability is important, once this module failed, the picture our user upload might disappear, but most time won’t cause severe consequence. DATA HI Our project relies highly on the pictures, so we have to consider different types and sizes of pictures, Therefore the ratio of “Testing DB bytes/Program SLOC” will be hi DOCU Documentation will be developed for each phase of development, but nothing special to handle CPLX Our team can use the API provided by the Share APP, and our main focus is on the front end of the website, so the complexity is normal RUSE LO This module is developed specifically for Share Web, so reusability will be low TIME Uploading and downloading pictures should be done in a timely manner. However, large files may take more time. STOR It will take a lot of storage on the server side to store all the pictures, but user have the freedom to choose how many pictures to download to their PC. Reliability (RELY) Data (DATA) Documentation (DOCU) Complexity (CPLX) Reusability (RUSE) Time constraint (TIME) Storage constraint (STOR) Platform volatility (PVOL) Analyst capability (ACAP) Program capability (PCAP) Applications experience (APEX) Platform experience (PLEX) Language and tool experience (LTEX) Personnel continuity (PCON) Software tools (TOOL) Multisite development (SITE) 43

52 Time constraint (TIME) Storage constraint (STOR)
COINCOMO 2.0 Cost Driver Picture Module Cost Driver Value Rationale PVOL LO Keep user feel familiar with our website is important, so there will be no frequent big change to our website, Platform volatility is low. ACAP NOM Our team members have some analyst capability, but not all of us are good at it. APEX HI Using a website is familiar among team members, so the applications experience is high PCAP Although none of us programmed front end of a website before, but we have solid programming capability and skills. PLEX Some team members are familiar with the platform but others have little knowledge of the platform used in our project LTEX All members of the team have experience of HTML or JS languages, but most of us did not used AngularJS and Bootstrap before. PCON Very HI Since our project are expecting to finish within one semester, no turnover is expected, so personnel continuity is very high. TOOL All project members are familiar with some of the tools used in the project and trained for the new tools during the course, but not all of us are familiar with new tools SITE Most of the team members are live near USC. The clients are live a little far from USC and there is a remote team member. However, the team communicates with client through s. Also, the team has face to face meeting with client at school. Reliability (RELY) Data (DATA) Documentation (DOCU) Complexity (CPLX) Reusability (RUSE) Time constraint (TIME) Storage constraint (STOR) Platform volatility (PVOL) Analyst capability (ACAP) Program capability (PCAP) Applications experience (APEX) Platform experience (PLEX) Language and tool experience (LTEX) Personnel continuity (PCON) Software tools (TOOL) Multisite development (SITE) 44

53 User module is common and can be used across many same project.
COINCOMO 2.0 Cost Driver Event Module Cost Driver Value Rationale RELY NOM Search picture by event is an important feature of out project, once this module failed, our user might have trouble to search picture by event, but most time won’t cause severe consequence DATA HI Our project relies highly on the pictures, and some event might have more pictures or more high resolution pictures than others STOR This module is used to manage picture module; this module does not need extra storage. COINCOMO 2.0 Cost Driver User Module Cost Driver Value Rationale DATA NOM Compared with pictures, user importation is easier to store, and the type of user information need to store is also less than pictures. RUSE HI User module is common and can be used across many same project. Reliability (RELY) Data (DATA) Documentation (DOCU) Complexity (CPLX) Reusability (RUSE) Time constraint (TIME) Storage constraint (STOR) Platform volatility (PVOL) Analyst capability (ACAP) Program capability (PCAP) Applications experience (APEX) Platform experience (PLEX) Language and tool experience (LTEX) Personnel continuity (PCON) Software tools (TOOL) Multisite development (SITE) 45

54 COINCOMO 2.0 Analysis Result
46

55 Effort need (Optimistic): 6.96 person-month
COINCOMO 2.0 Analysis Result Analysis Result: Number of SLOC: 4400 Effort need (Optimistic): 6.96 person-month Effort need (Most Likely): 8.70 person-month Effort need (Pessimistic):10.87 person-month Time needed: Since each person will spend about 152 work hours per person month, so the time need for our project is: 6.96 * 152 = hrs (Optimistic) 8.7 * 152 = hrs (Most Likely) 10.87 * 152 = hrs (Pessimistic) Total time spend by team members: 18 hrs/week * 12 weeks * 7 members = 1512 hrs Result: For our project, the person month we have is between the most likely and the pessimistic person month we need, so we can finish our project on time. 47

56 Feasibility Evidence Chuhan Zheng

57 Business Case Analysis

58 Development Period (12 weeks)
Personnel Costs Activities Time Spent (Hours) Development Period (12 weeks) Valuation, Foundation, Development and Operation Phases: Time Invested (CS577a, 12 weeks) 2 Win Win sessions [1hr * 2 times * 1 person] 2 2 Architecture Review Boards [1.5hr * 2 times * 1 person] 3 Client meeting [3hr/wk * 12wks * 1 person] 36 Backend & App team meeting[4hr/wk * 6wks * 4 people] 96 Deployment of system in operation phase and training - Installation & Deployment [3 hrs * 2 times * 1 person] - Training & Support [2 hrs * 2 times * 1 person] 10 Testing [3hr/wk * 3wks * 3 people] 27 Total 174 48

59 Hardware and Software Costs
Type Cost Rationale Hardware cost (AWS) $0.0025/GB/hour (Spot Instances Pricing) Linux server and DB. brackets, AngularJS, Bootstrap $0 Developing tool. 49

60 Benefit Analysis Makes upload and download easier
Increase the size and quality of picture people can upload Attract more different types of users Year No. of Users (No. of users * $0.05 * 12) 2016 2017 150 90 2018 500 300 2019 1000 600 50

61 Architecture Feasibility

62 Capability Requirement
Capability Feasibility Capability Requirement Feasibility Evidence Download high resolution pictures There will be two choices for high or low resolution. AngularJS gets the request and call for backend API for the download link. Upload high resolution pictures AngularJS will judge if the uploading picture is larger than the limitation in ShareApp and call the corresponding API. Download mutiple pictures AngularJS will collect all the IDs of the pictures user choose and send them to the backend. Afterwards backend API returns the download link (a zip file contains all those pictures). * Software/Technology used: Brackets, AngularJS, Bootstrap, HTML 51

63 Risk Assessment

64 The APIs we will use may change, or we need to add/change APIs
Risk Description Risk Mitigation Risk Exposure Potential Magnitude Probability Loss Personnel shortfalls Learn the framework by selves and exchange experience with team members. 8 7 56 The APIs we will use may change, or we need to add/change APIs Interact with client. Commnicate with backend team or the app team to negotiate. 49 Requirement changes Design to cost, incremental development. Commnicate with client frequently. 6 48 52

65 Sahar Pourmohammadhosseini
QualityFocalPoint Sahar Pourmohammadhosseini

66 Traceability Matrix OCD Requirement Use Case WC_4059 53
OC-1: login, logout WC_3957 UC-1 UC-2 OC-2: Event Handle WC_4059 UC-12 UC-13 OC-3: View Function WC_3975 UC-3 OC-4: Pictures Handle WC_3906, WC_3907, WC_3908, WC_3909 UC-6, UC-9, UC-10, UC-14 OC-5: Private Picture Management WC_3910 UC-11 OC-9: upload/Download Management WC_4057, WC_3990, WC_3988 UC-3, UC-5, UC-8 OC-10: Picture Sort WC_4090 UC-7 OC-11: Payment Function WC_3960 UC-15 53

67 Quality Management Strategy
Defect Prevention: Following best coding practices to prevent introducing new bugs as much as possible (pair programming, peer review, version control) Defect Detection: monitor the development progress and follow best testing and simulation methods to detect probable bugs early. Defect Removal: assign the task related to the issue to the developer to fix it prior to moving forward with other segments of the code. 54

68 Defect Prevention 55 Strategy Priority Level Description
Follow Best coding Standards High Personal -Team It is imperative for each team member to follow best coding practices defined by team. Version Control System Personal- Team All code should be stored on a pre-defined repository(Git-Mercurial) Pair programming Med Personal Working together at one workstation, one, the driver, writes the code while the other, the observer, reviews the code. And switch roles frequently. Peer review All team members are required to have their code reviewed by another team member to adhere to best development practices. Prototype Personal-Team Creating prototype of incomplete versions to ensure functionality, quality and requirements. Interactive Story Telling Team Write brief sketches describing story thread, expanding scenes and writing sentence drafts so that other team members understand the point and start brainstorming, and redrafting until reaching to a mutual agreement conclusion. Team Meetings Having at least once a week team staff meeting to review SWOT ( Strengths, Weaknesses, Opportunities and Threats). ARB Architecture Review Board is the best initial step to ensure all key stakeholders are on the same page and there is no confusion or misunderstandings any where. 55

69 Defect Detection Implement automated & manual code analysis : use unit testing methods and automated tools to ensure code quality. (running command lines and code quality tools like LISA, SonarQube, Fortify, QMetry) Running Test cases, Test Suites and Test scenarios: one important step to bug detection is to write and execute tests on the software components to ensure the quality of the code. Monitoring traceability matrix: follow the defect prevention rules at all times in development to check the pre-defined quality standards. Defect Detection Efficiency (DDE) : draw the DDE rate to better monitor and handle defect rate and recognize the possible defect occurrences in future. 56

70 Defect Removal & Tracking
Defect tracking system used in this project is Jira. The IIV&V and Quality Analysis personnel and Project Manager will contribute to monitor, track and maintain reported and known defects in Jira. All defects should be reported in Jira upon detection. A weekly report should be provided for the recurring project reports (number of defects, severity of defects and DDE rate) Responsible personnel should maintain current status in Jira as updates become available to keep team updated on ticket status. 57

71 Defects & Technical Debts
Current Known Defects: Avoidable Defects Unavoidable Defects Concerns We are late to start actual development of the project Spending time on system analysis and requirement definition End up in a technical debt as a result of late start Connection with DEN student in meetings online connection is loose and not as good as in person meeting Not being on same page with some definitions and concepts Implementation team does not have much Angular JS framework experience. Come up with an acceptable software that is based on standards. Technical Debts: - Non as of now. 58

72 Q & A


Download ppt "The Share Web Team 5."

Similar presentations


Ads by Google