Glorious days of your little cute startup seems almost fading! A sweet little family of 100 some geeks with great ideas, strengths and expertise is quickly becoming unproductive and short of focus! Current SDLC processes, team structure & engineering practices have been proven bottleneck and unable to scale to the increased demand and volatility of the business.
What is going on here???
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
How to scale a chocked up mid-stage startup!!!
1.
2. 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
3. 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.
4. 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
5. 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
6. 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
7. 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
10. 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
11. Ensuring Enterprise Controls
Importance 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
12. 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 JobTrainings
Periodic Performance Review/Satisfaction Surveys/Feedback Collection and Followthrough
Objective Hiring Process (Behavioral, Personality & Culture Fit)