Platform Team and Business Application Team
Last updated
Was this helpful?
Last updated
Was this helpful?
In software engineering, there are two primary domains: "Business Applications" and "Platforms." Ironically while many professionals work on business applications, system design discussions tend to lean towards platforms, known for high availability, high throughput, and low latency. These domains present unique challenges, goals, and methodologies. Recognizing which domain your team owns and addressing its specific challenges is vital for success. 1. Objective and Scope: - Business Application Teams: Focus on aligning technology solutions with business strategies, often dealing with enterprise-level applications, CRMs, ERPs, e-commerce, and tools impacting business functions directly. - Platform Teams: Aim for scalability, performance, and reliability in large distributed systems, involving complex architectures catering to millions of users and real-time data processing. 2. Technical Complexity: - Business Application Teams: Complexity resides in integrating various business processes, prioritizing user experience, security, and compliance. - Platform Teams: Challenges encompass data consistency, network latency, fault tolerance, and scalability, requiring specialized technical expertise. 3. Development Approach: - Business Application Teams: Favor fast iteration and a break-it-fix-it style, focusing on usability and customer experience through regular collaboration with stakeholders. - Platform Teams: Emphasize scalability, resilience, and speed, necessitating rigorous planning and architectural considerations. 4. Skillset Requirements: - Business Application Teams: Require business acumen, cross-functional collaboration, data analytics, and domain-specific tools (e.g., Java, JavaScript). - Platform Teams: Demand expertise in high-performance computing, parallel processing, and system programming languages (e.g., C, Rust). 5. Performance Metrics: - Business Application Teams: Prioritize customer satisfaction, business process efficiency, Time-To-Market and Return On Investment (ROI). - Platform Teams: Value latency, throughput, availability, scalability, and error rates. 6. Stakeholder Interaction: - Business Application Teams: Engage frequently with business leaders, sales, marketing, and end-users. - Platform Teams: Collaborate with product managers, architects, and other engineering teams to align system performance with broader goals. Interestingly, these teams can morph into each other. For example, a growing business application may spawn a platform team to tackle technical challenges. Conversely, innovations within a platform team may translate into new business applications. For example, AWS KMS was initially designed for internal use before expanding to public service. Ultimately, business application and platform are the two sides of the same coin. Meaning is to be found on the border between the ever-entwined Yang and Yin. ☯