Scaling RobotLungs ®
Main Themes
Problem Statement
Assumptions
Technology Standardization & Governance for Tools & Practices
Improvising Engineering Practices using LEAN, XP & Agile
Reengineering the Platform & Processes for Larger Enterprise Scale
Ensuring Enterprise Controls for sustaining Reputation
Improving Team Structures & Dynamics for enhanced Productivity
Control Resource Mobility for Top Talent Retention
Problem Statement
RobotLungs is experiencing significant reduction in Time to Market for its Flagship Product ROS ® (RobotOS).
Current SDLC processes, team structure & engineering practices have been proven bottleneck and unable to scale to the increased demand and volatility of the business.
Devastated Intercommunication between the Application Teams causing nightmare in coordinating the larger release spans across applications.
Releasing code changes through bleeding edge environments and kingdom of siloed allies is almost a Myth now!
It has been lately difficult in retaining Top Talent.
Assumptions
RobotLungs is practicing traditional waterfall model
Every Application Team is working in own silo with a very little focus and understanding of a bigger picture
There is a lack of common build & deploy infrastructure
There is a lack of Enterprise level SDLC controls
There is a lack of understanding on best practices around various Software Development aspects
Each Team owns a Module or Application that is the part of larger enterprise platform
Technology Standardization & Governance
Problem
Siloed Application Teams
Utilization of bleeding edge Technologies
High Ramp up for new and existing developers
Identification of RC
Lack of Unified guidance to the application teams pertaining to Tools & Practices
Lack of Software Engineering & Architecture Library to govern Technology Lifecycle & Whitelist of OSS & Commercial Software Products/Components & Frameworks
Lack of common Plan/Build/Operate Infrastructure
Remediation Establish Technology Governance and Software Engineering & Architecture Library of OSS and
Commercial software to promote the standardization of Technology usage within the firm This will centralize the control of version upgrades/patching/maintenance/licensing, security
scanning/remediation to enforce a Technology Uniformity/Standardization and save cost This will also reduce usage of Bleeding Edge Technologies by increasing usage of common,
sustainable and approved Tech Stack across the Teams, which in terns would improve resource flungibily
Build common infrastructure for CI, Deployment, Issue Tracking/Release Planning, Code Coverage, Code Review Tools to drive mass behavior and discipline
Improvising Engineering Practices (LEAN, XP, Agile)
Benefits
Early Feedback, Fail fast, Enhanced quality, Continuous Improvement
Reduced Waste, Faster T2M, Lower Risk
Improved communication
Great Business Value
XP
Simple Design, Sustainable Pace, Small Releases, Release/Iteration Planning
CI, TDD, Pair Programming, Refactoring, Whole Team, Collective Code Ownership, Retrospective
Common Dashboard to monitor the practices are religiously followed
Reengineering the Platform & Processes - 1
Primary Focus
the usage of bleeding edge Technologies & promote standardized approved Technology Stack
Account for Code Quality in all development efforts by enforcing Pair Programing, Peer Reviews, Unit Test Coverage, Automated Functional Testing and Full Regression Testing
“Shift Left” - Setup End to End Integration Testing Environment for Dev Teams & enforce full integration testing as part of the Development Cycle
Setup a Centralized Release Repository to store artifacts/components from every application for promotion to environments beyond Development
the interdependencies between applications/modules by introducing Centralized Repository of common components, cross cutting functionalities & shared frameworks and have a dedicated team (resources forked from existing teams) to support it
Power of Shift Left
The Fact - Cost of fixing defects is significantly higher when they are found on right vs. left
The Focus – Find and fix the defects on left (DEV) as much as possible
Lack of Unit Testing – Uncovers code defects that causes breakage in single Unit
Lack of Integration Testing – Uncovers design & architectural defects that causes breakage across multiple units/entire system
The Bottom-line – Shift Left the Integration Testing to save cost, improve Time to Market, Quality & Confidence
Improving Team Structure & Dynamics
Problem in Traditional Team Structure
Siloed Application Teams
Lack of transparency and communication
Difficulty in coordinating complex releases
Remediation
Improve communication & integration across the Teams by utilizing Agile & XP practices
Define SLAs & Cross Impact Metrics to smooth out the Complex deliveries cutting across applications
Centralize common support teams for Database, Infrastructure, Architecture, Risk/Security, Production Support & Cross cutting components/services to improve the focus for application teams on actual deliverables, quality & timelines
Merge/Decommission the redundant applications and reposition team members based on their expertise & interest
No Heroics, Whole Team & Collective Ownership
Ensuring Enterprise ControlsImportance of Enterprise Controls
Control modification, quality and distribution of the code
Ensure integrity, availability, performance, user experience, reliability, compliance and support of the system
Protect customer data and critical business assets all the time
Ensure the outcome of the complex and highly integrated hydrogenous system is as per the business specifications
Essential Controls to be in placed,
Source code protected, historical changes are maintained and audit trail is always logged for all critical business operations
Business Requirements/Stories signed off by Technology
Test Plans signed off by Business
Implementation Plan signed off by Architecture/Design
Availability, Resiliency, Security & Performance of Prod/DR
Business Data is always secured and backed up
Code Changes adhere to best practices & defensive programing
CI, Full Regression & Automated Deployment
QA/UAT & Pre-Prod Sign off prior to Prod Promotion
Post Prod Promotion validation & sign off
Control Resource Mobility
Problem
People exiting frequently is concerning and is a symptom of a critical underlying issue pertaining to, Compensation, Recognition Culture Fit, Job Fit, Role Fit Not being challenged Inefficient Hiring Process
Identification of RC
Identify the trend to understand the root cause by, Employee Satisfaction Surveys Collect and Analyze the data
around people leaving the firm for useful pointers
HR Exit Interviews to know what could have helped them stay!!!
Remediation Frequent Kudos, Social gatherings, Compensate per Industry norms
Time to Proficiency (T2P), Align people based on their interest & expertise, On Job Trainings
Periodic Performance Review/Satisfaction Surveys/Feedback Collection and Follow through
Objective Hiring Process (Behavioral, Personality & Culture Fit)
Common Development Tools
Practice Tool Infrastructure
Source Code Management SVN / Git / Changeman Common/Shared
Workspace/ IDE, Servers Setup
Apache Puppet, Boxgen, Vagrant, Chef, Salt
Application Managed
Continuous Integration Jenkins / BuildBot / Thoughtworks Go
Common/Shared
Automated Deployment/Release Management
Buildforge / Jenkins / BuildBot / Thoughtworks Go
Common/Shared
Peer Code Review Fisheye / Crucible Common/Shared
Issue Tracking/Spring Planning
JIRA / Thoughtworks Mingle Common/Shared
Automated Functional Testing
Selenium / Cucumber / Concordian, Thoughtworks Twist
Application Managed
Application Building Maven / MSBuild Application Managed
Code Coverage SONAR Common/Shared
Top Related