SlideShare a Scribd company logo
1 of 56
Download to read offline
Managing
projects &
teams
Ashutosh Agarwal
Team Structure Effective Process Product Lifecycle
Structure of teams
Services aka Teams
Conway’s Law:
“Organizations which design systems … are
constrained to produce designs which are copies of the
communications structure of these organizations”
Company
Product A Product B
Frontend BHorizontal FunctionsFrontend A Backend A Backend B
● Functional vs Horizontal Teams
● Structure of a team
Two types of
Teams
Functional teams
● Goal: agility.
● Services are product specific
● Responsible for both frontend & backend services.
● Connect with backend infrastructure services to do heavy lifting.
Infrastructure Teams
● Goal: stability.
● Functional -> Product Infrastructure -> Core infrastructure
● Each service is used by variety of clients.
● Pre-contracted SLA contract: QPS, performance
● Company-wide / Product-wide impact.
Infrastructure teams: examples
● Common layer for container deployment & orchestration
● Microservices framework.
● Common monitoring framework.
● Common alerting framework.
● Common storage offerings with inbuilt usage monitoring.
Structure of a
(Productive) Team
Bottom-up (mostly)
● People come up with ideas
● Pitch ideas / prototype
○ To fellow engineers, managers
○ To leadership, customers
● Gain momentum. Move fast. Move faster.
● It’s like running a startup
The Why
The Why
Effective flat hierarchy operation
● Different functions
○ Product vision
○ Technical complexity
○ Process leadership
○ Maintaining stability
● Different individual skillset
● Different teams different priorities.
4 key players
● Product manager
● Technical Lead (TL)
● Program Manager
● SRE
The What
Product Manager
● Provides direction & vision for the product
● mini-CEO for the product
● Works with TLs/UX to define detail specifics
● Works with Sales, Marketing for go-to-market
strategy
“It is like being the Conductor of an orchestra”
Strategy is
the key role,
but PMs are
the
necessary
glue for
everything
else.
Product
Manager
!= People
Manager
Influence without authority
Technical Lead a.k.a TL
● Provides technical direction
○ Getting the technical architecture right
○ Negotiating product specs with PMs
● Responsible for keeping eng-team productive
○ Coordinates sub-tasks within team
● Main point-of-contact with external teams
● Not a manager, and has no reports usually
Contribution styles
Technical complexity
(my code, my algos)
Leadership
(my team x 10)
Impact
(my company)
From Junior SWE
to TL
Program Manager
● Provides structure to big projects
● Influence spans multiple teams
● Manage plans, schedules and drive deployment of projects
● Proficient in technical details and organizational skills
● Influence authority through processes and structure
Site-Reliability-Engineer (SRE)
● Responsible for keeping downtimes low (add another 9)
● Responsible for building and maintaining large scale
production services
● Responsible for capacity planning
● Not all teams have SREs - they have to earn the traffic to
have one.
SREs optimize for uptime, not for egos of individual
teams / people
Product Manager
Product Sense
Technical Lead
Technical complexity
SRE
Maintaining stability
Program Manager
Process Leadership
People Managers
What do they do ?
● Coach. Help people achieve their individual goals
● Well-being & employee success. Finding the right team-fit.
● Collate feedback from a person’s peers.
● Resolve interpersonal issues.
Who are they ?
● Sometimes TLs are TLM (TL + Manager)
● Part of a larger team, but not responsible for product decisions
Life of a Product
One good product, and many many
bad products
“ … no good product-market fit”
“ … there were too many things changing. In the end, the backend
architecture was a mess:.
“ … it was too bloated. Maintenance hazard”
“ … too much coordination was required across different teams”.
It’s worthwhile thinking about
each part
Propose
Plan
Execute
Maintain. Refactor.
Deprecate
Double Diamond: Strategy + Execution of the right solutioin
Propose.
Propose
Plan
Execute
Maintain. Refactor.
Deprecate
Step 1: PM / TL have an idea
Step 2: Create a short Product-requirement
document (few paragraphs) and circulate it
quickly among team(s).
Step 3: Discuss & iterate.
Output
- Vision Document
- Product Requirements Document
Plan.
Propose
Plan
Execute
Maintain. Refactor.
Deprecate
Step 4: Technical design / architecture proposal
Step 5: Circulate it among your own team first.
Step 6: Resolve feedback, rinse repeat.
Step 7: Circulate the design doc with other impacted teams
Step 8: Define milestones and respective scopes, Two
special milestones - “dogfood” and “launch”
Output
- Technical design doc with full detail
- Milestones & Dependency plan
Execute.
Propose
Plan
Execute
Maintain. Refactor.
Deprecate
Step 9: Code, Code, Code. Daily / Bi-weekly
standups until milestones.
Step 10: Dark Launch (feature / product only
enabled for the team)
Step 11: Company dogfood launch
Step 12: Public Launch
Output
- Product
- Emergency playbook
Maintain.
Refactor.
Step 13: Discover bugs. Fix bugs. Push
regularly.
Step 14: More teams want to launch similar stuff.
They want to reuse some components.
Refactoring galore !
Fun fact: Google code changes about 50% in
a year.
Output
- Stable Product
- Reusable infrastructure
Deprecate.
Propose
Plan
Execute
Maintain. Refactor.
Deprecate
Step 15: Some more generic infrastructure
components are identified and new backend created.
Step 16: Slice of traffic is sent to new backend to try
it out.
Step 17: New backend is stable. Traffic to old
backend is turned off.
Step 18: Old backend is turned off and deleted if no
one is using it.
Output
- Stronger, Faster, Higher
Product Requirements Doc (PRD)
Defines the “What”, “Why” and for “Whom”.
“If PRD is done well, still might not be a successful product, but it is certain that if
the PRD is not done well, it is nearly impossible to build a good product. “
- Silicon Valley Product Group
Technical Design Doc (by Malte Ubl, Tech Lead Google AMP
Project)
Goals
● Document the software design.
● Clarify the problem being solved.
● Act as discussion platform to further refine
the design.
● Explain the reasoning behind those
decisions and tradeoffs made.
● List alternative designs and why they were
not chosen.
● Support future maintainers and other
interested parties to understand the
original design.
Non-goals
● Establish non-technical requirements of the
software.
● Be independently understandable by a
person with no background in software
stack.
● Act as user documentation for product or
system.
The Chromium projects (Design Docs)
http://dev.chromium.org/developers/design-documents
http://aosabook.org/en/posa/high-performance-networking-in-chrome.html
Oncall Playbooks
“Hope is not a strategy.”
● Note down past failures,
○ What went wrong
○ What was the immediate fix
○ What is the long term fix
○ How to prevent it in future.
● Avoiding culture of “heros”
Effective Process
Everything is process ...
Whether you’re compiling code, hiring staff,
or making breakfast.
- Andy Grove, High Output Management
Software Development is often chaotic
● Changing Product Requirements
● Changing feature priorities
● Tendency to over-engineer
● We don’t know whether this new feature will work or not.
Role of a process, is to
improve effective productivity
of the overall team
towards the goal.
Examples
Requirements gathering, build better products
Planning & estimation, unwrangle dependencies
Agile development, reduce engineering waste
Triage, reduce backlog
Launch checklist, follow best-practices
Infrastructure Integration Process, communicate requirements
Process
in various stages of product
From
Mission Statement
to
Production Software
Ruthlessly measure progress
● Define milestones
○ Date - Monthly / quaterly
○ Features / items in scope
● Define progress
○ What metrics
○ Define levels of achievement
■ Red = Below Expectations
■ Yellow = Meets expectations
■ Green = Stretch Goal
● Product launch is just one of the milestones
Old adage - what you can measure, is what you can improve.
OKRs
Objectives & Key Results
Iterations
● Unit of time for progress check
● 2 week to 1 month long
● Priorities should remain constant within a sprint
● Execution style: agile vs waterfall
From one sprint to next, specs might change, priorities might change. Minimize
throw away work.
Software time estimation is hard. Iterations help manage estimation risk.
(Over) Communicate
● Not just about informing stakeholders
● What is working, what is not.
● What is pending, what is not.
● What is working amazing, what needs more work.
Most engineers, what to work independently, and later emerge with their
masterpiece.
In practice, results in wasted efforts, and missing corner cases.
Retrospective
“I think, we should cancel that weekly sync, there is no use for it”.
“We should write a script for that. We get too many bugs doing that manually”.
“If we launch this hack, it would help us launch and iterate.”
Remember - Goal of a process is to add efficiency for the overall team towards the
goal.
Minimize Waste
Obviate unnecessary artifacts
● Pretty docs
● Over documentation
● Status meetings
● Lengthy launch approvals
Prioritized backlog
● Milestone planning leads to backlog
● Features / Bugs that were P0 before, may be P2 in later milestones.
● Careful management of backlog helps manage technical debt
Dashboards
● Openness is the key
○ Bugs burn rates
○ Who’s working on what
Managing software projects & teams effectively

