SlideShare uma empresa Scribd logo
1 de 9
Baixar para ler offline
PI-MDD Executive Summary



                          Version 1.0
                    January 29, 2011




                 Pathfinder Solutions
              www.pathfindermda.com
                   +1 508-568-0068
PI-MDD Executive Summary




                                      Table Of Contents
Executive Summary...................................................................................... 2

Introduction ................................................................................................. 2

The Needs .................................................................................................... 2
      Technical..................................................................................................2
      Business ..................................................................................................3

Methodology History .................................................................................... 3
      Compilers.................................................................................................3
      Early Modeling ..........................................................................................3
      Modeling Language Standards and Automation .............................................3
      Agile Methods and PI-MDD .........................................................................4
      Test-Driven Development...........................................................................4
      Industry Best Practice................................................................................5

Steps to Adopt PI-MDD ................................................................................ 5
      Detail Business Context/Needs....................................................................5
      Assess Suitability of PI-MDD to Address Top Concerns ...................................6
      Explore PI-MDD with a Pilot Project .............................................................6
      Apply on a Real Project ..............................................................................7
      Pivot Your Organizational Culture ................................................................7

Summary...................................................................................................... 7

References ................................................................................................... 7




   Copyright 1995-2011 Pathfinder Solutions LLC – all right reserved.                                       1
PI-MDD Executive Summary




Executive Summary
Platform-Independent Model Drive Development (PI-MDD) is an integrated agile,
test-driven and model-driven approach to architecting, developing, testing and
deploying complex, high-performance systems software. Two decades of constant
refinement by hundreds of development teams and dozens of technology and
expertise vendors, spanning a range of challenging industries have optimized this
method and its supporting automation to deliver the highest performance and best
quality systems while boosting key business results: real-world project metrics show
the PI-MDD at its current level of refinement yields repeatable results including
substantial productivity gains and 10X quality gains within 14 months of adoption.


Introduction
The development of complex and high-performance software systems is a
challenging endeavor. Meeting both technical and business needs is increasingly
more difficult, and teams applying classic software development approaches more
frequently fail to deliver these required results.
Model Driven Development (MDD) approaches use software modeling languages and
tools to help organize software and improve team communication. However not all
MDD approaches are able to meet the challenges faced in building complex and high-
performance systems. The Platform-Independent MDD (PI-MDD) method is an
approach incorporating key modeling techniques and automation specifically
designed to meet the unique challenges of building these types of systems. In
addition to its technical advantages, PI-MDD has been specifically tailored to boost
business results including system quality and productivity. Leveraging best practices
and industry standards evolved over decades, PI-MDD is a refined set of mutually-
supporting architectural and detailed modeling techniques applying and enforcing
key disciplines through automation. Delivering efficient and capable systems quickly,
PI-MDD also delivers substantial gains in business results, with newly adopting
teams posting substantial gains in critical business results including time to market,
productivity and overall product quality soon after adoption.
For organizations already working towards more disciplined practice and applying
MDD technologies, moving to PI-MDD may not be a far step. However for many
organizations still producing most of their software through a less structured hand-
coding culture, moving to PI-MDD can be more of a paradigm shift, requiring
explicitly staged adoption steps facilitated by training and expert mentoring.


The Needs
       Technical
Simply addressing the technical challenges in building complex, high-performance
software systems is difficult. Feature complexity, the challenge of deploying to
complex target environments, and the need to build flexible and adaptable systems
that meet all feature and performance requirements require sound techniques to
manage complexity and produce efficient implementations. Many teams face further




  Copyright 1995-2011 Pathfinder Solutions LLC – all right reserved.              2
PI-MDD Executive Summary



challenges in extending the time horizon beyond a single project to consider longer
term agility to in the face of changing requirements and volatile markets, and
ultimately the need to deliver families of products.

       Business
The biggest change of the past few years has been a heightened need to
dramatically boost business results delivered by software development organizations.
Facing increasingly competitive markets, products must get to market much quicker
with higher productivity and overall systems quality. Today it is not enough to
simply deliver the system – it must be delivered on time, within budget and will full
capability at high quality.


Methodology History
       Compilers
