SlideShare une entreprise Scribd logo
1  sur  17
Extending Visual Studio™ for
Engineered Software Delivery
Streamlining the creation and sustainability of high quality software
Common Challenges to the
Software Delivery Process
 Budget Pressures
 Dynamic Scope
 Staff Attrition
 Immature Standards
 Team Integration
 Customer Demands
 Competing Projects
 Limited Resources
 Legacy Systems
 Technical Skill Atrophy
Note that these are not particularly technical in nature
These Challenges Often
Result in Specific Problems
 Infrequent Refactoring
 Technical Debt
 Copy-Paste Plumbing Code
 Dependent on Outdated Tools
 Overly Complex Source Code
 System Interdependencies
 Inconsistent Integration
 Coding Anti-Patterns
 Brittle Architecture
 Degraded Code Quality
 Excessive Re-Work
 High Support Costs
Interface-based design & architecture
 Interfaced-based design provides application
modularity, easing maintenance and enabling
effective code reuse.
 CodeFactory auto-generates application interfaces
ensuring easy assembly/refactoring while enforcing
consistent .NET design pattern adherence by all of
your development teams.
What is “Code Refactoring”
and Why Should I Care?
 Code refactoring is a technique for restructuring an
existing body of code without changing its external
behavior.
 Advantages include improved performance, code
readability and simplified maintainability of source
code.
Managing “Legacy Code”
When the Designer is Gone.
 Legacy systems often lack clearly defined
requirements, or inline code documentation,
greatly complicating refactoring.
 Many developers, when inheriting legacy systems
prefer to rebuild from scratch which is very costly
and disruptive to business users.
What is “Plumbing Code”
and Why Should I Care?
 Plumbing code recurs throughout a system
performing various tasks that are unrelated to
functional requirements, such as error handling,
logging, memory management, etc.
 When better “plumbing” methods are found, it’s