More Related Content

What's hot

Site reliability engineering - Lightning Talk
Site reliability engineering - Lightning TalkSite reliability engineering - Lightning Talk
Site reliability engineering - Lightning TalkMichae Blakeney
 
Getting started with Site Reliability Engineering (SRE)
Getting started with Site Reliability Engineering (SRE)Getting started with Site Reliability Engineering (SRE)
Getting started with Site Reliability Engineering (SRE)Abeer R
 
Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...
Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...
Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...ITSM Academy, Inc.
 
Site reliability engineering
Site reliability engineeringSite reliability engineering
Site reliability engineeringJason Loeffler
 
Building an SRE Organization @ Squarespace
Building an SRE Organization @ SquarespaceBuilding an SRE Organization @ Squarespace
Building an SRE Organization @ SquarespaceFranklin Angulo
 
What's an SRE at Criteo - Meetup SRE Paris
What's an SRE at Criteo - Meetup SRE ParisWhat's an SRE at Criteo - Meetup SRE Paris
What's an SRE at Criteo - Meetup SRE ParisClément Michaud
 
SRE 101 (Site Reliability Engineering)
SRE 101 (Site Reliability Engineering)SRE 101 (Site Reliability Engineering)
SRE 101 (Site Reliability Engineering)Hussain Mansoor
 
