SlideShare a Scribd company logo
Software Management for Tech Startups
About Me
● Mahmoud Atef Abdelsamie.
● Worked @IBM for 9 Years as
Software Engineer.
● CTO, Co-founder and the Technical
Product Manager of flowngoo.com for
3 years.
● A hardcore developer, passionate
about Technologies, Agile & Software
Architecture.
Agenda
● Traits of startup.
● Small sprints (Validated Learning).
● Lean backlog (MVP).
● Trunk-based development.
● Trust your tests.
● Test on production.
● Continuous Delivery / Deployment
● Evolutionary Architecture
Traits of startup (Lean Startup)
● “A human institution designed to create a
new product or service under conditions of
extreme uncertainty”.
● Entrepreneurs Are Everywhere.
● Entrepreneurship Is Management.
● Validated Learning.
● Build-measure-learn.
Small Sprints (Validated Learning)
● Little’s Law: Cycle Time = Work in Progress (WIP) / Throughput
● Decide the shortest to get Validated Learning. (Design Sprint ?!)
● Fast feedback, give a team more opportunities to improve.
● Create pressure, increases the performance of the team.
● Less interruptions
● Consistent team pace.
● Small failures.
Lean backlog (MVP)
● Backlogs should answer a single question: ‘What’s next?’
● Backlogs should target the Minimum Viable/Sellable Product.
● Big backlogs reduce productivity.
● Good Backlog Should Be:
○ Small: about 100 items are sufficient for future planning
○ Structured: Epic -> Story -> Task
○ Just In time : stories in the next sprint are ready (detailed, designed, no blockers)
○ User Centric: each story provides end-to-end user value.
Trunk-based Development
● All commits go to the trunk/master branch.
● When release is decided a new branch is created for the release.
● If there is fix needed, it will be committed to master, then cherry-picked to the
release branch.
Trust your tests (unit tests)
● Keeps you out of the debugger!
● Reduces bugs in new features and
in existing features.
● Reduces the cost of change.
● Improves design.
● Encourages refactoring.
● Forces you to slow down and think.
● Speeds up development by
eliminating waste.
Test On Production
● Sandbox accounts: Test the services without
taking real effect. Or taking a temp effect for short
time.
● Dark launch: Double user requests on the old and
new versions to test the effect of the changes.
● Canary releases: To small set of users.
● Blue-Green release: Roll out changes gradually.
● A/B testing: To get fast feedback from user
groups.
● Feature flags: To decouple feature rollout from
code deployment.
Continuous Delivery / Deployment
● Get changes into production safely and quickly.
● Make deployments predictable, routine affairs that
can be performed on demand.
● High quality, low risk, low time to market, fast
feedback, happy team.
Evolutionary Architecture
● An evolutionary architecture designs for incremental change in an
architecture as a first principle.
● Organized Around Business Capabilities (Bounded Context).
● Modularity and Coupling (Microservices).
● Experimentation (A/B testing, canary releases .. etc).
References
● http://www.agileadvice.com/2014/06/12/howtoapplyagile/21-tips-on-choosing-
a-sprint-length/
● https://trunkbaseddevelopment.com
● https://continuousdelivery.com/
● https://featureflags.io/
● https://medium.com/@copyconstruct/testing-in-production-the-safe-way-
18ca102d0ef1
● https://www.belatrixsf.com/blog/an-introduction-to-testing-in-production/
● https://www.thoughtworks.com/insights/blog/microservices-evolutionary-
architecture

More Related Content

What's hot

Scrum Overview
Scrum OverviewScrum Overview
Scrum Overview
sourav_techjini
 
Introduction to continuous delivery
Introduction to continuous deliveryIntroduction to continuous delivery
Introduction to continuous delivery
OlympicSoftware
 
Software Development Methodologies By E2Logy
Software Development Methodologies By E2LogySoftware Development Methodologies By E2Logy
Software Development Methodologies By E2Logy
E2LOGY
 
Introduction to Agile Development
Introduction to Agile DevelopmentIntroduction to Agile Development
Introduction to Agile Development
Tu Hoang
 
scrum
scrumscrum
scrum
Noman sial
 
10 Advantages of Agile Software Development
10 Advantages of Agile Software Development10 Advantages of Agile Software Development
10 Advantages of Agile Software Development
ValueCoders
 
