SlideShare a Scribd company logo
1 of 12
Novelty in non-Greenfields
The case: pre-existing constraints
creates awesome engineering innovation
(why I became a software developer in the first place)
Defining
Greenfield
Projects
“In many disciplines a greenfield
project is one that lacks
constraints imposed by prior
work. The analogy is to that of
construction on greenfield land
where there is no need to work
within the constraints of
existing buildings or
infrastructure.”
-- Wikipedia
https://en.wikipedia.org/wiki/Greenfield_project
Greenfield Software Development
“In software development, a greenfield project
could be one of developing a system for a
totally new environment, without concern for
integrating with other systems, especially not
legacy systems.”
“Such projects are deemed as higher risk, as
they are often for new infrastructure, new
customers, and even new owners.”
-- Wikipedia
Pros:
• Fresh approach to a problem
• Modern development stack from “get go”
Cons:
• Harder to validate before delivery
• No documentation
• Unknown unknowns
Landscape of
Development Phases
1. Greenfield
No pre-existing code, no integration concerns
2. Rewrite
Tear down the existing code-base; refactor
3. Extending
New functionality for new use cases
4. Maintain
Refactoring with extending capabilities
(Concurrency, performance, support)
5. Life Support
Just keeping things around
0
5
10
15
20
25
30
35
Phase 1 Phase 2 Phase 3 Phase 4 Phase 5 Phase 6 Phase 7 Phase 8 Phase 9 Phase 10
Development Phase Effort
Series1
Series2
Series3
Series4
Series5
Rewrites
We have evolved a lot in the industry to embrace
rewriting our software stacks, and we usually
perform it on our edge-based systems.
• Bespoke backends to serve Front-Ends
• New Front-Ends
• Micro-services adhering to API Contracts (think
Swagger, and similar)
• Migrating may be harder… but is a consequence
of a new design.
• But one does not simply rewrite systems near the
eye of the storm
Goal: extend the current
codebase and integration of
various systems to compose or
extend new capabilities to users.
Challenges
• Pre-existing constraints
• Tension to create new
experiences and capabilities
Helpful Hints
• At least a partially solved
domain (probably mostly
solved)
• Documentation / Code to read
• Known unknowns
Encapsulating,
Extending,
Composing
API Switch
and
Encapsulate
System A System B System C
Objective:
- Unify the discrepancies between systems {A, B, C}
- Make source system agnostic to users
Lookup APIWhich
system?
Interact
Non-functional requirement:
- 99th percentile response in 1000ms
Observed: 99th < 400ms
Remaining budget: 600ms
Observed averages: 2,000ms 10,000ms 30,000ms
API Switch
and
Encapsulate
SLOW
Systems
which we
depend on
for data
Solution
1. Place a cache
- New problem: invalidation of
cached copy
- Kinks still apparent: Pioneer will be
taxed for being “first”
Cache Copy
2. Refresh the cache asynchronously
- New problem: Can’t scale because
downstream systems fall over 10x
concurrency (1million+ scans)
- Kinks still apparent: How to seed for
undiscovered “graphs” (pioneer)
Scrape CRON Job
Preemptive
scan related
graph nodes
3a. Preemptively discover the graph
- Remaining problem: Still can’t scale
3b. Prioritize refreshes on recent activity
Scoring
System
0
50
100
150
200
250
0 1 2 3 4 5 6 7 8 9
Score Decay
∫Future: What if Machine Learning could
preempt the next move?
Maintenance Support
Goal: Provide nurturing to a
system as it grows up to
experience more data, and more
consumers.
Advantages:
• Clinical in outcomes of metrics
• Domain and work is well defined
and understood
Opportunities:
• Stretching those statistics and data
gathering stories
• Adapt the system to new use case
behaviors
Once upon a time...
CMS Designs had cycle times of 3-4
weeks (± year 2008)
• Digital marketing just started to take off –
meaning more frequent design rolls
• Our clients (dealerships) needed to follow the
brand of their manufacture
• Cycle Time was still acceptable to business
Metrics?
• Google Analytics
• Browser benchmarking (IE <=7 was 90% of
the consumers choice)
• Number of events to rework required for
dealership customization
Cycle time reduced to one day, after six
month period
• Allowed more headroom to take on more
ambitious UX projects
• Browser performance outstripped mega-
digital agencies employed
How?
• Adopting 960gs, jQuery
• Enforcing stricter JS and CSS linting
• Continuously identifying high-value/low-effort
fruit which were ripe for improvement
• Repaying technical debt without asking for
permission
Life Support
Goal: gracefully switch off the
lights with no person left behind.
Challenge: change management
Share your
Innovation with
Others
Fall in love with the limitations of the
pre-existing systems, and enhance
and refine the domain knowledge.
Communicate your vision of bringing
innovation into the existing product
you work on.
Avoid seeking and wanting to label
the Frankenstein; nurture an
evolutionary framework