SRE Demystified - 05 - Toil Elimination
SRE Demystified - 05 - Toil EliminationSRE Demystified - 05 - Toil Elimination
SRE Demystified - 05 - Toil EliminationDr Ganesh Iyer
 
Implementing SRE practices: SLI/SLO deep dive - David Blank-Edelman - DevOpsD...
Implementing SRE practices: SLI/SLO deep dive - David Blank-Edelman - DevOpsD...Implementing SRE practices: SLI/SLO deep dive - David Blank-Edelman - DevOpsD...
Implementing SRE practices: SLI/SLO deep dive - David Blank-Edelman - DevOpsD...DevOpsDays Tel Aviv
 
SRE Demystified - 01 - SLO SLI and SLA
SRE Demystified - 01 - SLO SLI and SLASRE Demystified - 01 - SLO SLI and SLA
SRE Demystified - 01 - SLO SLI and SLADr Ganesh Iyer
 
Reconstructing the SRE
Reconstructing the SREReconstructing the SRE
Reconstructing the SREBob Wise
 
A Product Manager's Place in a DevOps World
A Product Manager's Place in a DevOps WorldA Product Manager's Place in a DevOps World
A Product Manager's Place in a DevOps WorldAtlassian
 
Rapid Strategic SRE Assessments
Rapid Strategic SRE AssessmentsRapid Strategic SRE Assessments
Rapid Strategic SRE AssessmentsMarc Hornbeek
 
A Crash Course in Building Site Reliability
A Crash Course in Building Site ReliabilityA Crash Course in Building Site Reliability
A Crash Course in Building Site ReliabilityAcquia
 
SDM: The Fundamentals of Software Delivery Management
SDM: The Fundamentals of Software Delivery ManagementSDM: The Fundamentals of Software Delivery Management
SDM: The Fundamentals of Software Delivery ManagementDevOps.com
 