Scrum Testing
Scrum Testing Scrum Testing
Scrum Testing
Vignesh D
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To Agile
vineet
 
Top 5 mistakes in agile journey
Top 5 mistakes in agile journeyTop 5 mistakes in agile journey
Top 5 mistakes in agile journey
Neeraj Bachani
 
Agile Simplified
Agile SimplifiedAgile Simplified
Agile Simplified
Walaa Atef
 
Overview on scrum development process
Overview on scrum development processOverview on scrum development process
Overview on scrum development process
parvezmisarwala
 
Project Delivery
Project DeliveryProject Delivery
Project Delivery
CODETE
 
Overview of agile methodology
Overview of agile methodologyOverview of agile methodology
Overview of agile methodology
Lee D Clemons MBA, PMP, CSM
 
Continues Integration for Android
Continues Integration for AndroidContinues Integration for Android
Continues Integration for Android
CODETE
 
Notes On Agile Development
Notes On Agile DevelopmentNotes On Agile Development
Notes On Agile Development
Matt Griffin
 
Agile Model-Driven Development
Agile Model-Driven DevelopmentAgile Model-Driven Development
Agile Model-Driven Development
TechWell
 
Practical Programming It Awareness Advocacy
Practical Programming   It Awareness AdvocacyPractical Programming   It Awareness Advocacy
Practical Programming It Awareness Advocacy
Marie Claire Ponsaran
 
Agile vs waterfall
Agile vs waterfallAgile vs waterfall
Agile vs waterfall
Lohet Ramesh
 
Scrumban pechakucha
Scrumban pechakuchaScrumban pechakucha
Scrumban pechakucha
Nitin Ramrakhyani
 
Intro agile development methodology abhilash chandran
Intro agile development methodology   abhilash chandranIntro agile development methodology   abhilash chandran
Intro agile development methodology abhilash chandran
Abhilash Chandran
 

What's hot (20)

Scrum Overview
Scrum OverviewScrum Overview
Scrum Overview
 
Introduction to continuous delivery
Introduction to continuous deliveryIntroduction to continuous delivery
Introduction to continuous delivery
 
Software Development Methodologies By E2Logy
Software Development Methodologies By E2LogySoftware Development Methodologies By E2Logy
Software Development Methodologies By E2Logy
 
Introduction to Agile Development
Introduction to Agile DevelopmentIntroduction to Agile Development
Introduction to Agile Development
 
scrum
scrumscrum
scrum
 
10 Advantages of Agile Software Development
10 Advantages of Agile Software Development10 Advantages of Agile Software Development
10 Advantages of Agile Software Development
 
Scrum Testing
Scrum Testing Scrum Testing
Scrum Testing
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To Agile
 
Top 5 mistakes in agile journey
Top 5 mistakes in agile journeyTop 5 mistakes in agile journey
Top 5 mistakes in agile journey
 
Agile Simplified
Agile SimplifiedAgile Simplified
Agile Simplified
 
Overview on scrum development process
Overview on scrum development processOverview on scrum development process
Overview on scrum development process
 
Project Delivery
Project DeliveryProject Delivery
Project Delivery
 
Overview of agile methodology
Overview of agile methodologyOverview of agile methodology
Overview of agile methodology
 
Continues Integration for Android
Continues Integration for AndroidContinues Integration for Android
Continues Integration for Android
 
Notes On Agile Development
Notes On Agile DevelopmentNotes On Agile Development
Notes On Agile Development
 
Agile Model-Driven Development
Agile Model-Driven DevelopmentAgile Model-Driven Development
Agile Model-Driven Development
 
Practical Programming It Awareness Advocacy
Practical Programming   It Awareness AdvocacyPractical Programming   It Awareness Advocacy
Practical Programming It Awareness Advocacy
 
Agile vs waterfall
Agile vs waterfallAgile vs waterfall
Agile vs waterfall
 
Scrumban pechakucha
Scrumban pechakuchaScrumban pechakucha
Scrumban pechakucha
 
Intro agile development methodology abhilash chandran
Intro agile development methodology   abhilash chandranIntro agile development methodology   abhilash chandran
Intro agile development methodology abhilash chandran
 

Similar to Software management for tech startups