More Related Content

What's hot

Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance TestingGrid Dynamics
 
Eliciting Operations Requirements for Applications
Eliciting Operations Requirements for ApplicationsEliciting Operations Requirements for Applications
Eliciting Operations Requirements for ApplicationsHiroshi Wada
 
BACK FROM THE EDGE: INFRASTRUCTURE PROTECTION THROUGH PLATESPIN
BACK FROM THE EDGE: INFRASTRUCTURE PROTECTION THROUGH PLATESPINBACK FROM THE EDGE: INFRASTRUCTURE PROTECTION THROUGH PLATESPIN
BACK FROM THE EDGE: INFRASTRUCTURE PROTECTION THROUGH PLATESPINMicro Focus
 
Continuous Delivery in the UK public sector by Nuno Marques, Equal Experts
Continuous Delivery in the UK public sector by Nuno Marques, Equal ExpertsContinuous Delivery in the UK public sector by Nuno Marques, Equal Experts
Continuous Delivery in the UK public sector by Nuno Marques, Equal ExpertsEqual Experts
 
FIATECH 2011 - Reducing Costs and Increasing ROI: Project Management in the C...
FIATECH 2011 - Reducing Costs and Increasing ROI: Project Management in the C...FIATECH 2011 - Reducing Costs and Increasing ROI: Project Management in the C...
FIATECH 2011 - Reducing Costs and Increasing ROI: Project Management in the C...Aconex
 
Taking Testing to the Cloud
Taking Testing to the CloudTaking Testing to the Cloud
Taking Testing to the CloudCognizant
 
Cutting Approval Cycles from 30 Days to Ten - Webinar, September 29, 2015
Cutting Approval Cycles from 30 Days to Ten - Webinar, September 29, 2015Cutting Approval Cycles from 30 Days to Ten - Webinar, September 29, 2015
Cutting Approval Cycles from 30 Days to Ten - Webinar, September 29, 2015Aconex
 
My code, my environment, and yes, my data
My code, my environment, and yes, my dataMy code, my environment, and yes, my data
My code, my environment, and yes, my dataSanjeev Sharma
 
Continuous Delivery in the UK public sector
Continuous Delivery in the UK public sectorContinuous Delivery in the UK public sector
Continuous Delivery in the UK public sectorNuno Marques
 
Monitoring, automation and visualization as approaches to the principles of D...
Monitoring, automation and visualization as approaches to the principles of D...Monitoring, automation and visualization as approaches to the principles of D...
Monitoring, automation and visualization as approaches to the principles of D...ALG Systems (АЛЖ Системс)
 
Conquer Interface Management, Deliver Successful Projects - Webinar March 18,...
Conquer Interface Management, Deliver Successful Projects - Webinar March 18,...Conquer Interface Management, Deliver Successful Projects - Webinar March 18,...
Conquer Interface Management, Deliver Successful Projects - Webinar March 18,...Aconex
 
CloudTeams: presentation @CloudForward 2015, Pisa, Italy
CloudTeams: presentation @CloudForward 2015, Pisa, ItalyCloudTeams: presentation @CloudForward 2015, Pisa, Italy
CloudTeams: presentation @CloudForward 2015, Pisa, ItalyCloudTeams
 
Optimize Process Management to Improve Business Outcomes - Webinar, September...
Optimize Process Management to Improve Business Outcomes - Webinar, September...Optimize Process Management to Improve Business Outcomes - Webinar, September...
Optimize Process Management to Improve Business Outcomes - Webinar, September...Aconex
 
Legacy On Premise Apps Got You Down? No Problem - DevOps for All
Legacy On Premise Apps Got You Down? No Problem - DevOps for AllLegacy On Premise Apps Got You Down? No Problem - DevOps for All
Legacy On Premise Apps Got You Down? No Problem - DevOps for AllMuly Gottlieb
 
Performance Testing: Putting Cloud Customers Back in the Driver’s Seat
Performance Testing:  Putting Cloud Customers Back in the Driver’s SeatPerformance Testing:  Putting Cloud Customers Back in the Driver’s Seat
Performance Testing: Putting Cloud Customers Back in the Driver’s SeatCompuware APM
 