time consuming to update older instances with the
improved design, and as a result this is often
neglected, contributing to the Technical Debt of a
system.
Build Solutions Better.
With Code Factory™, much of an application can be
automatically generated to match a consistent pattern.
When application changes are desired the Code Factory™
author can modify the automation and apply changes without
losing code written by the development team in the interim.
Rely less on the skill levels of individual team members and
ensure design standards related to plumbing code are met
through automation.
Build Solutions Faster.
Probably the most important benefit to a business is the
reduction of time to build.
The use of software factories automate the effort needed to
construct “plumbing code”, or software logic that is
repetitive in nature.
For example, every application has, or should have, code for
handling exceptions, validating data, disposing of unnecessary
objects in memory, security authentication and authorization,
etc.
Reduce Technical Debt.
A significant source of technical debt is the result of
inconsistently implemented code. Development ‘shortcuts’
often include copy-paste behavior using a variety of code
snippet sources. With Code Factory™ generated code there is
a single style of implemented code, enabling applications
which are significantly easier to maintain and improve over
time. With consistent code delivery patterns across delivery
teams, design problems are easy to find and fix; and as
improvements are identified, they can be incorporated into
the CodeFactory automation and easily redeployed.
Zero Footprint
Code Factory™ runs natively from
within Visual Studio requiring no
additional libraries or application
code and no residual dependency
on CodeFactory™
No Residual
Code
Searchable
Model
Targeted
Injection
Speedy
Refactors
Extend or
Author
Intuitive
Automation
Simply Searchable
Code Factory™ provides a search
engine that allows authors to fully
search existing C# source code,
auto-generate data models of the
search results and expose those
models to the Code Factory™
developer.
Searchable
Model
Targeted
Injection
Speedy
Refactors
Extend or
Author
Intuitive
Automation
No Residual
Code
Precision Targeting
Source Code Removal and Injection
into Classes and Structures (C#) -
Code Factory™ has native support
for removing and injecting code
into C# classes and structures.
Developers decide what
information to add and remove
from a class or structure without
having to rebuild the entire file.
Targeted
Injection
Speedy
Refactors
Extend or
Author
Intuitive
Automation
No Residual
Code
Searchable
Model
Painless Updates
Code Factory™ allows authors to
define where generated output is
placed. It can replace content in an
existing code file, or tell Code
Factory™ to create a new code file
and place it into existing projects.
Since Code Factory™ is simply
injecting information into a file,
the data can be in any Visual
Studio supported language and in
any format.
Speedy
Refactors
Extend or
Author
Intuitive
Automation
No Residual
Code
Searchable
Model
Targeted
Injection
Easily Extended
Code Factory™ provides a fully
functional SDK that allows
organizations to extend existing
pre-defined code factories (MVC,
MVVM, PAC), or create their own
from scratch. The SDK fully
integrates with Visual Studio and
allows developers to create,
debug, package and deploy
software factory templates to
meet the organization’s individual
needs.
Extend or
Author
Intuitive
Automation
No Residual
Code
Searchable
Model
Targeted
Injection
Speedy
Refactors
Keeping it Relevant
Users of Code Factory™ will be able
to kickoff code automation actions
by right-clicking on an item in the
Solution Explorer. The Code
Factory™ actions are made to be
intelligent and only display if
applicable or relevant to an item
selected in Solution Explorer.
Intuitive
Automation
No Residual
Code
Searchable
Model
Targeted
Injection
Speedy
Refactors
Extend or
Author
Who benefits from Code Factory?
 IT Management Team gets more predictable outcomes & reduced operating costs.
 Product Owners get system design updates more frequently at lower cost.
 Project Managers can swap team members with less impact to project velocity.
 Architects can provide design/pattern standards and enforce compliance.
 Developers can focus more on functional design and less on plumbing code.
 Support Team gets well documented code that can be refactored easily.
 End Users get more timely and higher quality updates on key systems.
 Hiring Managers fill staffing gaps more easily.

Contenu connexe

Tendances

Nten Webinar Desktop Virtualization
Nten Webinar   Desktop VirtualizationNten Webinar   Desktop Virtualization
Nten Webinar Desktop VirtualizationPeter Campbell
 
Resume - Varghese John
Resume - Varghese JohnResume - Varghese John
Resume - Varghese JohnVarghese John
 
Sunil maurya resume
Sunil maurya resumeSunil maurya resume
Sunil maurya resumesunil maurya
 
Rhapsody Leveraging Software For Reuse
Rhapsody Leveraging Software For ReuseRhapsody Leveraging Software For Reuse
Rhapsody Leveraging Software For ReuseBill Duncan
 
visual basic 2005 programmer certification
visual basic 2005 programmer certificationvisual basic 2005 programmer certification
visual basic 2005 programmer certificationVskills
 
Sowmya_2.5_Years_Manual Testing
Sowmya_2.5_Years_Manual TestingSowmya_2.5_Years_Manual Testing
Sowmya_2.5_Years_Manual TestingSowmya S
 
Srikanth Reddy _Resume
Srikanth Reddy _ResumeSrikanth Reddy _Resume
Srikanth Reddy _ResumeSrikanth Reddy
 
How Virtual Compilation Transforms Static Code Analysis
How Virtual Compilation Transforms Static Code AnalysisHow Virtual Compilation Transforms Static Code Analysis
How Virtual Compilation Transforms Static Code AnalysisCheckmarx
 
Case Study - AMR Test Automation
Case Study - AMR Test AutomationCase Study - AMR Test Automation
Case Study - AMR Test AutomationiFocusSystec
 
Case Study AMT Product Testing
Case Study AMT Product TestingCase Study AMT Product Testing
Case Study AMT Product TestingiFocusSystec
 
06 operations and feedback
06   operations and feedback06   operations and feedback
06 operations and feedbackClemens Reijnen
 

Tendances (20)

Nten Webinar Desktop Virtualization
Nten Webinar   Desktop VirtualizationNten Webinar   Desktop Virtualization
Nten Webinar Desktop Virtualization
 
Resume - Varghese John
Resume - Varghese JohnResume - Varghese John
Resume - Varghese John
 
Vsts 2
Vsts 2Vsts 2
Vsts 2
 
Visual Studio 2010 RTMtoSP1
Visual Studio 2010 RTMtoSP1Visual Studio 2010 RTMtoSP1
Visual Studio 2010 RTMtoSP1
 
Sunil maurya resume
Sunil maurya resumeSunil maurya resume
Sunil maurya resume
 
Rhapsody Leveraging Software For Reuse
Rhapsody Leveraging Software For ReuseRhapsody Leveraging Software For Reuse
Rhapsody Leveraging Software For Reuse
 
visual basic 2005 programmer certification
visual basic 2005 programmer certificationvisual basic 2005 programmer certification
visual basic 2005 programmer certification
 
CV_SwapnilGupta
CV_SwapnilGuptaCV_SwapnilGupta
CV_SwapnilGupta
 
Resume_Pankaj
Resume_PankajResume_Pankaj
Resume_Pankaj
 
Sowmya_2.5_Years_Manual Testing
Sowmya_2.5_Years_Manual TestingSowmya_2.5_Years_Manual Testing
Sowmya_2.5_Years_Manual Testing
 
Srikanth Reddy _Resume
Srikanth Reddy _ResumeSrikanth Reddy _Resume
Srikanth Reddy _Resume
 
How Virtual Compilation Transforms Static Code Analysis
How Virtual Compilation Transforms Static Code AnalysisHow Virtual Compilation Transforms Static Code Analysis
How Virtual Compilation Transforms Static Code Analysis
 
Sripriya Nair
Sripriya NairSripriya Nair
Sripriya Nair
 
BoopathyResume5
BoopathyResume5BoopathyResume5
BoopathyResume5
 
Build for the future
Build for the futureBuild for the future
Build for the future
 
Case Study - AMR Test Automation
Case Study - AMR Test AutomationCase Study - AMR Test Automation
Case Study - AMR Test Automation
 
Resume
ResumeResume
Resume
 
Case Study AMT Product Testing
Case Study AMT Product TestingCase Study AMT Product Testing
Case Study AMT Product Testing
 
06 operations and feedback
06   operations and feedback06   operations and feedback
06 operations and feedback
 
Resume_Barani
Resume_BaraniResume_Barani
Resume_Barani
 

Similaire à Introduction to CodeFactory

Code Refactoring in Software Development
Code Refactoring in Software DevelopmentCode Refactoring in Software Development
Code Refactoring in Software Developmentphilipthomas428223
 
10Pro Code Injector
10Pro Code Injector10Pro Code Injector
10Pro Code Injector10pro
 
Rhapsody Software
Rhapsody SoftwareRhapsody Software
Rhapsody SoftwareBill Duncan
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure rupeshchanchal
 
A Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere ToolsA Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere Toolsghodgkinson
 
A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010adrian8three
 
An Ultimate 10 Point DevOps Checklist for your Organization.pdf
An Ultimate 10 Point DevOps Checklist for your Organization.pdfAn Ultimate 10 Point DevOps Checklist for your Organization.pdf
An Ultimate 10 Point DevOps Checklist for your Organization.pdfSparity1
 
Low Code Development Platform California
Low Code Development Platform CaliforniaLow Code Development Platform California
Low Code Development Platform CaliforniaDewStudio
 
Can ChatGPT Replace Developers?
Can ChatGPT Replace Developers?Can ChatGPT Replace Developers?
Can ChatGPT Replace Developers?DewStudio
 
TOP 10 WEB APP TOOLS FOR EFFICIENT DEVELOPMENT.pdf
TOP 10 WEB APP TOOLS FOR EFFICIENT DEVELOPMENT.pdfTOP 10 WEB APP TOOLS FOR EFFICIENT DEVELOPMENT.pdf
TOP 10 WEB APP TOOLS FOR EFFICIENT DEVELOPMENT.pdfasiyahanif9977
 
How .NET Framework Supports Cost-Effective Application Development
How .NET Framework Supports Cost-Effective Application DevelopmentHow .NET Framework Supports Cost-Effective Application Development
How .NET Framework Supports Cost-Effective Application DevelopmentSara Suarez
 
What is a Code Repository.
What is a Code Repository.What is a Code Repository.
What is a Code Repository.EVRIG Solutions
 
Build, upgrade and connect your applications to the World
Build, upgrade and connect your applications to the WorldBuild, upgrade and connect your applications to the World
Build, upgrade and connect your applications to the WorldCLMS UK Ltd
 
Connect Bridge - Basic intoduction deck
Connect Bridge - Basic intoduction deckConnect Bridge - Basic intoduction deck
Connect Bridge - Basic intoduction deckGregor Vogrin
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps Chetan Gordhan
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationXPDays
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build AutomationHeiswayi Nrird
 

Similaire à Introduction to CodeFactory (20)

Code Refactoring in Software Development
Code Refactoring in Software DevelopmentCode Refactoring in Software Development
Code Refactoring in Software Development
 
10Pro Code Injector
10Pro Code Injector10Pro Code Injector
10Pro Code Injector
 
CNS Presentation
CNS PresentationCNS Presentation
CNS Presentation
 
Rhapsody Software
Rhapsody SoftwareRhapsody Software
Rhapsody Software
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure
 
A Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere ToolsA Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere Tools
 
A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010
 
An Ultimate 10 Point DevOps Checklist for your Organization.pdf
An Ultimate 10 Point DevOps Checklist for your Organization.pdfAn Ultimate 10 Point DevOps Checklist for your Organization.pdf
An Ultimate 10 Point DevOps Checklist for your Organization.pdf
 
P4 Branching Overview
P4 Branching OverviewP4 Branching Overview
P4 Branching Overview
 
Low Code Development Platform California
Low Code Development Platform CaliforniaLow Code Development Platform California
Low Code Development Platform California
 
Can ChatGPT Replace Developers?
Can ChatGPT Replace Developers?Can ChatGPT Replace Developers?
Can ChatGPT Replace Developers?
 
TOP 10 WEB APP TOOLS FOR EFFICIENT DEVELOPMENT.pdf
TOP 10 WEB APP TOOLS FOR EFFICIENT DEVELOPMENT.pdfTOP 10 WEB APP TOOLS FOR EFFICIENT DEVELOPMENT.pdf
TOP 10 WEB APP TOOLS FOR EFFICIENT DEVELOPMENT.pdf
 
How .NET Framework Supports Cost-Effective Application Development
How .NET Framework Supports Cost-Effective Application DevelopmentHow .NET Framework Supports Cost-Effective Application Development
How .NET Framework Supports Cost-Effective Application Development
 
What is a Code Repository.
What is a Code Repository.What is a Code Repository.
What is a Code Repository.
 
Build, upgrade and connect your applications to the World
Build, upgrade and connect your applications to the WorldBuild, upgrade and connect your applications to the World
Build, upgrade and connect your applications to the World
 
Connect Bridge - Basic intoduction deck
Connect Bridge - Basic intoduction deckConnect Bridge - Basic intoduction deck
Connect Bridge - Basic intoduction deck
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
 
Abhishek Singh-Resume
Abhishek Singh-ResumeAbhishek Singh-Resume
Abhishek Singh-Resume
 

Dernier

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 

Dernier (20)

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 

Introduction to CodeFactory

  • 1. Extending Visual Studio™ for Engineered Software Delivery Streamlining the creation and sustainability of high quality software
  • 2. Common Challenges to the Software Delivery Process  Budget Pressures  Dynamic Scope  Staff Attrition  Immature Standards  Team Integration  Customer Demands  Competing Projects  Limited Resources  Legacy Systems  Technical Skill Atrophy Note that these are not particularly technical in nature
  • 3. These Challenges Often Result in Specific Problems  Infrequent Refactoring  Technical Debt  Copy-Paste Plumbing Code  Dependent on Outdated Tools  Overly Complex Source Code  System Interdependencies  Inconsistent Integration  Coding Anti-Patterns  Brittle Architecture  Degraded Code Quality  Excessive Re-Work  High Support Costs
  • 4. Interface-based design & architecture  Interfaced-based design provides application modularity, easing maintenance and enabling effective code reuse.  CodeFactory auto-generates application interfaces ensuring easy assembly/refactoring while enforcing consistent .NET design pattern adherence by all of your development teams.
  • 5. What is “Code Refactoring” and Why Should I Care?  Code refactoring is a technique for restructuring an existing body of code without changing its external behavior.  Advantages include improved performance, code readability and simplified maintainability of source code.
  • 6. Managing “Legacy Code” When the Designer is Gone.  Legacy systems often lack clearly defined requirements, or inline code documentation, greatly complicating refactoring.  Many developers, when inheriting legacy systems prefer to rebuild from scratch which is very costly and disruptive to business users.
  • 7. What is “Plumbing Code” and Why Should I Care?  Plumbing code recurs throughout a system performing various tasks that are unrelated to functional requirements, such as error handling, logging, memory management, etc.  When better “plumbing” methods are found, it’s time consuming to update older instances with the improved design, and as a result this is often neglected, contributing to the Technical Debt of a system.
  • 8. Build Solutions Better. With Code Factory™, much of an application can be automatically generated to match a consistent pattern. When application changes are desired the Code Factory™ author can modify the automation and apply changes without losing code written by the development team in the interim. Rely less on the skill levels of individual team members and ensure design standards related to plumbing code are met through automation.
  • 9. Build Solutions Faster. Probably the most important benefit to a business is the reduction of time to build. The use of software factories automate the effort needed to construct “plumbing code”, or software logic that is repetitive in nature. For example, every application has, or should have, code for handling exceptions, validating data, disposing of unnecessary objects in memory, security authentication and authorization, etc.
  • 10. Reduce Technical Debt. A significant source of technical debt is the result of inconsistently implemented code. Development ‘shortcuts’ often include copy-paste behavior using a variety of code snippet sources. With Code Factory™ generated code there is a single style of implemented code, enabling applications which are significantly easier to maintain and improve over time. With consistent code delivery patterns across delivery teams, design problems are easy to find and fix; and as improvements are identified, they can be incorporated into the CodeFactory automation and easily redeployed.
  • 11. Zero Footprint Code Factory™ runs natively from within Visual Studio requiring no additional libraries or application code and no residual dependency on CodeFactory™ No Residual Code Searchable Model Targeted Injection Speedy Refactors Extend or Author Intuitive Automation
  • 12. Simply Searchable Code Factory™ provides a search engine that allows authors to fully search existing C# source code, auto-generate data models of the search results and expose those models to the Code Factory™ developer. Searchable Model Targeted Injection Speedy Refactors Extend or Author Intuitive Automation No Residual Code
  • 13. Precision Targeting Source Code Removal and Injection into Classes and Structures (C#) - Code Factory™ has native support for removing and injecting code into C# classes and structures. Developers decide what information to add and remove from a class or structure without having to rebuild the entire file. Targeted Injection Speedy Refactors Extend or Author Intuitive Automation No Residual Code Searchable Model
  • 14. Painless Updates Code Factory™ allows authors to define where generated output is placed. It can replace content in an existing code file, or tell Code Factory™ to create a new code file and place it into existing projects. Since Code Factory™ is simply injecting information into a file, the data can be in any Visual Studio supported language and in any format. Speedy Refactors Extend or Author Intuitive Automation No Residual Code Searchable Model Targeted Injection
  • 15. Easily Extended Code Factory™ provides a fully functional SDK that allows organizations to extend existing pre-defined code factories (MVC, MVVM, PAC), or create their own from scratch. The SDK fully integrates with Visual Studio and allows developers to create, debug, package and deploy software factory templates to meet the organization’s individual needs. Extend or Author Intuitive Automation No Residual Code Searchable Model Targeted Injection Speedy Refactors
  • 16. Keeping it Relevant Users of Code Factory™ will be able to kickoff code automation actions by right-clicking on an item in the Solution Explorer. The Code Factory™ actions are made to be intelligent and only display if applicable or relevant to an item selected in Solution Explorer. Intuitive Automation No Residual Code Searchable Model Targeted Injection Speedy Refactors Extend or Author
  • 17. Who benefits from Code Factory?  IT Management Team gets more predictable outcomes & reduced operating costs.  Product Owners get system design updates more frequently at lower cost.  Project Managers can swap team members with less impact to project velocity.  Architects can provide design/pattern standards and enforce compliance.  Developers can focus more on functional design and less on plumbing code.  Support Team gets well documented code that can be refactored easily.  End Users get more timely and higher quality updates on key systems.  Hiring Managers fill staffing gaps more easily.

Notes de l'éditeur

  1. Code refactoring is a technique for restructuring an existing body of code, altering its internal structure without changing its external behavior“ Advantages include improved code readability and reduced complexity to improve the maintainability of the source code.
  2. One of the most persistent, and costly, problems with developing and maintaining applications has been using ‘shortcuts’ to get the development done on time. Tight deadlines often drive copy-paste behavior that is seldom clean code. Most applications today do not use well-documented or easily understandable application code due to the fact it is harder to do when the time crunch hits. With Code Factory™, development teams can automate the creation of higher quality code. This will empower developers to build more robust, longer-life applications and enable easier maintainability of the application in the long term.