Team 05 SnApp Voice Communication System Team Client: Charles Zivko Team Members: Divij Durve - IIV & V Harsh Mhatre - System/Software Architect Khyati Thakur - Prototyper Monica Varhale - Feasibility Analyst Nikita Gupta - Project Manager Shlok Naik - Operational Concept Manager Shruti Gotmare - Life Cycle Planner Sushmaja Bondili - Requirements Engineer Team’s Strengths and Weaknesses ● Strengths: ○ Client Communication ○ Project understanding ● Weaknesses: ○ Roles ○ Team Cohesion ● Concerns: ○ Schedule ○ Technology Team’s Strengths and Weaknesses ● Risks: ○ Schedule - Reduce requirements ○ LOS - Prototype S/P Engineer Observation Call logger, Dialer, Call listening, incoming call handler Twilio Issue: Lack of experience with the technology. open win conditions: redirect to open agent, call conference, auto dialer Communication via email Required Ruby on rails - lacking Operational Concept Description System Purpose ● Develop a voice communication system to be used in-house by the sales team of SnApp-Dev. ● The voice communication system is an automation and enhancement of the existing system that will lead to increased revenue for the client. ● Unlike the current system which is time consuming and scattered requiring more human effort, our system will simplify the workflow of the sales team by integrating all components into one place. Core Capability Transformations Capabilities Roles and Responsibilities Current System The current system has only the role of a sales agent. New System Along with a sales agent, the new system will provide roles for sales managers and system admin (maintainer). User Interactions The current system requires the user to interact with multiple different applications. The new system will provide the user with different screens to interact with the system for different functionalities. Infrastructure The current infrastructure for the system comprises of Skype, Five9 and Freedom Voice. The new infrastructure will consist of the Voice Communication system built using Ruby on Rails and hosted on Heroku server which integrates with the SnApp CRM and the Twilio API. Stakeholder Essentials and Amenities The current system is used by sales agents to click-to-call, autodial, setup account and download logs. The new system will be used by sales agents, sales managers and system admin to make calls, autodial, monitor and record calls, log call details, update lead information, and conference into calls. Future Capabilities N/A The new system can be used by the company executives to gain better business insights by data analytics. Benefits Chain System Boundary System Capabilities Capability Goals Priority Level OC - 1: Log call detail information Must have OC - 2: Directly dial leads Must have OC - 3: Conference into calls High OC - 4: Provide voicemailbox Low OC - 5: Auto dial from pool of leads Very high OC - 6: Listen to call recordings Must have OC - 7: Handle incoming calls Nominal Organizational Goals: ● Improve time and money savings ● Improve sales monitoring and performance ● Improve business insights via analytics Constraints: ● The system must run on Linux. ● The system must be deployed on Heroku cloud. ● The system must use PostgreSQL as the back-end database. ● Ruby on Rails will be used as the development language and platform. ● Twilio must be used for enabling calling features. Capability and Project Requirements Agreed WinWin Conditions: Call Logger ● The system shall log call detail information so that we can pull analytics on it. Priority: 0.87 Dialer ● As a sales agent I can click-to-call customers. Priority: 0.85 Call listening ● As a sales manager, I can jump in to calls so that I can help close the deal. Priority:0.75 ● As a sales manager I can listen in on active calls so that I can assure quality. Priority: 0.75 Incoming call handler ● The system shall route the customer to voicemail if no agent is available. Priority: 0.73 Call recording ● As a sales manager, I can use the recordings so that I can train agents. Priority: 0.63 ● As a sales manager, I can listen to recordings so that I can assure quality. Priority: 0.63 External system interface ● The system will be integrated with the SnApp CRM. Tools/Languages ● The system interface will be built using HTML5, CSS, Javascript, Bootstrap, jQuery. ● The system shall be deployed Ruby on Rails. ● The system shall run on Linux. ● The system shall use Twilio API for voip. ● The system shall log data in PostgreSQL. Potential Agreed Win Condition: Call Conferencing ● As a sales agent, I can quickly and easily request the conference call of a manager so that I can close a sale. Dialer ● As a sales agent I can auto dial customers so that I save time Incoming call handler ● The system shall make sure the incoming call is assigned to a back up agent if the primary agent is unavailable so that less customers go to voicemail Level of Service: ● Efficiency: The system should be able to route calls within a 2 seconds to a open agent. Priority:0.85 ● Scalability: The system should be able to handle 200 simultaneous incoming and outgoing calls. Priority:0.57 ● Scope: The auto dialer should be able to make 10 simultaneous calls to find an available customer for the agent. Priority:0.12 Risk Items Prototyped ○ ○ ○ ○ ○ Provide direct dialling Provide autodialing Provide conferencing Handle callbacks from customers Log call details ❏ Integration with the CRM ❏ Log all necessary data in standard format for analytic engines Risk Mitigation Strategy ❏ Buying Information ○ Prototyping ○ Twilio API satisfy requirements ○ CRM integrates with Twilio API ❏ Risk Reduction ○ Incremental Development ○ Test in phases rather than at the end Prototyping Results Twilio integrated with CRM and being used to make calls. Prototyping Results Call logs being retrieved in the CRM via Twilio. Architecture Internet Internet Mobile and Landline Service Providers ● A web browser on the SnApp workstations is used to access the VCS application, that is deployed on Heroku Cloud. ● The application routes calls to and from customers / leads via Twilio API. Company Organization and Roles Logical Architecture Technical Architecture (MVC) Project Plan Life Cycle Strategy - Development phase Development phase Duration: 10/15/14 – 11/25/14 Concept: In this phase, the development team will identify the necessary functionalities of the system and design mockups for each functionality. After the prototypes are done, the team will start developing the system. Each member of the team will develop a particular module and perform unit test for that module. At the end of the development, the team will perform integration and system testing. Deliverable:Operations Commitment package, Transition package, Core capability report, initial operational capability, evaluation documents Milestone: Transition Readiness Review, Core Capability Drivethrough Strategy: Development and testing Life Cycle Strategy - transition increment Transition increment Duration: 11/14/14 – 11/25/14 Concept: In this stage, the development team will push the source code base on the gitlab and deploy along with the app on Heroku. The team will also train Charles about the usability of the system who will in turn train his company employees who will use the system . Deliverable: Operational Commitment Review Package, Transition package, Source code Milestone: Operation Commitment Review Strategy: Deployment, Training, and Transition Key Stakeholder Responsibility Tools for monitoring project progress ● Bi-weekly project report ● Bi-weekly project plan ● Weekly team meetings for planning and review ● Weekly client meetings for feedback ● Reporting on and monitoring Bugzilla ● Gitlab to manage the workspace for our project ● Win-book and Google Drive Methods, tools and facilities Resource Estimation ● Estimated CSCI577a Effort: 8 team members at 8hrs/week for 12 weeks ● Total estimated effort: 768 hours ● Budget information: $1000 ● Project duration: 12 weeks (Fall 2014) ● Component modules in your development project: Call Monitoring (Call Recording, Listening, Conferencing), Autodialer, Incoming call handling, Direct dialer, Auto-provisioning ● Programming language used: Ruby on Rails, HTML, CSS, JavaScript Scale factors Cost Drivers COINCOMO Result Feasibility Evidence Business Case Analysis Benefit Analysis Cost Analysis ● Deployment of system in operation phase and training - Installation & Deployment [5 hrs * 3 times * 2 people] - Training & Support [5 hrs * 2 times * 2 people] ● Maintenance phase -Maintenance[3 hr/week * 52 weeks] ROI Analysis Risks in Voice Communication System ● ● ● ● Lack of time for rigorous testing Call Routing efficiency of 2 seconds implementation Scalability of handling 200 incoming and outgoing calls The Auto-dialer scope of dialing 10 simultaneous calls Capability Feasibility LOS Feasibility Persona Sales Agent, SnApp Description Jennifer Lawrence Basic Demographic Age : 25 Occupation : Sales Agent,SnApp HomeTown : Los Angeles Marital Status : Single She has a degree in marketing from Marshall school of business. She loves to talk and make friends. Attributes Excellent convincing skills Good negotiation skills Charming and attractive Competitive User Scenario She has been working in SnApp since 4 months now. She is very competitive and does not like to waste time at work. She feels that a lot of her time gets wasted when she has to switch between skype and five 9 just to make calls to the customers and update lead status. She feels that a new VCS system would significantly increase her performance at work and boost SnApp’s profits. Persona Sales Manager, SnApp Description David Beckham Basic Demographic Age : 36 Occupation : Sales Manager,SnApp HomeTown : New York Marital Status : Married He was born in New York. He loves travelling and meeting new people. Attributes Excellent leadership qualities Always smiling Very polite and a quick learner User Scenario He is a CS graduate from NYU. After his graduation he worked in IBM as a sr. software developer for 7 years. He wanted to apply his work experience and leadership qualities to build a new company so he got into SnApp as a sales manager. He knows that every company has to monitor the performance of its employees and he feels that SnApp needs a VCS that would not only handle calls but also process call data to extract business analytics to make better business decisions. Persona Company Executive, SnApp Andre Agassi Basic Demographic Age : 42 Occupation : Super Admin for VCS (SnApp CTO) HomeTown : San Francisco Marital Status : Married Description He has a graduate degree in computer science from UCLA. He loves coding and spending time with his family Attributes Excellent programming skills loves to take up new projects User Scenario He is a CS graduate from UCLA. He has been a freelance web/mobile developer. He has worked for many startups and he particularly liked the work that SnApp does. He has been developing mobile application for SnApp’s clients and monitoring SnApp’s profits. He has got to a conclusion that SnApp needs a VCS that would make everyone’s jobs easier and help monitor SnApp’s growth and profits because he feels that it is very difficult to track agents profiles or manager’s progress with the current system Persona Vice President, Archstone Chris Markus Basic Demographic Age : 50 Occupation :VP of Archstone HomeTown : Los Angeles Marital Status : Married Description He is a MBA from USC Marshall school of business.He loves reading business articles and spending time with his pets. Attributes Excellent business skills Excellent leadership skills User Scenario He has an established real estate company. He is looking forward to expand his business among the mobile users and thus needs a mobile app for his company which will help him in expanding his business among mobile users. Persona Founder, Estate Corp. Emily Smith Basic Demographic Age : 28 Occupation :Founder of Estate Corp. HomeTown : San Jose Marital Status : Single Description She is born in California. She is passinate about providing affordable housing to locals. Attributes Excellent management skills Excellent communication skills User Scenario She is a MBA from NYU’s Stem school of business. She has started her startup real estate company. She wants to expand her company’s business and make more profits soon. She feels that a mobile app for her company will help her in expanding her business quickly. Quality Focal Point Traceability Matrix OCD WinWin Agreement SSAD Test Case OC-1 WC_3225 ATF-9,UC-8 TC-04-01 OC-2 WC_3222 ATF-8,UC-1,UC-2 TC-01-01 OC-3 WC_3230 ATF-8,UC-4,UC-5 TC-02-01,TC-02-02 OC-4 ------- ATF-1,ATF-2 TC-03-01 OC-5 WC_3223,WC_3224 ATF-8,UC-3 TC-01-02 OC-6 WC_3226,WC_3227 ATF-10,UC-7,UC-8 TC-04-01 OC-7 WC_3231,WC_3233 ATF-8,UC-6 TC-03-01,TC-03-02 Defect Management ● Defect Prevention ○ Personnel Training ○ Win-Win Negotiations ● Defect Detection ○ Pair Programming with Peer Review ● Defect Removal ○ Desk Checking by Developers ○ Unit, Integration, System and Acceptance Testing ● Defect Tracking ○ Bugzilla ○ Progress Report Test Plan Types of Testing: ● Unit Testing ● System Testing ● Acceptance Testing Test Strategies: ● Integration order-of-build ● Value-based test prioritization ● Requirements-test traceability ● User environment simulation Acceptance Test Cases Direct Calling Completion Criteria: Sales agent can call a particular lead by clicking on ‘click to call’ button Test case 1: Sales agent clicks on a lead’s name to dial his number. A screen with his information opens up and a call is made to the lead. Acceptance Test Cases Auto-dialing Completion Criteria: Each sales agent is able to autodial leads from the pool of leads assigned to him. Test case 1: When the agent clicks on auto-dial , the system should automatically start autodialing leads from his pool of leads. Test case 2: If more than one user picks up the call, one of those users will go to voicemail on the basis of who picks the call first. Acceptance Test Cases Conferencing Completion Criteria: Manager is able to join in on conference Test case 1: When the agent clicks on auto-dial , the system should automatically start autodialing leads from his pool of leads. Test case 2: If more than one user picks up the call, one of those users will go to voicemail on the basis of who picks the call first. Acceptance Test Cases Incoming Call Handling Completion Criteria: When customer calls, the call is connected to the assigned sales agent; if the sales agent is not available the call goes to voicemail. Test case 1: When customer calls and his agent is available, the specific agent picks up. Test case 2: When customer calls and agent is not available, the call goes to his voicemail. Acceptance Test Cases Call Logging Completion Criteria: All calls are recorded and their detail information is stored in a database for access in the future. Test case 1: Every active call is recorded. Every time a call is completed we store all call detail information and the recording in the database. Thank You!