Site Reliability Engineer (SRE), We Keep The Lights On 24/7
Site Reliability Engineer (SRE), We Keep The Lights On 24/7Site Reliability Engineer (SRE), We Keep The Lights On 24/7
Site Reliability Engineer (SRE), We Keep The Lights On 24/7NUS-ISS
 
Service Level Terminology : SLA ,SLO & SLI
Service Level Terminology : SLA ,SLO & SLIService Level Terminology : SLA ,SLO & SLI
Service Level Terminology : SLA ,SLO & SLIKnoldus Inc.
 
When down is not good enough. SRE On Azure - PolarConf
When down is not good enough. SRE On Azure - PolarConfWhen down is not good enough. SRE On Azure - PolarConf
When down is not good enough. SRE On Azure - PolarConfRene Van Osnabrugge
 
What is Site Reliability Engineering (SRE)
What is Site Reliability Engineering (SRE)What is Site Reliability Engineering (SRE)
What is Site Reliability Engineering (SRE)jeetendra mandal
 

What's hot (20)

Site reliability engineering - Lightning Talk
Site reliability engineering - Lightning TalkSite reliability engineering - Lightning Talk
Site reliability engineering - Lightning Talk
 
Getting started with Site Reliability Engineering (SRE)
Getting started with Site Reliability Engineering (SRE)Getting started with Site Reliability Engineering (SRE)
Getting started with Site Reliability Engineering (SRE)
 
Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...
Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...
Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...
 
SRE vs DevOps
SRE vs DevOpsSRE vs DevOps
SRE vs DevOps
 
Site reliability engineering
Site reliability engineeringSite reliability engineering
Site reliability engineering
 
Building an SRE Organization @ Squarespace
Building an SRE Organization @ SquarespaceBuilding an SRE Organization @ Squarespace
Building an SRE Organization @ Squarespace
 
What's an SRE at Criteo - Meetup SRE Paris
What's an SRE at Criteo - Meetup SRE ParisWhat's an SRE at Criteo - Meetup SRE Paris
What's an SRE at Criteo - Meetup SRE Paris
 
SRE 101 (Site Reliability Engineering)
SRE 101 (Site Reliability Engineering)SRE 101 (Site Reliability Engineering)
SRE 101 (Site Reliability Engineering)
 
SRE Demystified - 05 - Toil Elimination
SRE Demystified - 05 - Toil EliminationSRE Demystified - 05 - Toil Elimination
SRE Demystified - 05 - Toil Elimination
 
Implementing SRE practices: SLI/SLO deep dive - David Blank-Edelman - DevOpsD...
Implementing SRE practices: SLI/SLO deep dive - David Blank-Edelman - DevOpsD...Implementing SRE practices: SLI/SLO deep dive - David Blank-Edelman - DevOpsD...
Implementing SRE practices: SLI/SLO deep dive - David Blank-Edelman - DevOpsD...
 
SRE Demystified - 01 - SLO SLI and SLA
SRE Demystified - 01 - SLO SLI and SLASRE Demystified - 01 - SLO SLI and SLA
SRE Demystified - 01 - SLO SLI and SLA
 
Reconstructing the SRE
Reconstructing the SREReconstructing the SRE
Reconstructing the SRE
 
A Product Manager's Place in a DevOps World
A Product Manager's Place in a DevOps WorldA Product Manager's Place in a DevOps World
A Product Manager's Place in a DevOps World
 
Rapid Strategic SRE Assessments
Rapid Strategic SRE AssessmentsRapid Strategic SRE Assessments
Rapid Strategic SRE Assessments
 
A Crash Course in Building Site Reliability
A Crash Course in Building Site ReliabilityA Crash Course in Building Site Reliability
A Crash Course in Building Site Reliability
 
SDM: The Fundamentals of Software Delivery Management
SDM: The Fundamentals of Software Delivery ManagementSDM: The Fundamentals of Software Delivery Management
SDM: The Fundamentals of Software Delivery Management
 
