SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
Win Friends and Influence People
...with DSLs


Dr. Vladimir Bacvanski   vladimir.bacvanski@scispike.com
Lloyd Mangnall           lmangnal@vha.com
Joel Denton              jdenton@novationco.com
The Beginning: Common Challenges

 Business & Technology Rapidly Changing
  – Aggressive new competition
  – Broad regulatory changes
 Extremely Brittle & Aging Legacy Environment
  – Silo 3rd World “Hillside of Huts” Architecture
  – Extreme degree of functional & technical redundancy
  – >1800 point-to-point integrations
            p        p          g
  – Takes multiple years to “integrate” new systems
 Executive Mandate: No longer “business as usual”
                                business usual
  – Forget changing the wheels…we’re changing the bus
    into an airplane, while it s moving!!!
                            it’s

                  www.scispike.com   Copyright © SciSpike 2012   2
Your Mission, Mr. Mangnall…
…like I really had a choice…
 Rapidly deploy a scalable, flexible architecture that can respond
  to new b
         business opportunities and leverage emerging
                                     dl
  technologies.
 Key Business Drivers:
         i       i
     •   Increase the “Hit Rate” of Business Innovations
     •   Reduce Time to Market
     •   Reduce Cost
     •   Respond rapidly to customer feedback
         R       d    idl t      t      f db k
     •   Quality! Quality! Quality!
 Key Technical Drivers:
     • Scalable, Supportable, Flexible Architecture
     • Interoperable (SOA) vs Interfaced (ETL)
                           vs.

                       www.scispike.com   Copyright © SciSpike 2012   3
Why Domain Specific Languages

 Consistently Capture Our Problem Domains
  – Keep the level of abstraction closer to business
  – Transition from tacit knowledge hidden in legacy code to
    explicit representation in DSL
 Automate Transition from High-level Models to Code
  – Apply standard transformations & patterns
  – Facilitate ongoing adoption of emerging technologies
 SciSpike has been applying agile DSL development in similar
  scenarios  this was a good match




                   www.scispike.com   Copyright © SciSpike 2012   4
Win Friends and Influence People?

 Win friends and influence business stakeholders:
  – Solve business problems faster through fast software
    delivery
    • Enable new opportunities to be rapidly realized
 Win friends and influence developers:
  – Use the cutting edge software technology
  – Create a productive environment
  – Experience making a significant contribution to the project




                    www.scispike.com   Copyright © SciSpike 2012   5
Using Domain Specific Languages

 DSL provide for expressing solution in a vocabulary of the
  problem domain
     bl   d
 Graphical DSL
  – UML with stereotypes or custom notation
  – Business users are often challenged by complex graphical
    notation
  – Complex tool development
 Textual DSL
  – Better acceptance by our users
    • Specially trained analysts
  – Much easier tool development

                     www.scispike.com   Copyright © SciSpike 2012   6
Our DSL Tools: EMF and Xtext

 Eclipse Modeling Framework
  – Our technology of choice for
    implementing metamodels

 Xtext
  – A framework for developing DSLs
    and supporting tooling
  – Created tooling integrates with
    Eclipse




                  www.scispike.com   Copyright © SciSpike 2012   7
The CTO’s Business Case
                      Business
                                       Stay Focused on Systematic Risk Mitigation
                        Risk
    Risk of Failure



                                 Technical
                                   Risk
         o




                                                      Implementation
                                                      I l      t ti
                                                           Risk                        Acceptance
                                                                                          Risk
     0                                                          Time
                                                                                              General
    Concept                                                                         Viable   Availability
      certainty




                                                                                   Product
                                                  Viable
                                                Prototype
    Unc




                             Viable
                            Business
                              Case



                                   www.scispike.com    Copyright © SciSpike 2012
The CTO’s Business Case
                                       Stay Focused on Systematic Product Quality



                   Rework resulting from unmitigated risk is                                        100x
                   EXPONENTIALLY MORE COSTLY the later it is
          ror
Cost of Err




                   discovered along the delivery lifecycle
                   di       d l     th d li      lif    l