Managing software projects & teams effectively
Managing software projects & teams effectivelyManaging software projects & teams effectively
Managing software projects & teams effectively
Ashutosh Agarwal
 
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
JawdatTI
 
Software Development Methodologies
Software Development Methodologies Software Development Methodologies
Software Development Methodologies
Frances Coronel
 
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
Roberto Pérez Alcolea
 
Testing in a continuous delivery environment
Testing in a continuous delivery environmentTesting in a continuous delivery environment
Testing in a continuous delivery environment
Stefan Verhoeff
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.ppt
Mohan Late
 
Pusheando en master, que es gerundio
Pusheando en master, que es gerundioPusheando en master, que es gerundio
Pusheando en master, que es gerundio
Isidro José López Martínez
 
DevOPs Transformation Workshop
DevOPs Transformation WorkshopDevOPs Transformation Workshop
DevOPs Transformation Workshop
Jules Pierre-Louis
 
Agile & SCRUM basics
Agile & SCRUM basicsAgile & SCRUM basics
Agile & SCRUM basics
Arun R
 
Agile & SCRUM
Agile & SCRUMAgile & SCRUM
Agile & SCRUM
ejlp12
 
Introduction to Agile and Scrum
Introduction to Agile and ScrumIntroduction to Agile and Scrum
Introduction to Agile and Scrum
Manoj Gupta, CSM®,
 
Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013
Moataz Nabil
 
Increasing productivity with continuous delivery
Increasing productivity with continuous deliveryIncreasing productivity with continuous delivery
Increasing productivity with continuous delivery
André Pitombeira
 
Software industry 101
Software industry 101Software industry 101
Software industry 101
Iman Tunggono
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To Agile
Knoldus Inc.
 
Introduction to Agile & scrum
Introduction to Agile & scrumIntroduction to Agile & scrum
Introduction to Agile & scrum
Elad Sofer
 
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporações
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporaçõesLuiz Fernando Testa Contador - Aplicando DevOps em grandes corporações
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporações
Agile Trends
 
Agile_SDLC_Node.js@Paypal_ppt
Agile_SDLC_Node.js@Paypal_pptAgile_SDLC_Node.js@Paypal_ppt
Agile_SDLC_Node.js@Paypal_ppt
Hitesh Kumar
 
Overview of agile methodology
Overview of agile methodologyOverview of agile methodology
Overview of agile methodology
Phuong Pham
 
Agile_basics
Agile_basicsAgile_basics
Agile_basics
Mithilesh Singh
 

Similar to Software management for tech startups (20)

Managing software projects & teams effectively
Managing software projects & teams effectivelyManaging software projects & teams effectively
Managing software projects & teams effectively
 
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
 
Software Development Methodologies
Software Development Methodologies Software Development Methodologies
Software Development Methodologies
 
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
 
Testing in a continuous delivery environment
Testing in a continuous delivery environmentTesting in a continuous delivery environment
Testing in a continuous delivery environment
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.ppt
 
Pusheando en master, que es gerundio
Pusheando en master, que es gerundioPusheando en master, que es gerundio
Pusheando en master, que es gerundio
 
DevOPs Transformation Workshop
DevOPs Transformation WorkshopDevOPs Transformation Workshop
DevOPs Transformation Workshop
 
Agile & SCRUM basics
Agile & SCRUM basicsAgile & SCRUM basics
Agile & SCRUM basics
 
Agile & SCRUM
Agile & SCRUMAgile & SCRUM
Agile & SCRUM
 
Introduction to Agile and Scrum
Introduction to Agile and ScrumIntroduction to Agile and Scrum
Introduction to Agile and Scrum
 
Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013
 
Increasing productivity with continuous delivery
Increasing productivity with continuous deliveryIncreasing productivity with continuous delivery
Increasing productivity with continuous delivery
 
Software industry 101
Software industry 101Software industry 101
Software industry 101
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To Agile
 
Introduction to Agile & scrum
Introduction to Agile & scrumIntroduction to Agile & scrum
Introduction to Agile & scrum
 
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporações
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporaçõesLuiz Fernando Testa Contador - Aplicando DevOps em grandes corporações
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporações
 
Agile_SDLC_Node.js@Paypal_ppt
Agile_SDLC_Node.js@Paypal_pptAgile_SDLC_Node.js@Paypal_ppt
Agile_SDLC_Node.js@Paypal_ppt
 
