ARB_FCP_F14a_T05 - Software Engineering II

advertisement
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!
Download