DevOps Adoption Patterns
DevOps Adoption PatternsDevOps Adoption Patterns
DevOps Adoption PatternsJohn Turner
 
To Scale Test Automation for DevOps, Avoid These Anti-Patterns
To Scale Test Automation for DevOps, Avoid These Anti-PatternsTo Scale Test Automation for DevOps, Avoid These Anti-Patterns
To Scale Test Automation for DevOps, Avoid These Anti-PatternsDevOps.com
 
5 Reasons Owners Specify Project-Wide Data Management - Webinar, March 2016
5 Reasons Owners Specify Project-Wide Data Management - Webinar, March 20165 Reasons Owners Specify Project-Wide Data Management - Webinar, March 2016
5 Reasons Owners Specify Project-Wide Data Management - Webinar, March 2016Aconex
 
Virtual Private Data Center Solution Overview
Virtual Private Data Center Solution OverviewVirtual Private Data Center Solution Overview
Virtual Private Data Center Solution OverviewAngela Chavez
 
Digital Product Security
Digital Product SecurityDigital Product Security
Digital Product SecuritySoftServe
 

What's hot (20)

Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance Testing
 
Eliciting Operations Requirements for Applications
Eliciting Operations Requirements for ApplicationsEliciting Operations Requirements for Applications
Eliciting Operations Requirements for Applications
 
BACK FROM THE EDGE: INFRASTRUCTURE PROTECTION THROUGH PLATESPIN
BACK FROM THE EDGE: INFRASTRUCTURE PROTECTION THROUGH PLATESPINBACK FROM THE EDGE: INFRASTRUCTURE PROTECTION THROUGH PLATESPIN
BACK FROM THE EDGE: INFRASTRUCTURE PROTECTION THROUGH PLATESPIN
 
Continuous Delivery in the UK public sector by Nuno Marques, Equal Experts
Continuous Delivery in the UK public sector by Nuno Marques, Equal ExpertsContinuous Delivery in the UK public sector by Nuno Marques, Equal Experts
Continuous Delivery in the UK public sector by Nuno Marques, Equal Experts
 
FIATECH 2011 - Reducing Costs and Increasing ROI: Project Management in the C...
FIATECH 2011 - Reducing Costs and Increasing ROI: Project Management in the C...FIATECH 2011 - Reducing Costs and Increasing ROI: Project Management in the C...
FIATECH 2011 - Reducing Costs and Increasing ROI: Project Management in the C...
 
Taking Testing to the Cloud
Taking Testing to the CloudTaking Testing to the Cloud
Taking Testing to the Cloud
 
Cutting Approval Cycles from 30 Days to Ten - Webinar, September 29, 2015
Cutting Approval Cycles from 30 Days to Ten - Webinar, September 29, 2015Cutting Approval Cycles from 30 Days to Ten - Webinar, September 29, 2015
Cutting Approval Cycles from 30 Days to Ten - Webinar, September 29, 2015
 
My code, my environment, and yes, my data
My code, my environment, and yes, my dataMy code, my environment, and yes, my data
My code, my environment, and yes, my data
 
Continuous Delivery in the UK public sector
Continuous Delivery in the UK public sectorContinuous Delivery in the UK public sector
Continuous Delivery in the UK public sector
 
Monitoring, automation and visualization as approaches to the principles of D...
Monitoring, automation and visualization as approaches to the principles of D...Monitoring, automation and visualization as approaches to the principles of D...
Monitoring, automation and visualization as approaches to the principles of D...
 
Conquer Interface Management, Deliver Successful Projects - Webinar March 18,...
Conquer Interface Management, Deliver Successful Projects - Webinar March 18,...Conquer Interface Management, Deliver Successful Projects - Webinar March 18,...
Conquer Interface Management, Deliver Successful Projects - Webinar March 18,...
 
CloudTeams: presentation @CloudForward 2015, Pisa, Italy
CloudTeams: presentation @CloudForward 2015, Pisa, ItalyCloudTeams: presentation @CloudForward 2015, Pisa, Italy
CloudTeams: presentation @CloudForward 2015, Pisa, Italy
 
Optimize Process Management to Improve Business Outcomes - Webinar, September...
Optimize Process Management to Improve Business Outcomes - Webinar, September...Optimize Process Management to Improve Business Outcomes - Webinar, September...
Optimize Process Management to Improve Business Outcomes - Webinar, September...
 