Site Reliability Engineer (SRE), We Keep The Lights On 24/7
Site Reliability Engineer (SRE), We Keep The Lights On 24/7Site Reliability Engineer (SRE), We Keep The Lights On 24/7
Site Reliability Engineer (SRE), We Keep The Lights On 24/7
 
Service Level Terminology : SLA ,SLO & SLI
Service Level Terminology : SLA ,SLO & SLIService Level Terminology : SLA ,SLO & SLI
Service Level Terminology : SLA ,SLO & SLI
 
When down is not good enough. SRE On Azure - PolarConf
When down is not good enough. SRE On Azure - PolarConfWhen down is not good enough. SRE On Azure - PolarConf
When down is not good enough. SRE On Azure - PolarConf
 
What is Site Reliability Engineering (SRE)
What is Site Reliability Engineering (SRE)What is Site Reliability Engineering (SRE)
What is Site Reliability Engineering (SRE)
 

Similar to Managing software projects & teams effectively

Introduction to Agile & scrum
Introduction to Agile & scrumIntroduction to Agile & scrum
Introduction to Agile & scrumElad Sofer
 
Software Development Methodologies
Software Development Methodologies Software Development Methodologies
Software Development Methodologies Frances Coronel
 
Deeply Embedding UX Practices Into Your Organization by Grafting them Into Yo...
Deeply Embedding UX Practices Into Your Organization by Grafting them Into Yo...Deeply Embedding UX Practices Into Your Organization by Grafting them Into Yo...
Deeply Embedding UX Practices Into Your Organization by Grafting them Into Yo...UXPA Boston
 
Agile software development compfest 13
Agile software development compfest 13Agile software development compfest 13
Agile software development compfest 13Panji Gautama
 
How to Plan for Hyper Growth Success by Slack Software Engineer
How to Plan for Hyper Growth Success by Slack Software EngineerHow to Plan for Hyper Growth Success by Slack Software Engineer
How to Plan for Hyper Growth Success by Slack Software EngineerProduct School
 
Why Agile? Back to Basics.
Why Agile? Back to Basics.Why Agile? Back to Basics.
Why Agile? Back to Basics.Lucas Hendrich
 
Scrum Intro for E-works
Scrum Intro for E-worksScrum Intro for E-works
Scrum Intro for E-worksNora Papazyan
 
CampusSDN2017 - Jawdat: Product Management and Agile Development
CampusSDN2017 - Jawdat: Product Management and Agile DevelopmentCampusSDN2017 - Jawdat: Product Management and Agile Development
CampusSDN2017 - Jawdat: Product Management and Agile DevelopmentJawdatTI
 
Agile Software Development Overview 1231560734008086 2
Agile Software Development Overview 1231560734008086 2Agile Software Development Overview 1231560734008086 2
Agile Software Development Overview 1231560734008086 2Guang Ying Yuan
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development OverviewStewart Rogers
 
Agile software-development-overview-1231560734008086-2
Agile software-development-overview-1231560734008086-2Agile software-development-overview-1231560734008086-2
Agile software-development-overview-1231560734008086-2shankar chinn
 
Agile software development
Agile software development Agile software development
Agile software development saurabh goel
 
Agile practices for management
Agile practices for managementAgile practices for management
Agile practices for managementIcalia Labs
 
1_slides-bài-giảng-SoftwareProjectManagement.pptx
1_slides-bài-giảng-SoftwareProjectManagement.pptx1_slides-bài-giảng-SoftwareProjectManagement.pptx
1_slides-bài-giảng-SoftwareProjectManagement.pptxcMinh613791
 
Software Development Process Models (SCRUM Methodology)
Software Development Process Models (SCRUM Methodology)Software Development Process Models (SCRUM Methodology)
Software Development Process Models (SCRUM Methodology)Muhammad Ahmed
 
Measuring the Productivity of Your Engineering Organisation - the Good, the B...
Measuring the Productivity of Your Engineering Organisation - the Good, the B...Measuring the Productivity of Your Engineering Organisation - the Good, the B...
Measuring the Productivity of Your Engineering Organisation - the Good, the B...Marin Dimitrov
 