C




                                                                                           10x

                                                                          5x
                                                       2x
                                      1x
                1/10x     1/2x
                Reqs    Design      Develop            Unit           System             Accept     Prod


                                             Agile
                                              g                                         Waterfall
                        Agile DSL

                                    www.scispike.com        Copyright © SciSpike 2012                      9
Traditional Agile Product Delivery Profile
         Focused on Systematic Risk Mitigation

         Business   Technology                      Implementation                 Acceptance     <-Risk
     ~5%               20%                                  65%                       10%         <-Effort
75% 10%                30%                                  50%                       10%         <-Schedule
    $100K             $400K                                $1.3M                     $200K        <-Cost


                                                                                     Project X:
50%
                                                                                     •   UC = 275
Effort




                                                                                     •   AUCP = 1368
                                                                                     •   Effort = 20523 eh
25%
                                                                                     •   TTM = 10 months
                                                                                     •   Total Cost = $2M



0%
         0           2              4                  6                      8           10               12
                                                    Months
                                 www.scispike.com      Copyright © SciSpike 2012
Introduction of DSLs into the Process…
         Still Focused on Systematic Risk Mitigation



75%




             Goal: Generate 100%                                                 Project X:
50%
             of x% of the overall                                                •   UC = 275
Effort




             application                                                         •   AUCP = 1368
                                                                                 •   Effort = ??? eh
25%
                                                                                 •   TTM = ?? months
                                                                                 •   Total Cost = $???



0%
         0             2            4                6                      8          10           12
                                                   Months
                                www.scispike.com     Copyright © SciSpike 2012
What We’ve Seen So Far…
         Recast our projected effort to ~14000 eh (30% productivity increase)
             - Experienced an initial increase in technical debt
             • - B ildi i i i l l
                  Building initial languages
75%
             • - Selecting initial architectural components
             - 3 developers generating 100% of ~75% of the application
                                                    75%

50%                                                                              Project X:
Effort




                                                                                 •   UC = 275
                                                                                 •   AUCP = 1368
                                                                                 •   Effort = ~14000 eh
25%
                                                                                 •   TTM = 10 months
                                                                                 •   Cost = $2M


0%
         0            2            4                 6                      8          10           12
                                                   Months
                                www.scispike.com     Copyright © SciSpike 2012
What We Hope to See in the Future…
         Sustained 50-60% overall productivity increase



75%




50%                                              Project N:
                                                 •   UC = 275
Effort




                                                 •   AUCP = 1368
                                                 •   Effort = ~8000 eh
25%
                                                 •   TTM = 6 months
                                                 •   Cost = $800K


0%
         0           2           4                   6                      8    10   12
                                                 Months
                              www.scispike.com       Copyright © SciSpike 2012
DSL Iterative Lifecycle
                                                       Define/Update
                          Metamodel                         DSL
   Domain/
   Business/
 Requirements

                                                                         Validate DSL
                 Model
                                                                              UX
                                           Continuous
                                          Build Integration
                                         Refactoring
                Refactor/                  Collaboration
                                                                          Generate
                 Refine


                               Add
                                                            Develop/Use
increased                   Handcrafted
                                                            Framework
iterations                     Code
                               C d

                      www.scispike.com       Copyright © SciSpike 2012                  14
Obstacles and Misconceptions

 Modeling
  – "Just drawings"
  – Perceived disconnect between modeling and
    programming
 Process
  – Reverting to waterfall
  – Expecting to write application code early on
 Dealing with UI
  – Specialized UI teams may prefer to go into very detailed
    Spec a ed U tea s ay p e e              to e y deta ed
    waterfall-like design early on


                    www.scispike.com   Copyright © SciSpike 2012   15