Legacy On Premise Apps Got You Down? No Problem - DevOps for All
Legacy On Premise Apps Got You Down? No Problem - DevOps for AllLegacy On Premise Apps Got You Down? No Problem - DevOps for All
Legacy On Premise Apps Got You Down? No Problem - DevOps for All
 
Performance Testing: Putting Cloud Customers Back in the Driver’s Seat
Performance Testing:  Putting Cloud Customers Back in the Driver’s SeatPerformance Testing:  Putting Cloud Customers Back in the Driver’s Seat
Performance Testing: Putting Cloud Customers Back in the Driver’s Seat
 
DevOps Adoption Patterns
DevOps Adoption PatternsDevOps Adoption Patterns
DevOps Adoption Patterns
 
To Scale Test Automation for DevOps, Avoid These Anti-Patterns
To Scale Test Automation for DevOps, Avoid These Anti-PatternsTo Scale Test Automation for DevOps, Avoid These Anti-Patterns
To Scale Test Automation for DevOps, Avoid These Anti-Patterns
 
5 Reasons Owners Specify Project-Wide Data Management - Webinar, March 2016
5 Reasons Owners Specify Project-Wide Data Management - Webinar, March 20165 Reasons Owners Specify Project-Wide Data Management - Webinar, March 2016
5 Reasons Owners Specify Project-Wide Data Management - Webinar, March 2016
 
Virtual Private Data Center Solution Overview
Virtual Private Data Center Solution OverviewVirtual Private Data Center Solution Overview
Virtual Private Data Center Solution Overview
 
Digital Product Security
Digital Product SecurityDigital Product Security
Digital Product Security
 

Similar to Novelty in Non-Greenfield

Re-Platforming Applications for the Cloud
Re-Platforming Applications for the CloudRe-Platforming Applications for the Cloud
Re-Platforming Applications for the CloudCarter Wickstrom
 
Cloud computing
Cloud computingCloud computing
Cloud computingAmit Kumar
 
Road to agile: federal government case study
Road to agile: federal government case studyRoad to agile: federal government case study
Road to agile: federal government case studyDavid Marsh
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science PlatformDecision Science Community
 
Building FoundationDB
Building FoundationDBBuilding FoundationDB
Building FoundationDBFoundationDB
 
Are your cloud applications performing? How Application Performance Managemen...
Are your cloud applications performing? How Application Performance Managemen...Are your cloud applications performing? How Application Performance Managemen...
Are your cloud applications performing? How Application Performance Managemen...DevOps.com
 
IBM Collaborative Lifecycle Management Solution for DevOps v6
IBM Collaborative Lifecycle Management Solution for DevOps v6IBM Collaborative Lifecycle Management Solution for DevOps v6
IBM Collaborative Lifecycle Management Solution for DevOps v6Strongback Consulting
 
Supporting operations personnel a software engineers perspective
Supporting operations personnel a software engineers perspectiveSupporting operations personnel a software engineers perspective
Supporting operations personnel a software engineers perspectiveLen Bass
 
Algo Project Proposal
Algo Project ProposalAlgo Project Proposal
Algo Project ProposalRitesh Nayak
 
Application Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
Application Darwinism - Why Most Enterprise Apps Will Evolve to the CloudApplication Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
Application Darwinism - Why Most Enterprise Apps Will Evolve to the CloudSkytap Cloud
 
Out With the Old, in With the Open-source: Brainshark's Complete CMS Migration
Out With the Old, in With the Open-source: Brainshark's Complete CMS MigrationOut With the Old, in With the Open-source: Brainshark's Complete CMS Migration
Out With the Old, in With the Open-source: Brainshark's Complete CMS MigrationAcquia
 
Migrating to Cloud: Inhouse Hadoop to Databricks (3)
Migrating to Cloud: Inhouse Hadoop to Databricks (3)Migrating to Cloud: Inhouse Hadoop to Databricks (3)
Migrating to Cloud: Inhouse Hadoop to Databricks (3)Knoldus Inc.
 
Deploying more technology to shift from agility to anti-fragility
Deploying more technology to shift from agility to anti-fragilityDeploying more technology to shift from agility to anti-fragility
Deploying more technology to shift from agility to anti-fragilitySpyros Lambrinidis
 
DevOps for Network Engineers
DevOps for Network EngineersDevOps for Network Engineers
DevOps for Network Engineersstefan vallin
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyComsysto Reply GmbH
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyComsysto Reply GmbH
 
Java Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the CloudJava Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the CloudMongoDB
 