Similar to Managing software projects & teams effectively (20)

Agile Course
Agile CourseAgile Course
Agile Course
 
Agile course Part 1
Agile course Part 1Agile course Part 1
Agile course Part 1
 
Introduction to Agile & scrum
Introduction to Agile & scrumIntroduction to Agile & scrum
Introduction to Agile & scrum
 
Software Development Methodologies
Software Development Methodologies Software Development Methodologies
Software Development Methodologies
 
Deeply Embedding UX Practices Into Your Organization by Grafting them Into Yo...
Deeply Embedding UX Practices Into Your Organization by Grafting them Into Yo...Deeply Embedding UX Practices Into Your Organization by Grafting them Into Yo...
Deeply Embedding UX Practices Into Your Organization by Grafting them Into Yo...
 
Agile software development compfest 13
Agile software development compfest 13Agile software development compfest 13
Agile software development compfest 13
 
Agile
AgileAgile
Agile
 
How to Plan for Hyper Growth Success by Slack Software Engineer
How to Plan for Hyper Growth Success by Slack Software EngineerHow to Plan for Hyper Growth Success by Slack Software Engineer
How to Plan for Hyper Growth Success by Slack Software Engineer
 
Why Agile? Back to Basics.
Why Agile? Back to Basics.Why Agile? Back to Basics.
Why Agile? Back to Basics.
 
Scrum Intro for E-works
Scrum Intro for E-worksScrum Intro for E-works
Scrum Intro for E-works
 
CampusSDN2017 - Jawdat: Product Management and Agile Development
CampusSDN2017 - Jawdat: Product Management and Agile DevelopmentCampusSDN2017 - Jawdat: Product Management and Agile Development
CampusSDN2017 - Jawdat: Product Management and Agile Development
 
Agile Software Development Overview 1231560734008086 2
Agile Software Development Overview 1231560734008086 2Agile Software Development Overview 1231560734008086 2
Agile Software Development Overview 1231560734008086 2
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
 
Module 1 - SE.pptx
Module 1 - SE.pptxModule 1 - SE.pptx
Module 1 - SE.pptx
 
Agile software-development-overview-1231560734008086-2
Agile software-development-overview-1231560734008086-2Agile software-development-overview-1231560734008086-2
Agile software-development-overview-1231560734008086-2
 
Agile software development
Agile software development Agile software development
Agile software development
 
Agile practices for management
Agile practices for managementAgile practices for management
Agile practices for management
 
1_slides-bài-giảng-SoftwareProjectManagement.pptx
1_slides-bài-giảng-SoftwareProjectManagement.pptx1_slides-bài-giảng-SoftwareProjectManagement.pptx
1_slides-bài-giảng-SoftwareProjectManagement.pptx
 
Software Development Process Models (SCRUM Methodology)
Software Development Process Models (SCRUM Methodology)Software Development Process Models (SCRUM Methodology)
Software Development Process Models (SCRUM Methodology)
 
Measuring the Productivity of Your Engineering Organisation - the Good, the B...
Measuring the Productivity of Your Engineering Organisation - the Good, the B...Measuring the Productivity of Your Engineering Organisation - the Good, the B...
Measuring the Productivity of Your Engineering Organisation - the Good, the B...
 