What is the Product?

 The problem: What is the product?
  – Just the generated solution?
  – Or the DSL language, the tooling, and the underlying
    framework?
 Is management interested in the difference?
  – They just want a solution to business problem!
  – Need to sell them on the tools!
 Evangelizing DSL approach is a must from early on
  – But: it must be e p essed in t e bus ess terms (they did
     ut: t ust expressed the business te s (t ey d d
    not hear before)
  – Move from project to product line / rapid change thinking
                p j       p               p       g          g
    helps
                   www.scispike.com   Copyright © SciSpike 2012   16
People and Roles

 Language builders
  – Exposure to multiple languages helpful
 Tool builders
  – Able to think in metamodels (test early!)
 Domain experts
           p
  – Available and motivated to help
 Language users
  – Business users paired with developers familiar with the
    DSL




                   www.scispike.com   Copyright © SciSpike 2012   17
DSL Patterns That Worked For Us

 Focus on getting the domain model right
 Rapidly prototype and try out the language with users
 Cultivate a champion DSL designer who works closely with
                  p            g                    y
  the domain expert
 Keep the language minimal
     p        g g
 Keep underlying framework clean and refactor early
 Documentation is essential
 Staff that is not afraid of learning new things




                    www.scispike.com   Copyright © SciSpike 2012   18
Some Discovered DSL Process Antipatterns

 Pressure to fall back to waterfall
 Pressure to "finally start coding the application"
 Pressure to "add more bodies"


 How to avoid these?
  – Must manage business and management stakeholders
    early on
  – Must resist consensus based decision making under
    pressure and preserve the purity of the DSL solution
  – Requires a technical architect with a strong vision


                   www.scispike.com   Copyright © SciSpike 2012   19
Seven Habits of Successful DSL Projects…

1. Look for opportunities where DSLs are a good match
   •   Be Proactive
2. Focus on an easy to use DSL that users like
   •   Begin with the end in mind
3. Focus on area with the most impact
   •   Put first things first
4. Work together with business and solve real p
          g                                   problems
   •   Think win/win




                       www.scispike.com   Copyright © SciSpike 2012   20
…Seven Habits of Successful DSL Projects

5. Understand the domain, then choose the matching
   approach
          h
   •   Seek first to understand, then to be understood
6. Explore synergy with similar projects where DSL may
   work
   •   Synergize
7. Be on the lookout for new DSL tools and practices
   •   Sharpen the saw




                     www.scispike.com   Copyright © SciSpike 2012   21

Más contenido relacionado

La actualidad más candente

Mary Poppendieck: Agile under contract
Mary Poppendieck: Agile under contractMary Poppendieck: Agile under contract
Mary Poppendieck: Agile under contract
Agile Lietuva
 
Consulting toolkit process mapping
Consulting toolkit   process mappingConsulting toolkit   process mapping
Consulting toolkit process mapping
chrisdoran
 
What's this thing called "pull" - Mary Poppendieck
What's this thing called "pull" - Mary PoppendieckWhat's this thing called "pull" - Mary Poppendieck
What's this thing called "pull" - Mary Poppendieck
AGILEMinds
 

La actualidad más candente (20)

Cloud project secrets of success
Cloud project secrets of successCloud project secrets of success
Cloud project secrets of success
 
Agile Project Management - coClarity
Agile Project Management - coClarityAgile Project Management - coClarity
Agile Project Management - coClarity
 
"Lean software development: discovering waste" by Mary Poppendieck
"Lean software development: discovering waste" by Mary Poppendieck"Lean software development: discovering waste" by Mary Poppendieck
"Lean software development: discovering waste" by Mary Poppendieck
 
Mary Poppendieck: Agile under contract
Mary Poppendieck: Agile under contractMary Poppendieck: Agile under contract
Mary Poppendieck: Agile under contract
 
Introduction_to_Scrum_Agile_Values
Introduction_to_Scrum_Agile_ValuesIntroduction_to_Scrum_Agile_Values
Introduction_to_Scrum_Agile_Values
 
Seeking value by Michael Ballé at the European Lean IT Summit 2012
Seeking value by Michael Ballé at the European Lean IT Summit 2012Seeking value by Michael Ballé at the European Lean IT Summit 2012
Seeking value by Michael Ballé at the European Lean IT Summit 2012
 
Trust or Control ?
Trust or Control ? Trust or Control ?
Trust or Control ?
 
Agile-To Infinity and Beyond and So Much More Than Just Agile Software
Agile-To Infinity and Beyond and So Much More Than Just Agile SoftwareAgile-To Infinity and Beyond and So Much More Than Just Agile Software
Agile-To Infinity and Beyond and So Much More Than Just Agile Software
 
Consulting toolkit process mapping
Consulting toolkit   process mappingConsulting toolkit   process mapping
Consulting toolkit process mapping
 
Envision Overview
Envision OverviewEnvision Overview
Envision Overview
 
Five risk management rules for the project manager
Five risk management rules for the project managerFive risk management rules for the project manager
Five risk management rules for the project manager
 
Managing Software Debt in Practice 2011
Managing Software Debt in Practice 2011Managing Software Debt in Practice 2011
Managing Software Debt in Practice 2011
 
Hook42 zero-to-go-pt1-business-v2
Hook42 zero-to-go-pt1-business-v2Hook42 zero-to-go-pt1-business-v2
Hook42 zero-to-go-pt1-business-v2
 
Leading, Learning, Innovation with Toyota Kata
Leading, Learning, Innovation with Toyota KataLeading, Learning, Innovation with Toyota Kata
Leading, Learning, Innovation with Toyota Kata
 
Ideation to Project Creation
Ideation to Project CreationIdeation to Project Creation
Ideation to Project Creation
 
Testing in an Agile Context 2011
Testing in an Agile Context 2011Testing in an Agile Context 2011
Testing in an Agile Context 2011
 
What's this thing called "pull" - Mary Poppendieck
What's this thing called "pull" - Mary PoppendieckWhat's this thing called "pull" - Mary Poppendieck
What's this thing called "pull" - Mary Poppendieck
 
Innovation Way
Innovation WayInnovation Way
Innovation Way
 
Towards a Push-Button Release
Towards a Push-Button ReleaseTowards a Push-Button Release
Towards a Push-Button Release
 
George Brown College: Leadership in the innovation economy
George Brown College: Leadership in the innovation economyGeorge Brown College: Leadership in the innovation economy
George Brown College: Leadership in the innovation economy
 

Similar a Win Friends and Influence People... with DSLs

Arena product presentation
Arena product presentationArena product presentation
Arena product presentation
jhjsmits
 
Barrick simulation with mimic presentation
Barrick simulation with mimic presentationBarrick simulation with mimic presentation
Barrick simulation with mimic presentation
MYNAH Technologies
 
Smarter Computing Integrated Systems
Smarter Computing Integrated SystemsSmarter Computing Integrated Systems
Smarter Computing Integrated Systems
IBMGovernmentCA
 
Novell Access Governance Suite
Novell Access Governance SuiteNovell Access Governance Suite
Novell Access Governance Suite
Novell
 

Similar a Win Friends and Influence People... with DSLs (20)

Predicting product life using reliability analysis methods
Predicting product life using reliability analysis methodsPredicting product life using reliability analysis methods
Predicting product life using reliability analysis methods
 
Empirical Evidence Of Agile Methods
Empirical Evidence Of Agile MethodsEmpirical Evidence Of Agile Methods
Empirical Evidence Of Agile Methods
 
Jesse Pulfer Pivotal Overview June 2018
Jesse Pulfer Pivotal Overview June 2018Jesse Pulfer Pivotal Overview June 2018
Jesse Pulfer Pivotal Overview June 2018
 
New Product Introduction - Launching Success!
New Product Introduction - Launching Success! New Product Introduction - Launching Success!
New Product Introduction - Launching Success!
 
Qa Trends May09 V3
Qa Trends May09 V3Qa Trends May09 V3
Qa Trends May09 V3
 
Understanding and Managing Risk in Complex Supply Chain Projects
Understanding and Managing Risk in Complex Supply Chain ProjectsUnderstanding and Managing Risk in Complex Supply Chain Projects
Understanding and Managing Risk in Complex Supply Chain Projects
 
Arena product presentation
Arena product presentationArena product presentation
Arena product presentation
 
Pivotal Overview: Canadian Team
Pivotal Overview: Canadian TeamPivotal Overview: Canadian Team
Pivotal Overview: Canadian Team
 
Barrick simulation with mimic presentation
Barrick simulation with mimic presentationBarrick simulation with mimic presentation
Barrick simulation with mimic presentation
 
Microservices in production 15/12/2015
Microservices in production 15/12/2015Microservices in production 15/12/2015
Microservices in production 15/12/2015
 
Navigating the risks in implementing Hybrid Cloud, Agile and Project Manageme...
Navigating the risks in implementing Hybrid Cloud, Agile and Project Manageme...Navigating the risks in implementing Hybrid Cloud, Agile and Project Manageme...
Navigating the risks in implementing Hybrid Cloud, Agile and Project Manageme...
 
Fachseminar Wcms 2008 Day
Fachseminar Wcms 2008 DayFachseminar Wcms 2008 Day
Fachseminar Wcms 2008 Day
 
Lean Construction Webinar
Lean Construction WebinarLean Construction Webinar
Lean Construction Webinar
 
Smarter Computing Integrated Systems
Smarter Computing Integrated SystemsSmarter Computing Integrated Systems
Smarter Computing Integrated Systems
 
Will You Join Me
Will You Join MeWill You Join Me
Will You Join Me
 
Novell Access Governance Suite
Novell Access Governance SuiteNovell Access Governance Suite
Novell Access Governance Suite
 
Value Of Cloud Computing For Fed Governmen Oct 8 Tim May
Value Of Cloud Computing For Fed Governmen Oct 8 Tim MayValue Of Cloud Computing For Fed Governmen Oct 8 Tim May
Value Of Cloud Computing For Fed Governmen Oct 8 Tim May
 
Zws webinar september 2012 operational excellence series v14
Zws webinar september 2012 operational excellence series v14Zws webinar september 2012 operational excellence series v14
Zws webinar september 2012 operational excellence series v14
 
Antonio piraino v1
Antonio piraino v1Antonio piraino v1
Antonio piraino v1
 
Enterprise DevOps Transformation
Enterprise DevOps TransformationEnterprise DevOps Transformation
Enterprise DevOps Transformation
 

Más de Vladimir Bacvanski, PhD

High performance database applications with pure query and ibm data studio.ba...
High performance database applications with pure query and ibm data studio.ba...High performance database applications with pure query and ibm data studio.ba...
High performance database applications with pure query and ibm data studio.ba...
Vladimir Bacvanski, PhD
 
How to Crunch Petabytes with Hadoop and Big Data using InfoSphere BigInsights...
How to Crunch Petabytes with Hadoop and Big Data using InfoSphere BigInsights...How to Crunch Petabytes with Hadoop and Big Data using InfoSphere BigInsights...
How to Crunch Petabytes with Hadoop and Big Data using InfoSphere BigInsights...
Vladimir Bacvanski, PhD
 
Crash Introduction to Modern Java Data Access: Understanding JPA, Hibernate, ...
Crash Introduction to Modern Java Data Access: Understanding JPA, Hibernate, ...Crash Introduction to Modern Java Data Access: Understanding JPA, Hibernate, ...
Crash Introduction to Modern Java Data Access: Understanding JPA, Hibernate, ...
Vladimir Bacvanski, PhD
 

Más de Vladimir Bacvanski, PhD (7)

High performance database applications with pure query and ibm data studio.ba...
High performance database applications with pure query and ibm data studio.ba...High performance database applications with pure query and ibm data studio.ba...
High performance database applications with pure query and ibm data studio.ba...
 
How to Crunch Petabytes with Hadoop and Big Data using InfoSphere BigInsights...
How to Crunch Petabytes with Hadoop and Big Data using InfoSphere BigInsights...How to Crunch Petabytes with Hadoop and Big Data using InfoSphere BigInsights...
How to Crunch Petabytes with Hadoop and Big Data using InfoSphere BigInsights...
 
Crash Introduction to Modern Java Data Access: Understanding JPA, Hibernate, ...
Crash Introduction to Modern Java Data Access: Understanding JPA, Hibernate, ...Crash Introduction to Modern Java Data Access: Understanding JPA, Hibernate, ...
Crash Introduction to Modern Java Data Access: Understanding JPA, Hibernate, ...
 
UML for Data Architects
UML for Data ArchitectsUML for Data Architects
UML for Data Architects
 
Best Practices of Data Modeling with InfoSphere Data Architect
Best Practices of Data Modeling with InfoSphere Data ArchitectBest Practices of Data Modeling with InfoSphere Data Architect
Best Practices of Data Modeling with InfoSphere Data Architect
 
Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2
Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2
Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2
 
Web 2.0 Development with IBM DB2
Web 2.0 Development with IBM DB2Web 2.0 Development with IBM DB2
Web 2.0 Development with IBM DB2
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
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
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Win Friends and Influence People... with DSLs

  • 1. Win Friends and Influence People ...with DSLs Dr. Vladimir Bacvanski vladimir.bacvanski@scispike.com Lloyd Mangnall lmangnal@vha.com Joel Denton jdenton@novationco.com
  • 2. The Beginning: Common Challenges  Business & Technology Rapidly Changing – Aggressive new competition – Broad regulatory changes  Extremely Brittle & Aging Legacy Environment – Silo 3rd World “Hillside of Huts” Architecture – Extreme degree of functional & technical redundancy – >1800 point-to-point integrations p p g – Takes multiple years to “integrate” new systems  Executive Mandate: No longer “business as usual” business usual – Forget changing the wheels…we’re changing the bus into an airplane, while it s moving!!! it’s www.scispike.com Copyright © SciSpike 2012 2
  • 3. Your Mission, Mr. Mangnall… …like I really had a choice…  Rapidly deploy a scalable, flexible architecture that can respond to new b business opportunities and leverage emerging dl technologies.  Key Business Drivers: i i • Increase the “Hit Rate” of Business Innovations • Reduce Time to Market • Reduce Cost • Respond rapidly to customer feedback R d idl t t f db k • Quality! Quality! Quality!  Key Technical Drivers: • Scalable, Supportable, Flexible Architecture • Interoperable (SOA) vs Interfaced (ETL) vs. www.scispike.com Copyright © SciSpike 2012 3
  • 4. Why Domain Specific Languages  Consistently Capture Our Problem Domains – Keep the level of abstraction closer to business – Transition from tacit knowledge hidden in legacy code to explicit representation in DSL  Automate Transition from High-level Models to Code – Apply standard transformations & patterns – Facilitate ongoing adoption of emerging technologies  SciSpike has been applying agile DSL development in similar scenarios  this was a good match www.scispike.com Copyright © SciSpike 2012 4
  • 5. Win Friends and Influence People?  Win friends and influence business stakeholders: – Solve business problems faster through fast software delivery • Enable new opportunities to be rapidly realized  Win friends and influence developers: – Use the cutting edge software technology – Create a productive environment – Experience making a significant contribution to the project www.scispike.com Copyright © SciSpike 2012 5
  • 6. Using Domain Specific Languages  DSL provide for expressing solution in a vocabulary of the problem domain bl d  Graphical DSL – UML with stereotypes or custom notation – Business users are often challenged by complex graphical notation – Complex tool development  Textual DSL – Better acceptance by our users • Specially trained analysts – Much easier tool development www.scispike.com Copyright © SciSpike 2012 6
  • 7. Our DSL Tools: EMF and Xtext  Eclipse Modeling Framework – Our technology of choice for implementing metamodels  Xtext – A framework for developing DSLs and supporting tooling – Created tooling integrates with Eclipse www.scispike.com Copyright © SciSpike 2012 7
  • 8. The CTO’s Business Case Business Stay Focused on Systematic Risk Mitigation Risk Risk of Failure Technical Risk o Implementation I l t ti Risk Acceptance Risk 0 Time General Concept Viable Availability certainty Product Viable Prototype Unc Viable Business Case www.scispike.com Copyright © SciSpike 2012
  • 9. The CTO’s Business Case Stay Focused on Systematic Product Quality Rework resulting from unmitigated risk is 100x EXPONENTIALLY MORE COSTLY the later it is ror Cost of Err discovered along the delivery lifecycle di d l th d li lif l C 10x 5x 2x 1x 1/10x 1/2x Reqs Design Develop Unit System Accept Prod Agile g Waterfall Agile DSL www.scispike.com Copyright © SciSpike 2012 9
  • 10. Traditional Agile Product Delivery Profile Focused on Systematic Risk Mitigation Business Technology Implementation Acceptance <-Risk ~5% 20% 65% 10% <-Effort 75% 10% 30% 50% 10% <-Schedule $100K $400K $1.3M $200K <-Cost Project X: 50% • UC = 275 Effort • AUCP = 1368 • Effort = 20523 eh 25% • TTM = 10 months • Total Cost = $2M 0% 0 2 4 6 8 10 12 Months www.scispike.com Copyright © SciSpike 2012
  • 11. Introduction of DSLs into the Process… Still Focused on Systematic Risk Mitigation 75% Goal: Generate 100% Project X: 50% of x% of the overall • UC = 275 Effort application • AUCP = 1368 • Effort = ??? eh 25% • TTM = ?? months • Total Cost = $??? 0% 0 2 4 6 8 10 12 Months www.scispike.com Copyright © SciSpike 2012
  • 12. What We’ve Seen So Far… Recast our projected effort to ~14000 eh (30% productivity increase) - Experienced an initial increase in technical debt • - B ildi i i i l l Building initial languages 75% • - Selecting initial architectural components - 3 developers generating 100% of ~75% of the application 75% 50% Project X: Effort • UC = 275 • AUCP = 1368 • Effort = ~14000 eh 25% • TTM = 10 months • Cost = $2M 0% 0 2 4 6 8 10 12 Months www.scispike.com Copyright © SciSpike 2012
  • 13. What We Hope to See in the Future… Sustained 50-60% overall productivity increase 75% 50% Project N: • UC = 275 Effort • AUCP = 1368 • Effort = ~8000 eh 25% • TTM = 6 months • Cost = $800K 0% 0 2 4 6 8 10 12 Months www.scispike.com Copyright © SciSpike 2012
  • 14. DSL Iterative Lifecycle Define/Update Metamodel DSL Domain/ Business/ Requirements Validate DSL Model UX Continuous Build Integration Refactoring Refactor/ Collaboration Generate Refine Add Develop/Use increased Handcrafted Framework iterations Code C d www.scispike.com Copyright © SciSpike 2012 14
  • 15. Obstacles and Misconceptions  Modeling – "Just drawings" – Perceived disconnect between modeling and programming  Process – Reverting to waterfall – Expecting to write application code early on  Dealing with UI – Specialized UI teams may prefer to go into very detailed Spec a ed U tea s ay p e e to e y deta ed waterfall-like design early on www.scispike.com Copyright © SciSpike 2012 15
  • 16. What is the Product?  The problem: What is the product? – Just the generated solution? – Or the DSL language, the tooling, and the underlying framework?  Is management interested in the difference? – They just want a solution to business problem! – Need to sell them on the tools!  Evangelizing DSL approach is a must from early on – But: it must be e p essed in t e bus ess terms (they did ut: t ust expressed the business te s (t ey d d not hear before) – Move from project to product line / rapid change thinking p j p p g g helps www.scispike.com Copyright © SciSpike 2012 16
  • 17. People and Roles  Language builders – Exposure to multiple languages helpful  Tool builders – Able to think in metamodels (test early!)  Domain experts p – Available and motivated to help  Language users – Business users paired with developers familiar with the DSL www.scispike.com Copyright © SciSpike 2012 17
  • 18. DSL Patterns That Worked For Us  Focus on getting the domain model right  Rapidly prototype and try out the language with users  Cultivate a champion DSL designer who works closely with p g y the domain expert  Keep the language minimal p g g  Keep underlying framework clean and refactor early  Documentation is essential  Staff that is not afraid of learning new things www.scispike.com Copyright © SciSpike 2012 18
  • 19. Some Discovered DSL Process Antipatterns  Pressure to fall back to waterfall  Pressure to "finally start coding the application"  Pressure to "add more bodies"  How to avoid these? – Must manage business and management stakeholders early on – Must resist consensus based decision making under pressure and preserve the purity of the DSL solution – Requires a technical architect with a strong vision www.scispike.com Copyright © SciSpike 2012 19
  • 20. Seven Habits of Successful DSL Projects… 1. Look for opportunities where DSLs are a good match • Be Proactive 2. Focus on an easy to use DSL that users like • Begin with the end in mind 3. Focus on area with the most impact • Put first things first 4. Work together with business and solve real p g problems • Think win/win www.scispike.com Copyright © SciSpike 2012 20
  • 21. …Seven Habits of Successful DSL Projects 5. Understand the domain, then choose the matching approach h • Seek first to understand, then to be understood 6. Explore synergy with similar projects where DSL may work • Synergize 7. Be on the lookout for new DSL tools and practices • Sharpen the saw www.scispike.com Copyright © SciSpike 2012 21