Since the dawn of complex software systems, the industry has been continually
working to manage complexity and simplify individual system elements. Two key
principles were quickly proven effective: Separation, where the complex whole is
broken down into simpler parts; and Abstraction, where focus is more on the
problem being solved and less on the implementation details of that solution.
Effective compilers for FORTRAN, C and other languages quickly showed how the
right technology can make the most of these sound techniques.




                         Architectural Focus and Automation evolve with the rise
                                  in Level of Abstraction and Separation


       Early Modeling
While the use of more abstract textual programming languages made gains relative
to machine and assembly programming, the pursuit of further gains pointed to
graphical languages and more specific and refined techniques for building systems.
By the late 1980's a number of methodologies based on graphical software modeling
notations posted significant successes in challenging industry segments. Object
Modeling Technique (OMT) and Shlaer-Mellor Object Oriented Analysis and Recursive
Design (OOA/RD) were prominent among several competing approaches. Tools grew
up around the capture of these specific modeling languages, and more disciplined
approaches - like OOA/RD – through their foundational emphasis on Separation and
Abstraction, facilitated early technologies that automatically generated full
implementations from models.

       Modeling Language Standards and Automation
Increasing adoption of modeling quickly drove the development of an industry
modeling language standard: the Unified Modeling Language (UML). Subsequently




  Copyright 1995-2011 Pathfinder Solutions LLC – all right reserved.               3
PI-MDD Executive Summary



the Model Driven Architecture (MDA) set of standards were built to augment UML
with standard ways to share model information and transform it to other forms,
including code. Now a broad base of modeling tools and other technology grew up
supporting the MDA standards, and advanced automation around model checking,
report generation and code generation began to evolve.




                          PI-MDD is based on MDA Standards, boosting business
                          results through higher Level of Abstraction and greater
                                            architectural focus.


       Agile Methods and PI-MDD
Agile methods have been mitigating risk and shortening schedules for over a decade.
Rather that diving into a detailed treatment of how the many develop/test/integrate
cycles of an Agile approach deliver better results than an old-school waterfall project
organization, we will simply summarize to say that an Agile modeling approach can
mitigate many risks in building complex systems, including with model-driven
development.
A key element of PI-MDD that makes it particularly well suited for Agile development
is the executability and testability of a PI-MDD model. With UML-level action
language and platform independence, the PI-MDD model is complete and executable.
This quick path to building running fragments of system capability fit well into the
short Agile build/integration cycles.

       Test-Driven Development
Test Driven Development (TDD) is an approach to building complex system where
unit test (and in some cases inter-component integration tests) are built in advance
of the product software and are used exercised upon component implementation.
The immediate exercise of these tests provides a rapid, objective assessment of the
readiness of the new capability, and dramatically improved component quality and
reduces integration time and risk.
With PI-MDD code the openness of the underlying code generation is used to
automatically generate test a framework and automation, making the creation and
maintenance of these test far less expensive in terms of time and effort. This
automation also promotes better test coverage and builds an automated regression
test base, ultimately providing a quantum boost in overall system quality. Platform




  Copyright 1995-2011 Pathfinder Solutions LLC – all right reserved.                4
PI-MDD Executive Summary



independence – facilitating component testability - and flexible code generation
make TDD a natural aspect of PI-MDD.

       Industry Best Practice
With a standard language in UML and a wide range of modeling techniques evolving
throughout the industry, coherent and complete methodologies matured and were
applied across varying tools and in varying industry segments. Those producing
highly complex and high-performance systems found greatest success when
Separation and Abstraction could be facilitated through automation. Focusing on a
key subset of the UML with an automation-based path to implementation, the
Executable UML family of approaches (aka xUML and xtUML) emerged from the
OOA/RD community, continuing the emphasis on Separation and Abstraction. The
broadest and most flexible of these standards-based methodologies is Pathfinder
Solutions' PI-MDD:




                         PI-MDD automation produces optimized code using open
                                   and standards-based technology.

Next evolutionary steps in the standards area involve Foundational UML (FUML),
bringing together vendors and practitioners with tightened standards and a reference
implementation. As these standards emerge and become endorsed by standards
bodies, PI-MDD will continue its evolution to build upon these standards and refine
its best practices.
With a history of thousands of successfully fielded systems in service for over two
decades, the Platform Independent MDD approach has been proven to be effective in
critical industries including medical devices, aerospace, defense, and automotive. It
is the most effective way to build complex and high performance software today.