AWS Partner: Grindr: Aggregate, Analyze, and Act on 900M Daily API Calls
AWS Partner: Grindr: Aggregate, Analyze, and Act on 900M Daily API CallsAWS Partner: Grindr: Aggregate, Analyze, and Act on 900M Daily API Calls
AWS Partner: Grindr: Aggregate, Analyze, and Act on 900M Daily API CallsAmazon Web Services
 
Cloud native fundamentals
Cloud native fundamentalsCloud native fundamentals
Cloud native fundamentalsVictor Morales
 

Similar to Novelty in Non-Greenfield (20)

Re-Platforming Applications for the Cloud
Re-Platforming Applications for the CloudRe-Platforming Applications for the Cloud
Re-Platforming Applications for the Cloud
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Road to agile: federal government case study
Road to agile: federal government case studyRoad to agile: federal government case study
Road to agile: federal government case study
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science Platform
 
Building FoundationDB
Building FoundationDBBuilding FoundationDB
Building FoundationDB
 
Are your cloud applications performing? How Application Performance Managemen...
Are your cloud applications performing? How Application Performance Managemen...Are your cloud applications performing? How Application Performance Managemen...
Are your cloud applications performing? How Application Performance Managemen...
 
What is DevOps?
What is DevOps?What is DevOps?
What is DevOps?
 
IBM Collaborative Lifecycle Management Solution for DevOps v6
IBM Collaborative Lifecycle Management Solution for DevOps v6IBM Collaborative Lifecycle Management Solution for DevOps v6
IBM Collaborative Lifecycle Management Solution for DevOps v6
 
Supporting operations personnel a software engineers perspective
Supporting operations personnel a software engineers perspectiveSupporting operations personnel a software engineers perspective
Supporting operations personnel a software engineers perspective
 
Algo Project Proposal
Algo Project ProposalAlgo Project Proposal
Algo Project Proposal
 
Application Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
Application Darwinism - Why Most Enterprise Apps Will Evolve to the CloudApplication Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
Application Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
 
Out With the Old, in With the Open-source: Brainshark's Complete CMS Migration
Out With the Old, in With the Open-source: Brainshark's Complete CMS MigrationOut With the Old, in With the Open-source: Brainshark's Complete CMS Migration
Out With the Old, in With the Open-source: Brainshark's Complete CMS Migration
 
Migrating to Cloud: Inhouse Hadoop to Databricks (3)
Migrating to Cloud: Inhouse Hadoop to Databricks (3)Migrating to Cloud: Inhouse Hadoop to Databricks (3)
Migrating to Cloud: Inhouse Hadoop to Databricks (3)
 
Deploying more technology to shift from agility to anti-fragility
Deploying more technology to shift from agility to anti-fragilityDeploying more technology to shift from agility to anti-fragility
Deploying more technology to shift from agility to anti-fragility
 
DevOps for Network Engineers
DevOps for Network EngineersDevOps for Network Engineers
DevOps for Network Engineers
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
 
Java Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the CloudJava Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the Cloud
 
AWS Partner: Grindr: Aggregate, Analyze, and Act on 900M Daily API Calls
AWS Partner: Grindr: Aggregate, Analyze, and Act on 900M Daily API CallsAWS Partner: Grindr: Aggregate, Analyze, and Act on 900M Daily API Calls
AWS Partner: Grindr: Aggregate, Analyze, and Act on 900M Daily API Calls
 
Cloud native fundamentals
Cloud native fundamentalsCloud native fundamentals
Cloud native fundamentals
 

Recently uploaded

Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Recently uploaded (20)

Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