Recently uploaded

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Recently uploaded (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

Managing software projects & teams effectively

  • 2. Team Structure Effective Process Product Lifecycle
  • 4. Services aka Teams Conway’s Law: “Organizations which design systems … are constrained to produce designs which are copies of the communications structure of these organizations”
  • 5. Company Product A Product B Frontend BHorizontal FunctionsFrontend A Backend A Backend B ● Functional vs Horizontal Teams ● Structure of a team
  • 7. Functional teams ● Goal: agility. ● Services are product specific ● Responsible for both frontend & backend services. ● Connect with backend infrastructure services to do heavy lifting.
  • 8. Infrastructure Teams ● Goal: stability. ● Functional -> Product Infrastructure -> Core infrastructure ● Each service is used by variety of clients. ● Pre-contracted SLA contract: QPS, performance ● Company-wide / Product-wide impact.
  • 9. Infrastructure teams: examples ● Common layer for container deployment & orchestration ● Microservices framework. ● Common monitoring framework. ● Common alerting framework. ● Common storage offerings with inbuilt usage monitoring.
  • 10.
  • 11.
  • 13. Bottom-up (mostly) ● People come up with ideas ● Pitch ideas / prototype ○ To fellow engineers, managers ○ To leadership, customers ● Gain momentum. Move fast. Move faster. ● It’s like running a startup The Why
  • 14. The Why Effective flat hierarchy operation ● Different functions ○ Product vision ○ Technical complexity ○ Process leadership ○ Maintaining stability ● Different individual skillset ● Different teams different priorities.
  • 15. 4 key players ● Product manager ● Technical Lead (TL) ● Program Manager ● SRE The What
  • 16. Product Manager ● Provides direction & vision for the product ● mini-CEO for the product ● Works with TLs/UX to define detail specifics ● Works with Sales, Marketing for go-to-market strategy “It is like being the Conductor of an orchestra”
  • 17.
  • 18. Strategy is the key role, but PMs are the necessary glue for everything else.
  • 20.
  • 21. Technical Lead a.k.a TL ● Provides technical direction ○ Getting the technical architecture right ○ Negotiating product specs with PMs ● Responsible for keeping eng-team productive ○ Coordinates sub-tasks within team ● Main point-of-contact with external teams ● Not a manager, and has no reports usually
  • 22.
  • 23. Contribution styles Technical complexity (my code, my algos) Leadership (my team x 10) Impact (my company) From Junior SWE to TL
  • 24. Program Manager ● Provides structure to big projects ● Influence spans multiple teams ● Manage plans, schedules and drive deployment of projects ● Proficient in technical details and organizational skills ● Influence authority through processes and structure
  • 25. Site-Reliability-Engineer (SRE) ● Responsible for keeping downtimes low (add another 9) ● Responsible for building and maintaining large scale production services ● Responsible for capacity planning ● Not all teams have SREs - they have to earn the traffic to have one.
  • 26. SREs optimize for uptime, not for egos of individual teams / people
  • 27. Product Manager Product Sense Technical Lead Technical complexity SRE Maintaining stability Program Manager Process Leadership
  • 28. People Managers What do they do ? ● Coach. Help people achieve their individual goals ● Well-being & employee success. Finding the right team-fit. ● Collate feedback from a person’s peers. ● Resolve interpersonal issues. Who are they ? ● Sometimes TLs are TLM (TL + Manager) ● Part of a larger team, but not responsible for product decisions
  • 29. Life of a Product
  • 30. One good product, and many many bad products “ … no good product-market fit” “ … there were too many things changing. In the end, the backend architecture was a mess:. “ … it was too bloated. Maintenance hazard” “ … too much coordination was required across different teams”.
  • 31. It’s worthwhile thinking about each part Propose Plan Execute Maintain. Refactor. Deprecate
  • 32. Double Diamond: Strategy + Execution of the right solutioin
  • 33. Propose. Propose Plan Execute Maintain. Refactor. Deprecate Step 1: PM / TL have an idea Step 2: Create a short Product-requirement document (few paragraphs) and circulate it quickly among team(s). Step 3: Discuss & iterate. Output - Vision Document - Product Requirements Document
  • 34. Plan. Propose Plan Execute Maintain. Refactor. Deprecate Step 4: Technical design / architecture proposal Step 5: Circulate it among your own team first. Step 6: Resolve feedback, rinse repeat. Step 7: Circulate the design doc with other impacted teams Step 8: Define milestones and respective scopes, Two special milestones - “dogfood” and “launch” Output - Technical design doc with full detail - Milestones & Dependency plan
  • 35. Execute. Propose Plan Execute Maintain. Refactor. Deprecate Step 9: Code, Code, Code. Daily / Bi-weekly standups until milestones. Step 10: Dark Launch (feature / product only enabled for the team) Step 11: Company dogfood launch Step 12: Public Launch Output - Product - Emergency playbook
  • 36. Maintain. Refactor. Step 13: Discover bugs. Fix bugs. Push regularly. Step 14: More teams want to launch similar stuff. They want to reuse some components. Refactoring galore ! Fun fact: Google code changes about 50% in a year. Output - Stable Product - Reusable infrastructure
  • 37. Deprecate. Propose Plan Execute Maintain. Refactor. Deprecate Step 15: Some more generic infrastructure components are identified and new backend created. Step 16: Slice of traffic is sent to new backend to try it out. Step 17: New backend is stable. Traffic to old backend is turned off. Step 18: Old backend is turned off and deleted if no one is using it. Output - Stronger, Faster, Higher
  • 38. Product Requirements Doc (PRD) Defines the “What”, “Why” and for “Whom”. “If PRD is done well, still might not be a successful product, but it is certain that if the PRD is not done well, it is nearly impossible to build a good product. “ - Silicon Valley Product Group
  • 39. Technical Design Doc (by Malte Ubl, Tech Lead Google AMP Project) Goals ● Document the software design. ● Clarify the problem being solved. ● Act as discussion platform to further refine the design. ● Explain the reasoning behind those decisions and tradeoffs made. ● List alternative designs and why they were not chosen. ● Support future maintainers and other interested parties to understand the original design. Non-goals ● Establish non-technical requirements of the software. ● Be independently understandable by a person with no background in software stack. ● Act as user documentation for product or system.
  • 40. The Chromium projects (Design Docs) http://dev.chromium.org/developers/design-documents http://aosabook.org/en/posa/high-performance-networking-in-chrome.html
  • 41. Oncall Playbooks “Hope is not a strategy.” ● Note down past failures, ○ What went wrong ○ What was the immediate fix ○ What is the long term fix ○ How to prevent it in future. ● Avoiding culture of “heros”
  • 43. Everything is process ... Whether you’re compiling code, hiring staff, or making breakfast. - Andy Grove, High Output Management
  • 44. Software Development is often chaotic ● Changing Product Requirements ● Changing feature priorities ● Tendency to over-engineer ● We don’t know whether this new feature will work or not.
  • 45. Role of a process, is to improve effective productivity of the overall team towards the goal.
  • 46. Examples Requirements gathering, build better products Planning & estimation, unwrangle dependencies Agile development, reduce engineering waste Triage, reduce backlog Launch checklist, follow best-practices Infrastructure Integration Process, communicate requirements
  • 49. Ruthlessly measure progress ● Define milestones ○ Date - Monthly / quaterly ○ Features / items in scope ● Define progress ○ What metrics ○ Define levels of achievement ■ Red = Below Expectations ■ Yellow = Meets expectations ■ Green = Stretch Goal ● Product launch is just one of the milestones Old adage - what you can measure, is what you can improve.
  • 51. Iterations ● Unit of time for progress check ● 2 week to 1 month long ● Priorities should remain constant within a sprint ● Execution style: agile vs waterfall From one sprint to next, specs might change, priorities might change. Minimize throw away work. Software time estimation is hard. Iterations help manage estimation risk.
  • 52. (Over) Communicate ● Not just about informing stakeholders ● What is working, what is not. ● What is pending, what is not. ● What is working amazing, what needs more work. Most engineers, what to work independently, and later emerge with their masterpiece. In practice, results in wasted efforts, and missing corner cases.
  • 53. Retrospective “I think, we should cancel that weekly sync, there is no use for it”. “We should write a script for that. We get too many bugs doing that manually”. “If we launch this hack, it would help us launch and iterate.” Remember - Goal of a process is to add efficiency for the overall team towards the goal.
  • 54. Minimize Waste Obviate unnecessary artifacts ● Pretty docs ● Over documentation ● Status meetings ● Lengthy launch approvals
  • 55. Prioritized backlog ● Milestone planning leads to backlog ● Features / Bugs that were P0 before, may be P2 in later milestones. ● Careful management of backlog helps manage technical debt Dashboards ● Openness is the key ○ Bugs burn rates ○ Who’s working on what