Steps to Adopt PI-MDD
How does an organization adopt PI-MDD in a way that manages the risks of change
while still moving decisively toward the goal? They key is to establish a clear path
with incremental steps, combining careful review and introspection, enlisting the
support of proven experts and automation, and decisive steps.

       Detail Business Context/Needs
The first step is simply to understand your business context. What are the technical
and business challenges faced by your systems engineering and software




  Copyright 1995-2011 Pathfinder Solutions LLC – all right reserved.               5
PI-MDD Executive Summary



development teams? What are their relative priorities? Often times critical business
needs are those faced by most organizations:
   •   Time to market
   •   Overall cost to develop product
   •   Changing product requirements
   •   Shifting markets
   •   A drive for improved testing and test automation
   •   Productivity
   •   Overall systems quality



       Assess Suitability of PI-MDD to Address Top Concerns
Once the organizational challenges/needs have been cataloged, match these with
key strength areas of PI-MDD:
   •   Flexible and durable software architecture
   •   A consistent and well-documented development process
   •   Manage overall problem space complexity
   •   Ease deployment and manage target environment complexity
   •   Direct facilitation of development team communication and coordination
   •   Agile approach with short build/integration cycles
   •   Strong foundations for software development testing, system integration or
       and testing
   •   Self-optimizing implementation generation for high system performance in
       the target environment
If there are one or more priority challenges that can be addressed by PI-MDD, then
move decisively to gain practical experience with the approach and its automation.

       Explore PI-MDD with a Pilot Project
Scope out a limited PI-MDD project addressing a limited-scope but real development
effort. Use experts and trained staff, and measure key metrics to build a base of
objective information to decide how to move next. Successful pilots share these
characteristics:
   •   Modest and clear technical goals, set in a limited time frame
   •   Explicit and objective evaluation criteria
   •   Relevant to the overall product context, usually building a small piece of an
       actual system
   •   Staffed with a small team of motivated and capable engineers
   •   Relevant training and mentoring/guidance from experts
   •   Use of proper tools/automation




  Copyright 1995-2011 Pathfinder Solutions LLC – all right reserved.              6
PI-MDD Executive Summary



        Apply on a Real Project
Quickly after the pilot effort, refine your approach to better address your unique
needs, and apply PI-MDD on a full-scale project. Again mitigate cultural and
technology risks with training and mentoring from industry experts, and apply
proven automation technology.
Like the pilot, clear goals/requirements and success criteria within short, iterative
and incremental builds provides essential focus. Proper training,
mentoring/guidance and tooling are essential for maximizing team productivity and
system quality.
Like the pilot, the first "real project" must also have a clear, limited timeframe, and a
focus on harvesting key lessons learned so broader adoption can move quickly and
effectively.

        Pivot Your Organizational Culture
Once your first full-scale project effort establishes and adapts PI-MDD to the unique
needs of your organization, leverage your newly earned expertise and new
architectural foundations by rolling these forward via shared components and
product line architecture.
Lessons learned from the pilot and first real project efforts are fed into essential
plans for rolling out PI-MDD throughout the organization where business benefits can
be derived. Making the paradigm shift includes careful planning and sequencing of:
    •   Product Line Architecture
    •   Selecting Product Development efforts for PI-MDD
    •   Team Enablement, including methodology training and mentoring
    •   Building, managing and deploying common components


Summary
Platform Independent Model Driven Development is a software development method
with supporting automation that can deliver complex and high performance software
systems effectively and with high quality. It also delivers substantial gains in
business results, with newly adopting teams posting substantial gains in critical
business results including time to market, productivity and overall product quality
soon after adoption. For many organizations still producing most of their software
through a less structured hand-coding culture, moving to PI-MDD can be a
substantial paradigm shift, requiring explicitly staged adoption steps facilitated by
training and expert mentoring.
PI-MDD is the most effective way to build complex and high performance software
today.


References
Lahman, HS Model-Based Development: Applications First Edition. Boston, MA: Pearson
Education/Addison-Wesley, 2011.




   Copyright 1995-2011 Pathfinder Solutions LLC – all right reserved.                 7
