Analysis of Slack
Total Page:16
File Type:pdf, Size:1020Kb
Analysis of Slack CSE 3231 Spring 2021 Team 4: Ali Brugh, Max Herz, Ryan Shaffer 2 Table of Contents 1. Business Analysis 5 1.1. Research of Enterprise 5 1.1.1. Industry Segment 5 1.1.2. Products and Services 5 1.1.3. Market 6 1.1.4. Business and Organizational Structure 7 1.1.5. Value Chain 7 1.1.5.1. Inbound Logistics 7 1.1.5.2. Operations 8 1.1.5.3. Outbound Logistics 8 1.1.5.4. Sales 8 1.1.5.5. Marketing 9 1.1.5.6. Service 9 1.1.6. Stated Areas of Differentiation 9 1.2. Analysis of Enterprise 10 1.2.1. Five Forces Analysis 10 1.2.2. Differentiation vs. Competitive Position 12 1.3. Software Application Portfolio 12 1.3.1. Possible Applications 12 1.3.2. Application to Develop Further 14 2. Intended Software Engineering Process 15 2.1. Spider Diagram 15 2.2. Project Management 16 2.2.1. Release Plan 16 2.2.2. First Iteration Plan 16 2.2.3. Risk Plan 16 2.2.4. Linear and Parametric Estimation 16 2.2.5. Project Schedule 17 2.3. Requirements 17 2.3.1. Problem Statement 17 2.3.2. Storyboards 17 2.3.3. Business Case 17 2.3.4. Use Cases 17 2.3.5. Non-Functional Requirements 17 2.3.6. Acceptance Plan 18 3 2.3.7. System Tests 18 2.4. Analysis 18 2.4.1. Domain Analysis 18 2.4.2. Problem Analysis 18 2.4.3. Solution Analysis 18 2.4.4. Sequence Diagrams 19 2.5. Architecture 19 2.5.1. Subsystem Model 19 2.5.2. Target Environment 19 3. Requirements Analysis 20 3.1. Domain Analysis 20 3.2. Problem Statement 20 3.3. Problem Analysis 21 3.4. Solution Analysis 23 3.4.1. Sequence Diagram for New Availability System 23 3.4.2. Sequence Diagram for New Messaging System 24 3.4.3. Class Diagram for Priority Messaging and Availability System 25 3.4.4. Static Structure 26 3.4.5. Dynamic Behavior 27 3.5. Storyboards 27 3.5.1. Scenario 1 27 3.5.2. Scenario 2 28 3.6. Business Case 28 3.6.1. Cost 28 3.6.2. Benefit 29 3.7. Functional Requirements 30 3.8. Use Cases, User Stories, and Scenarios 30 3.8.1. Use Case (UC1): A user sends a high priority message 30 3.8.1.1. Relevant User Stories 31 3.8.2. Use Case (UC2): A user sends a message with a follow-up notification 32 3.8.2.1. Relevant User Stories 33 3.8.3. Use Case (UC3): A user changes their availability 33 3.8.3.1. Relevant User Stories 34 3.8.4. Use Case Diagram 35 3.9. Non-Functional Requirements 35 3.10. Acceptance Plan 36 3.11. System Tests 37 4 4. Architecture 38 4.1. Overview 38 4.2. Subsystem Model 38 4.2.1. Priority Messaging System 39 4.2.1.1. Priority Message Selection 39 4.2.1.2. Outbound Priority Messaging 40 4.2.1.3. Inbound Priority Messaging 42 4.2.1.4. Sequence Diagram for the Entire Priority Messaging System 43 4.2.2. Follow-Up Notification Messaging System 44 4.2.2.1. Timer Selection 44 4.2.2.2. Outbound Notification Messaging 46 4.2.2.3. Inbound Notification Messaging 47 4.2.2.4. Sequence Diagram for the Entire Notification Messaging System 49 4.2.3. Availability System 49 4.2.3.1. Availability Selection 50 4.2.3.2. Automatic Availability Update 51 4.3. Target Environment 53 4.3.1. Deployment Diagram 53 4.3.2. Explanation of Deployment Diagram 53 5. Project Planning 57 5.1. Release Plan 57 5.2. First Release 58 5.3. Project Estimation 60 5.3.1. Linear Estimation 60 5.3.2. Use Case Point Estimates 61 5.3.3. Comparison of Estimates 66 5.4. Project Schedule 66 5.5. Risk Management Plan 67 6. Resources 68 5 1. Business Analysis 1.1. Research of Enterprise 1.1.1. Industry Segment ● Slack is at the forefront of the collaboration and communication in the digital environment. Slack provides a robust platform for text, audio, and video communication with abundant support for 3rd party applications through the use of their API. ● The platform is available on all devices where business is done. This includes Windows, Mac, Linux, iOS, and Android. ● The main goal of Slack is to connect coworkers and enable efficient organizational operation. With the COVID-19 pandemic and drastic shift to online communication, the market has grown considerably in recent months. They currently have over 12 million daily active users, over 199,000 paid customers, and are used by 65 out of 100 of the Fortune 100 companies. ● While Slack has been a consistently high performer in the communication tools market, it has seen its market share drop with the meteoric rise of Microsoft Teams. Other direct and indirect competitors in the space include Cisco Jabber, Skype, Workplace by Facebook, and Chatter by Salesforce. ● It should be noted that although Slack and Discord share very similar UI, they are unrelated and not direct competitors. Discord is focused on the consumer gaming industry, whereas Slack is concerned with enterprise communication. ● Some notable businesses that use Slack include: Target, Starbucks, Oracle, TD Ameritrade, Panasonic, BBS, E-Trade, and the New York Times. 1.1.2. Products and Services ● Slack’s products and services are integrated into its singular platform. Self-described as “a digital office, a persistent place for users to connect and find information” (Slack, 2021). ○ Basic Features ■ Workspace: ecosystem and platform ■ Channel: shareable and customizable text thread. The basis of the application ■ Direct messaging: send private direct or group messages ■ Voice messaging ■ Video conferencing ■ File sharing ■ API and integration: connect workspaces to 3rd party applications (Google Drive, Office 365, etc.) 6 ■ Workflow builder: automated integration with 3rd party applications ■ Smaller features such as: filterable search, conversation history, mentions, pins, etc. ■ Security features: identity and device management, data protection, information governance ○ Enterprise-Specific Features ■ Slack Connect: integrate workspaces between different organizations ■ Improved availability: 99.99% uptime ■ Unlimited workspaces ■ Enterprise level user and data administration ■ Regulatory data compliance ■ Custom automated workflows ○ Pricing: Each tier includes the features of the previous tier(s). ■ Free: $0 per person, per month. Includes up to 10,000 searchable messages, 5GB storage for files, up to ten 3rd party apps and services, and 1:1 video and voice calls. ■ Standard: $6.67 per person, per month (billed yearly). Includes unlimited message archive, unlimited apps, group video calls with screen sharing up to 15 people, Slack Connect, and 10GB file storage per member. ■ Plus: $12.50 per person, per month (billed yearly). Includes guaranteed 99.99% uptime, user provisioning/deprovisioning, SAML based SSO, data exports for all messages, and up to 20GB file storage per member. ■ Enterprise Grid: Variable price per person per month (contact sales team). Includes unlimited workspaces, supports data loss prevention providers, designated customer success teams, and HIPAA compliant messaging and file collaboration. 1.1.3. Market ● Any organization seeking a communication and collaboration tool. ● Fortune 500 Companies: Interested in large-scale custom products and services. The Enterprise Grid plan is popular with very large businesses or those seeking extended features sets in regulated industries. ● Enterprise: Interested in expanded feature sets and improved app integration. The Plus plan is popular with large businesses. ● Small Business: Interested in basic functionality. Free and Standard plans are popular with small and medium-sized businesses. 7 ● Other: Free version intended to show potential customers the utility and value of the platform. Limited feature set, but no cost to user. 1.1.4. Business and Organizational Structure ● Business Structure ○ Our industry is a messaging platform. Our business competes with other workplace messaging services like Microsoft Teams, Skype for Business, and Workplace by Facebook. ○ Slack is a channel-based communication platform that is targeted towards companies, although anyone can use it. It is at the forefront of its industry, offering text, video, and audio communication and integration with 3rd party applications. ○ Slack offers four plans: Free, Standard, Plus, and Enterprise Grid. The company makes money from the latter three, which have extra features to entice the user to convert to a paid plan (for example, more file storage, ability to share channels externally, etc.). The pricing for Standard and Plus varies based on whether the user is paying by month or by year, and the pricing for Enterprise Grid depends on how many people are going to be using that plan. ○ Overall, Slack has over 12 million daily active users, and over 119,000 paying users. ● Organization Structure ○ Slack is an American organization that is headquartered in San Francisco, California. It has 16 other offices, located worldwide: the offices are in the USA, Canada, Ireland, England, France, Germany, Australia, Japan, and India. Each office provides technological and service support for Slack’s products. ○ Slack is estimated to have about 2,000 employees total. ○ Slack does development in-house with these employees, but they have also outsourced work: they outsourced logo design, marketing website design, and some software work for the web and mobile applications. 1.1.5. Value Chain 1.1.5.1. Inbound Logistics ● To create a Slack workspace, all Slack needs to receive is the email address of the person creating it, the name of the workspace, and the reason for creating the workspace. ● To add new people to the workspace, Slack receives email addresses which allows the owner of that address to join it.