Overview of agile methodology
Overview of agile methodologyOverview of agile methodology
Overview of agile methodology
 
Agile_basics
Agile_basicsAgile_basics
Agile_basics
 

Recently uploaded

zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
YousufSait3
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
TaghreedAltamimi
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative AnalysisOdoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Envertis Software Solutions
 
Top 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptxTop 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptx
devvsandy
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
GohKiangHock
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
Marcin Chrost
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
VALiNTRY360
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
mz5nrf0n
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 

Recently uploaded (20)

zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative AnalysisOdoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
 
Top 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptxTop 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptx
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 

Software management for tech startups

  • 1. Software Management for Tech Startups
  • 2. About Me ● Mahmoud Atef Abdelsamie. ● Worked @IBM for 9 Years as Software Engineer. ● CTO, Co-founder and the Technical Product Manager of flowngoo.com for 3 years. ● A hardcore developer, passionate about Technologies, Agile & Software Architecture.
  • 3. Agenda ● Traits of startup. ● Small sprints (Validated Learning). ● Lean backlog (MVP). ● Trunk-based development. ● Trust your tests. ● Test on production. ● Continuous Delivery / Deployment ● Evolutionary Architecture
  • 4. Traits of startup (Lean Startup) ● “A human institution designed to create a new product or service under conditions of extreme uncertainty”. ● Entrepreneurs Are Everywhere. ● Entrepreneurship Is Management. ● Validated Learning. ● Build-measure-learn.
  • 5. Small Sprints (Validated Learning) ● Little’s Law: Cycle Time = Work in Progress (WIP) / Throughput ● Decide the shortest to get Validated Learning. (Design Sprint ?!) ● Fast feedback, give a team more opportunities to improve. ● Create pressure, increases the performance of the team. ● Less interruptions ● Consistent team pace. ● Small failures.
  • 6. Lean backlog (MVP) ● Backlogs should answer a single question: ‘What’s next?’ ● Backlogs should target the Minimum Viable/Sellable Product. ● Big backlogs reduce productivity. ● Good Backlog Should Be: ○ Small: about 100 items are sufficient for future planning ○ Structured: Epic -> Story -> Task ○ Just In time : stories in the next sprint are ready (detailed, designed, no blockers) ○ User Centric: each story provides end-to-end user value.
  • 7. Trunk-based Development ● All commits go to the trunk/master branch. ● When release is decided a new branch is created for the release. ● If there is fix needed, it will be committed to master, then cherry-picked to the release branch.
  • 8. Trust your tests (unit tests) ● Keeps you out of the debugger! ● Reduces bugs in new features and in existing features. ● Reduces the cost of change. ● Improves design. ● Encourages refactoring. ● Forces you to slow down and think. ● Speeds up development by eliminating waste.
  • 9. Test On Production ● Sandbox accounts: Test the services without taking real effect. Or taking a temp effect for short time. ● Dark launch: Double user requests on the old and new versions to test the effect of the changes. ● Canary releases: To small set of users. ● Blue-Green release: Roll out changes gradually. ● A/B testing: To get fast feedback from user groups. ● Feature flags: To decouple feature rollout from code deployment.
  • 10. Continuous Delivery / Deployment ● Get changes into production safely and quickly. ● Make deployments predictable, routine affairs that can be performed on demand. ● High quality, low risk, low time to market, fast feedback, happy team.
  • 11. Evolutionary Architecture ● An evolutionary architecture designs for incremental change in an architecture as a first principle. ● Organized Around Business Capabilities (Bounded Context). ● Modularity and Coupling (Microservices). ● Experimentation (A/B testing, canary releases .. etc).
  • 12. References ● http://www.agileadvice.com/2014/06/12/howtoapplyagile/21-tips-on-choosing- a-sprint-length/ ● https://trunkbaseddevelopment.com ● https://continuousdelivery.com/ ● https://featureflags.io/ ● https://medium.com/@copyconstruct/testing-in-production-the-safe-way- 18ca102d0ef1 ● https://www.belatrixsf.com/blog/an-introduction-to-testing-in-production/ ● https://www.thoughtworks.com/insights/blog/microservices-evolutionary- architecture