PI-MDD Executive Summary



Douglass, Bruce Powel. Real-Time UML Third Edition: Developing Efficient Objects for Embedded Systems.
Boston, MA: Addison-Wesley, 2004.
Douglass, Bruce Powel. Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks,
and Patterns. Reading, MA: Addison-Wesley, 1999.
Fowler, Martin. UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition.
Boston, MA: Addison-Wesley, 2003.
Kleppe, Anneke, Jos Warmer, Wim Bast. MDA Explained The Model Driven Architecture: Practice and
Promise. Boston, MA: Addison-Wesley, 2003.
Mellor, Stephen J. and Marc J. Balcer. Executable UML: A Foundation for Model-Driven Architecture.
Addison-Wesley, Boston, MA, 2002.
Rumbaugh, James, Ivar Jacobson, and Grady Booch. The Unified Modeling Language Reference Manual.
Reading, MA: Addison-Wesley, 1999.
Selic, Bran, Garth Gullekson, and Paul T. Ward. Real-Time Object-Oriented Modeling. New York: John
Wiley and Sons, Inc., 1994.
Starr, Leon. Executable UML How to Build Class Models. Prentice Hall, 2001.
“MDA Guide Version 1.0.1”, OMG document omg/2003-06-01, June 12, 2003.
“OMG Systems Modeling Language (OMG SysMLTM) Specification”, OMG document ptc/2009-10-05, May
4, 2006.
"OO Software Development and MDA Ideas -- Technologies, and Tricks of the Trade", blog at
http://pathfinderpeople.blogs.com
"Semantics Of A Foundational Subset For Executable UML Models (FUML)", Version 1.0 - Beta 2
Pathfinder Solutions whitepapers (various) , http://www.pathfindermda.com/resources/whitepapers.php




   Copyright 1995-2011 Pathfinder Solutions LLC – all right reserved.                                   8

Mais conteúdo relacionado

Mais de Pathfinder Solutions

Mais de Pathfinder Solutions (9)

PathMATE Transformation Maps Mutx Controls
PathMATE Transformation Maps Mutx ControlsPathMATE Transformation Maps Mutx Controls
PathMATE Transformation Maps Mutx Controls
 
Multi Process Message Formats
Multi Process Message FormatsMulti Process Message Formats
Multi Process Message Formats
 
Memory Pools for C and C++
Memory Pools for C and C++Memory Pools for C and C++
Memory Pools for C and C++
 
Interprocess Message Formats
Interprocess Message FormatsInterprocess Message Formats
Interprocess Message Formats
 
Index Based Instance Identification
Index Based Instance IdentificationIndex Based Instance Identification
Index Based Instance Identification
 
Build Generation
Build GenerationBuild Generation
Build Generation
 
Blending Realized Code
Blending Realized CodeBlending Realized Code
Blending Realized Code
 
Binary Instance Loading
Binary Instance LoadingBinary Instance Loading
Binary Instance Loading
 
Test Driven Development (TDD)
Test Driven Development (TDD)Test Driven Development (TDD)
Test Driven Development (TDD)
 