Novelty in Non-Greenfield

  • 1. Novelty in non-Greenfields The case: pre-existing constraints creates awesome engineering innovation (why I became a software developer in the first place)
  • 2. Defining Greenfield Projects “In many disciplines a greenfield project is one that lacks constraints imposed by prior work. The analogy is to that of construction on greenfield land where there is no need to work within the constraints of existing buildings or infrastructure.” -- Wikipedia https://en.wikipedia.org/wiki/Greenfield_project
  • 3. Greenfield Software Development “In software development, a greenfield project could be one of developing a system for a totally new environment, without concern for integrating with other systems, especially not legacy systems.” “Such projects are deemed as higher risk, as they are often for new infrastructure, new customers, and even new owners.” -- Wikipedia Pros: • Fresh approach to a problem • Modern development stack from “get go” Cons: • Harder to validate before delivery • No documentation • Unknown unknowns
  • 4. Landscape of Development Phases 1. Greenfield No pre-existing code, no integration concerns 2. Rewrite Tear down the existing code-base; refactor 3. Extending New functionality for new use cases 4. Maintain Refactoring with extending capabilities (Concurrency, performance, support) 5. Life Support Just keeping things around 0 5 10 15 20 25 30 35 Phase 1 Phase 2 Phase 3 Phase 4 Phase 5 Phase 6 Phase 7 Phase 8 Phase 9 Phase 10 Development Phase Effort Series1 Series2 Series3 Series4 Series5
  • 5. Rewrites We have evolved a lot in the industry to embrace rewriting our software stacks, and we usually perform it on our edge-based systems. • Bespoke backends to serve Front-Ends • New Front-Ends • Micro-services adhering to API Contracts (think Swagger, and similar) • Migrating may be harder… but is a consequence of a new design. • But one does not simply rewrite systems near the eye of the storm
  • 6. Goal: extend the current codebase and integration of various systems to compose or extend new capabilities to users. Challenges • Pre-existing constraints • Tension to create new experiences and capabilities Helpful Hints • At least a partially solved domain (probably mostly solved) • Documentation / Code to read • Known unknowns Encapsulating, Extending, Composing
  • 7. API Switch and Encapsulate System A System B System C Objective: - Unify the discrepancies between systems {A, B, C} - Make source system agnostic to users Lookup APIWhich system? Interact Non-functional requirement: - 99th percentile response in 1000ms Observed: 99th < 400ms Remaining budget: 600ms Observed averages: 2,000ms 10,000ms 30,000ms
  • 8. API Switch and Encapsulate SLOW Systems which we depend on for data Solution 1. Place a cache - New problem: invalidation of cached copy - Kinks still apparent: Pioneer will be taxed for being “first” Cache Copy 2. Refresh the cache asynchronously - New problem: Can’t scale because downstream systems fall over 10x concurrency (1million+ scans) - Kinks still apparent: How to seed for undiscovered “graphs” (pioneer) Scrape CRON Job Preemptive scan related graph nodes 3a. Preemptively discover the graph - Remaining problem: Still can’t scale 3b. Prioritize refreshes on recent activity Scoring System 0 50 100 150 200 250 0 1 2 3 4 5 6 7 8 9 Score Decay ∫Future: What if Machine Learning could preempt the next move?
  • 9. Maintenance Support Goal: Provide nurturing to a system as it grows up to experience more data, and more consumers. Advantages: • Clinical in outcomes of metrics • Domain and work is well defined and understood Opportunities: • Stretching those statistics and data gathering stories • Adapt the system to new use case behaviors
  • 10. Once upon a time... CMS Designs had cycle times of 3-4 weeks (± year 2008) • Digital marketing just started to take off – meaning more frequent design rolls • Our clients (dealerships) needed to follow the brand of their manufacture • Cycle Time was still acceptable to business Metrics? • Google Analytics • Browser benchmarking (IE <=7 was 90% of the consumers choice) • Number of events to rework required for dealership customization Cycle time reduced to one day, after six month period • Allowed more headroom to take on more ambitious UX projects • Browser performance outstripped mega- digital agencies employed How? • Adopting 960gs, jQuery • Enforcing stricter JS and CSS linting • Continuously identifying high-value/low-effort fruit which were ripe for improvement • Repaying technical debt without asking for permission
  • 11. Life Support Goal: gracefully switch off the lights with no person left behind. Challenge: change management
  • 12. Share your Innovation with Others Fall in love with the limitations of the pre-existing systems, and enhance and refine the domain knowledge. Communicate your vision of bringing innovation into the existing product you work on. Avoid seeking and wanting to label the Frankenstein; nurture an evolutionary framework

Editor's Notes

  1. My goal with this presentation is to get developers to reflect on their experiences to find an appreciation for their journey within non-greenfield projects.
  2. To shortcut the illustration of what a greenfield is, let’s consider the definition edited at Wikipedia
  3. Same article specializes on the software development greenfield projects Take special note of “not integrating into legacy systems” Can be very daunting to create a greenfield project when there is no history.
  4. Other phases of development are employed by a software developer Rewrites are pretty common these days but generally avoided. Extending is a lot of what the PO’s will push down to developers Maintenance is required as the product becomes successful And sometimes there are systems which require the lights to be kept on.
  5. Emphasis on sharing the stories which developers have personally come across. Try to reframe the technical debt discussion as innovation and just address it Share your stories on how you created innovation within the “not-so-shiny project” – it is a lot more interesting.