Último

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Último (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Platform Independent Model Driven Development (PI-MDD)

  • 1. PI-MDD Executive Summary Version 1.0 January 29, 2011 Pathfinder Solutions www.pathfindermda.com +1 508-568-0068
  • 2. PI-MDD Executive Summary Table Of Contents Executive Summary...................................................................................... 2 Introduction ................................................................................................. 2 The Needs .................................................................................................... 2 Technical..................................................................................................2 Business ..................................................................................................3 Methodology History .................................................................................... 3 Compilers.................................................................................................3 Early Modeling ..........................................................................................3 Modeling Language Standards and Automation .............................................3 Agile Methods and PI-MDD .........................................................................4 Test-Driven Development...........................................................................4 Industry Best Practice................................................................................5 Steps to Adopt PI-MDD ................................................................................ 5 Detail Business Context/Needs....................................................................5 Assess Suitability of PI-MDD to Address Top Concerns ...................................6 Explore PI-MDD with a Pilot Project .............................................................6 Apply on a Real Project ..............................................................................7 Pivot Your Organizational Culture ................................................................7 Summary...................................................................................................... 7 References ................................................................................................... 7 Copyright 1995-2011 Pathfinder Solutions LLC – all right reserved. 1
  • 3. PI-MDD Executive Summary Executive Summary Platform-Independent Model Drive Development (PI-MDD) is an integrated agile, test-driven and model-driven approach to architecting, developing, testing and deploying complex, high-performance systems software. Two decades of constant refinement by hundreds of development teams and dozens of technology and expertise vendors, spanning a range of challenging industries have optimized this method and its supporting automation to deliver the highest performance and best quality systems while boosting key business results: real-world project metrics show the PI-MDD at its current level of refinement yields repeatable results including substantial productivity gains and 10X quality gains within 14 months of adoption. Introduction The development of complex and high-performance software systems is a challenging endeavor. Meeting both technical and business needs is increasingly more difficult, and teams applying classic software development approaches more frequently fail to deliver these required results. Model Driven Development (MDD) approaches use software modeling languages and tools to help organize software and improve team communication. However not all MDD approaches are able to meet the challenges faced in building complex and high- performance systems. The Platform-Independent MDD (PI-MDD) method is an approach incorporating key modeling techniques and automation specifically designed to meet the unique challenges of building these types of systems. In addition to its technical advantages, PI-MDD has been specifically tailored to boost business results including system quality and productivity. Leveraging best practices and industry standards evolved over decades, PI-MDD is a refined set of mutually- supporting architectural and detailed modeling techniques applying and enforcing key disciplines through automation. Delivering efficient and capable systems quickly, PI-MDD also delivers substantial gains in business results, with newly adopting teams posting substantial gains in critical business results including time to market, productivity and overall product quality soon after adoption. For organizations already working towards more disciplined practice and applying MDD technologies, moving to PI-MDD may not be a far step. However for many organizations still producing most of their software through a less structured hand- coding culture, moving to PI-MDD can be more of a paradigm shift, requiring explicitly staged adoption steps facilitated by training and expert mentoring. The Needs Technical Simply addressing the technical challenges in building complex, high-performance software systems is difficult. Feature complexity, the challenge of deploying to complex target environments, and the need to build flexible and adaptable systems that meet all feature and performance requirements require sound techniques to manage complexity and produce efficient implementations. Many teams face further Copyright 1995-2011 Pathfinder Solutions LLC – all right reserved. 2
  • 4. PI-MDD Executive Summary challenges in extending the time horizon beyond a single project to consider longer term agility to in the face of changing requirements and volatile markets, and ultimately the need to deliver families of products. Business The biggest change of the past few years has been a heightened need to dramatically boost business results delivered by software development organizations. Facing increasingly competitive markets, products must get to market much quicker with higher productivity and overall systems quality. Today it is not enough to simply deliver the system – it must be delivered on time, within budget and will full capability at high quality. Methodology History Compilers Since the dawn of complex software systems, the industry has been continually working to manage complexity and simplify individual system elements. Two key principles were quickly proven effective: Separation, where the complex whole is broken down into simpler parts; and Abstraction, where focus is more on the problem being solved and less on the implementation details of that solution. Effective compilers for FORTRAN, C and other languages quickly showed how the right technology can make the most of these sound techniques. Architectural Focus and Automation evolve with the rise in Level of Abstraction and Separation Early Modeling While the use of more abstract textual programming languages made gains relative to machine and assembly programming, the pursuit of further gains pointed to graphical languages and more specific and refined techniques for building systems. By the late 1980's a number of methodologies based on graphical software modeling notations posted significant successes in challenging industry segments. Object Modeling Technique (OMT) and Shlaer-Mellor Object Oriented Analysis and Recursive Design (OOA/RD) were prominent among several competing approaches. Tools grew up around the capture of these specific modeling languages, and more disciplined approaches - like OOA/RD – through their foundational emphasis on Separation and Abstraction, facilitated early technologies that automatically generated full implementations from models. Modeling Language Standards and Automation Increasing adoption of modeling quickly drove the development of an industry modeling language standard: the Unified Modeling Language (UML). Subsequently Copyright 1995-2011 Pathfinder Solutions LLC – all right reserved. 3
  • 5. PI-MDD Executive Summary the Model Driven Architecture (MDA) set of standards were built to augment UML with standard ways to share model information and transform it to other forms, including code. Now a broad base of modeling tools and other technology grew up supporting the MDA standards, and advanced automation around model checking, report generation and code generation began to evolve. PI-MDD is based on MDA Standards, boosting business results through higher Level of Abstraction and greater architectural focus. Agile Methods and PI-MDD Agile methods have been mitigating risk and shortening schedules for over a decade. Rather that diving into a detailed treatment of how the many develop/test/integrate cycles of an Agile approach deliver better results than an old-school waterfall project organization, we will simply summarize to say that an Agile modeling approach can mitigate many risks in building complex systems, including with model-driven development. A key element of PI-MDD that makes it particularly well suited for Agile development is the executability and testability of a PI-MDD model. With UML-level action language and platform independence, the PI-MDD model is complete and executable. This quick path to building running fragments of system capability fit well into the short Agile build/integration cycles. Test-Driven Development Test Driven Development (TDD) is an approach to building complex system where unit test (and in some cases inter-component integration tests) are built in advance of the product software and are used exercised upon component implementation. The immediate exercise of these tests provides a rapid, objective assessment of the readiness of the new capability, and dramatically improved component quality and reduces integration time and risk. With PI-MDD code the openness of the underlying code generation is used to automatically generate test a framework and automation, making the creation and maintenance of these test far less expensive in terms of time and effort. This automation also promotes better test coverage and builds an automated regression test base, ultimately providing a quantum boost in overall system quality. Platform Copyright 1995-2011 Pathfinder Solutions LLC – all right reserved. 4
  • 6. PI-MDD Executive Summary independence – facilitating component testability - and flexible code generation make TDD a natural aspect of PI-MDD. Industry Best Practice With a standard language in UML and a wide range of modeling techniques evolving throughout the industry, coherent and complete methodologies matured and were applied across varying tools and in varying industry segments. Those producing highly complex and high-performance systems found greatest success when Separation and Abstraction could be facilitated through automation. Focusing on a key subset of the UML with an automation-based path to implementation, the Executable UML family of approaches (aka xUML and xtUML) emerged from the OOA/RD community, continuing the emphasis on Separation and Abstraction. The broadest and most flexible of these standards-based methodologies is Pathfinder Solutions' PI-MDD: PI-MDD automation produces optimized code using open and standards-based technology. Next evolutionary steps in the standards area involve Foundational UML (FUML), bringing together vendors and practitioners with tightened standards and a reference implementation. As these standards emerge and become endorsed by standards bodies, PI-MDD will continue its evolution to build upon these standards and refine its best practices. With a history of thousands of successfully fielded systems in service for over two decades, the Platform Independent MDD approach has been proven to be effective in critical industries including medical devices, aerospace, defense, and automotive. It is the most effective way to build complex and high performance software today. Steps to Adopt PI-MDD How does an organization adopt PI-MDD in a way that manages the risks of change while still moving decisively toward the goal? They key is to establish a clear path with incremental steps, combining careful review and introspection, enlisting the support of proven experts and automation, and decisive steps. Detail Business Context/Needs The first step is simply to understand your business context. What are the technical and business challenges faced by your systems engineering and software Copyright 1995-2011 Pathfinder Solutions LLC – all right reserved. 5
  • 7. PI-MDD Executive Summary development teams? What are their relative priorities? Often times critical business needs are those faced by most organizations: • Time to market • Overall cost to develop product • Changing product requirements • Shifting markets • A drive for improved testing and test automation • Productivity • Overall systems quality Assess Suitability of PI-MDD to Address Top Concerns Once the organizational challenges/needs have been cataloged, match these with key strength areas of PI-MDD: • Flexible and durable software architecture • A consistent and well-documented development process • Manage overall problem space complexity • Ease deployment and manage target environment complexity • Direct facilitation of development team communication and coordination • Agile approach with short build/integration cycles • Strong foundations for software development testing, system integration or and testing • Self-optimizing implementation generation for high system performance in the target environment If there are one or more priority challenges that can be addressed by PI-MDD, then move decisively to gain practical experience with the approach and its automation. Explore PI-MDD with a Pilot Project Scope out a limited PI-MDD project addressing a limited-scope but real development effort. Use experts and trained staff, and measure key metrics to build a base of objective information to decide how to move next. Successful pilots share these characteristics: • Modest and clear technical goals, set in a limited time frame • Explicit and objective evaluation criteria • Relevant to the overall product context, usually building a small piece of an actual system • Staffed with a small team of motivated and capable engineers • Relevant training and mentoring/guidance from experts • Use of proper tools/automation Copyright 1995-2011 Pathfinder Solutions LLC – all right reserved. 6
  • 8. PI-MDD Executive Summary Apply on a Real Project Quickly after the pilot effort, refine your approach to better address your unique needs, and apply PI-MDD on a full-scale project. Again mitigate cultural and technology risks with training and mentoring from industry experts, and apply proven automation technology. Like the pilot, clear goals/requirements and success criteria within short, iterative and incremental builds provides essential focus. Proper training, mentoring/guidance and tooling are essential for maximizing team productivity and system quality. Like the pilot, the first "real project" must also have a clear, limited timeframe, and a focus on harvesting key lessons learned so broader adoption can move quickly and effectively. Pivot Your Organizational Culture Once your first full-scale project effort establishes and adapts PI-MDD to the unique needs of your organization, leverage your newly earned expertise and new architectural foundations by rolling these forward via shared components and product line architecture. Lessons learned from the pilot and first real project efforts are fed into essential plans for rolling out PI-MDD throughout the organization where business benefits can be derived. Making the paradigm shift includes careful planning and sequencing of: • Product Line Architecture • Selecting Product Development efforts for PI-MDD • Team Enablement, including methodology training and mentoring • Building, managing and deploying common components Summary Platform Independent Model Driven Development is a software development method with supporting automation that can deliver complex and high performance software systems effectively and with high quality. It also delivers substantial gains in business results, with newly adopting teams posting substantial gains in critical business results including time to market, productivity and overall product quality soon after adoption. For many organizations still producing most of their software through a less structured hand-coding culture, moving to PI-MDD can be a substantial paradigm shift, requiring explicitly staged adoption steps facilitated by training and expert mentoring. PI-MDD is the most effective way to build complex and high performance software today. References Lahman, HS Model-Based Development: Applications First Edition. Boston, MA: Pearson Education/Addison-Wesley, 2011. Copyright 1995-2011 Pathfinder Solutions LLC – all right reserved. 7
  • 9. PI-MDD Executive Summary Douglass, Bruce Powel. Real-Time UML Third Edition: Developing Efficient Objects for Embedded Systems. Boston, MA: Addison-Wesley, 2004. Douglass, Bruce Powel. Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks, and Patterns. Reading, MA: Addison-Wesley, 1999. Fowler, Martin. UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition. Boston, MA: Addison-Wesley, 2003. Kleppe, Anneke, Jos Warmer, Wim Bast. MDA Explained The Model Driven Architecture: Practice and Promise. Boston, MA: Addison-Wesley, 2003. Mellor, Stephen J. and Marc J. Balcer. Executable UML: A Foundation for Model-Driven Architecture. Addison-Wesley, Boston, MA, 2002. Rumbaugh, James, Ivar Jacobson, and Grady Booch. The Unified Modeling Language Reference Manual. Reading, MA: Addison-Wesley, 1999. Selic, Bran, Garth Gullekson, and Paul T. Ward. Real-Time Object-Oriented Modeling. New York: John Wiley and Sons, Inc., 1994. Starr, Leon. Executable UML How to Build Class Models. Prentice Hall, 2001. “MDA Guide Version 1.0.1”, OMG document omg/2003-06-01, June 12, 2003. “OMG Systems Modeling Language (OMG SysMLTM) Specification”, OMG document ptc/2009-10-05, May 4, 2006. "OO Software Development and MDA Ideas -- Technologies, and Tricks of the Trade", blog at http://pathfinderpeople.blogs.com "Semantics Of A Foundational Subset For Executable UML Models (FUML)", Version 1.0 - Beta 2 Pathfinder Solutions whitepapers (various) , http://www.pathfindermda.com/resources/whitepapers.php Copyright 1995-2011 Pathfinder Solutions LLC – all right reserved. 8