SlideShare a Scribd company logo
1 of 20
Download to read offline
OPTIVEM
FRAMEWORK
Accelerate your Enterprise
Application Software
Development
Let’s begin
with a story
A tale about a
failed software
project
Once upon a time,
a softwareproject
began…
“The client has a budget and wants the software fast.”
“Quality is expensive, there’s not enough budget for it.”
“Let’s just get this functionality working.”
“The client needs to software urgently, we can’t wait.”
“Let’s higher the juniors, we’ve got limited budget and need many
pairs of hands.”
“Clean code? Who cares about code? That’s just in books, it doesn’t
really work in the real world…”
“We don’t want to waste time on automated testing, let’s just do
development.”
“This is just a simple CRUD application, it’s really easy to implement
and it shouldn’t take much time.”
“As long as it looks good, that’s all that matters – after all, no one
sees what’s in the background.”
“Risk management? That’s just for the pessimists, this is a really
simple project, what could possibly go wrong?”
And then,a few
months into the
project…
“There’s too many bugs, let’s just hope it works for the demo”
“We’re running out of time! Solve this bug and deploy the hotfix!”
“We’re behind schedule, so we need to speed up.”
“Why is it taking so long? These are really simple functionalities, why
is it taking so long to implement simple changes?”
“There’s a really important meeting coming up – with the big bosses
– and if we don’t fix these bugs, it will be really embarrassing”
“Why aren’t the developers working fast enough? We’ve got so many
pairs of hands, why is the progress so slow?”
“Our key developer has left – he knows all the nitty gritty details, how
will the team cope?”
“Take a deep breath, remember stress management and keeping
calm under pressure – I’m sure we’ll somehow solve this, just like the
projects in the past”
And finally, the
projectending…
“It’s finished, over budget, really late, and with so many open bugs”
“Let’s do the routine lessons learnt meeting – but there isn’t really
nothing to learn, we’ve known all along that you can’t have both
quality and speed”
“At least this project has finished, but surely the next one will be
better”
“… But then again, everyone knows this is the reality of software
development projects, it’s the way it’s always been and there’s
nothing we can do about it”
“Quality and speed – as the golden saying goes – we can’t have both”
Optivem
Framework
Motivation
The motivation
behind the
Optivem
Framework
Welcome to the Optivem Framework
Optivem
Framework
accelerates your
enterprise
software
development
Open Source
Framework
Rapid
Development
High Quality
Software
Optivem Framework Motivation
Optivem Framework was motivated by the pains faced in the software development
industry, esp. the quality vs speed trade-off
Traditionally, developing high quality software required much higher up-front effort,
in terms of designing architecture, setting up code standards, writing re-usable code,
adhering to best practices etc.
This was often in conflict with time / budget / resource limitations – and in those
situations, these “pragmatic” factors had higher priority, leading to compromises in
software quality
Optivem Framework Motivation
To solve the challenges faced in software development (quality vs speed tradeoff), the
Optivem Framework was designed to provide you with a high quality out-of-the-box
architecture, ready made for needs of enterprise software, helping you build software
with quality right from the start
But at the same time, Optivem Framework is designed to increase developer team
productivity and reduce the total development time, reducing both the time for
architecture as well as ongoing development, providing default and base
implementations to reduce amount of boilerplate code, yet at the same time
providing extensibility for custom implementations
To summarize, Optivem Framework empowers you to build high quality software fast
Optivem
Framework
Architecture
Foundations of
quality
enterprise
software
Optivem Framework Architecture
Clean
Architecture
Enterprise
Modelling
Automated
Testing
Optivem Framework Architecture II
Clean architecture. Out-of-
the-box system.
Enterprise modelling.
Supporting customer
requirements.
Automated testing. In-built
quality processes.
• Clean Architecture
• Hexagonal Architecture
• Onion Architecture
• Domain Driven Design (DDD)
• Use Case Driven Design
• Test Driven Development (TDD)
• Acceptance Test Driven
Development (ATDD)
Optivem Framework Architecture III
Core
Domain - Enterprise
domain model and
business logic (DDD)
Application -
Enterprise use cases
and workflows
Infrastructure
Integration with
databases and
external systems
Implementation
using common third-
party frameworks &
libraries
Web
Exposes Application
Layer as REST API
services
Exposes Application
Layer as Web MVC
Application
Test
Unit Testing (TDD)
Integration & System
Testing (ATDD)
Optivem
Framework
Standardization
Foundations of
accelerated
software
development
Optivem Framework Standardization
Standardized
Development
Code Quality
Standards
Less Code,
Faster
Optivem Framework Standardization II
Standardized
Development
Standardized
architectural layers
Standard interfaces
and base classes
Code Quality
Standards
High quality clean
Code standards
Follows software
development best
practices
Less Code, Faster
Reduce amount of
boilerplate code
Develop software
applications faster
Optivem
Framework
Extensibility
Foundations of
flexible and
extensible
software
Optivem Framework Extensibility
Plug & play
extensibility
Default
implementation
Custom
implementation
Optivem Framework Extensibility II
Plug & play
extensibility
Every component is
replaceable and
extensible
You have flexibility and
freedom both now and in
the future
Default
implementation
Provides you with default
implementation using
common libraries
Use these default
components for 80%* of
your common needs
Custom
implementation
Allows you to implement
fully custom components
Useful in those 20%* of
situations when you have
really custom needs
* An approximation using the Pareto principle
Optivem Framework
Enterprise Software.
Rapid Development.
High Quality. optivem.com
Ready to fly?

More Related Content

What's hot

Scale quality with kaizen - Tech.Rocks conference
Scale quality with kaizen - Tech.Rocks conferenceScale quality with kaizen - Tech.Rocks conference
Scale quality with kaizen - Tech.Rocks conferenceFabrice Bernhard
 
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It IsAmanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It IsRehgan Avon
 
The StartUp Agency - A Case Study on CFPB
The StartUp Agency - A Case Study on CFPBThe StartUp Agency - A Case Study on CFPB
The StartUp Agency - A Case Study on CFPBGovLoop
 
Enterprise DevOps: Crossing the Great Divide with DevOps Training
Enterprise DevOps: Crossing the Great Divide with DevOps TrainingEnterprise DevOps: Crossing the Great Divide with DevOps Training
Enterprise DevOps: Crossing the Great Divide with DevOps TrainingITpreneurs
 
My Dad Won't Buy Me DevOps
My Dad Won't Buy Me DevOpsMy Dad Won't Buy Me DevOps
My Dad Won't Buy Me DevOpsXebiaLabs
 
JUG Bonn June 2021 - The DevOps disaster
JUG Bonn June 2021 - The DevOps disasterJUG Bonn June 2021 - The DevOps disaster
JUG Bonn June 2021 - The DevOps disasterBert Jan Schrijver
 
The Business Case for DevOps - Justifying the Journey
The Business Case for DevOps - Justifying the JourneyThe Business Case for DevOps - Justifying the Journey
The Business Case for DevOps - Justifying the JourneyXebiaLabs
 
Inclusive Architecture - Introducing the PAMstack - [Refactr.tech]
Inclusive Architecture - Introducing the PAMstack - [Refactr.tech] Inclusive Architecture - Introducing the PAMstack - [Refactr.tech]
Inclusive Architecture - Introducing the PAMstack - [Refactr.tech] Tracy Lee
 
DevOps make teamwork great.
DevOps make teamwork great.DevOps make teamwork great.
DevOps make teamwork great.keithmin
 
Software architecture in a DevOps world
Software architecture in a DevOps worldSoftware architecture in a DevOps world
Software architecture in a DevOps worldBert Jan Schrijver
 
Pair Programming: overview and concepts
Pair Programming: overview and conceptsPair Programming: overview and concepts
Pair Programming: overview and conceptsLior Kirshner-Shalom
 
Open Source Software Development Practices that Works
Open Source Software Development Practices that WorksOpen Source Software Development Practices that Works
Open Source Software Development Practices that WorksChoong Ping Teo
 
JUG CH September 2021 - Debugging distributed systems
JUG CH September 2021 - Debugging distributed systemsJUG CH September 2021 - Debugging distributed systems
JUG CH September 2021 - Debugging distributed systemsBert Jan Schrijver
 
Extreme & pair programming Slides ppt
Extreme & pair programming Slides pptExtreme & pair programming Slides ppt
Extreme & pair programming Slides pptMr SMAK
 
Transform Agile Development With Practical DevOps
Transform Agile Development With Practical DevOpsTransform Agile Development With Practical DevOps
Transform Agile Development With Practical DevOpsGaurav Sharma
 
With Great Power comes Great Responsibilities
With Great Power comes Great ResponsibilitiesWith Great Power comes Great Responsibilities
With Great Power comes Great ResponsibilitiesFabrice Bernhard
 

What's hot (20)

Scale quality with kaizen - Tech.Rocks conference
Scale quality with kaizen - Tech.Rocks conferenceScale quality with kaizen - Tech.Rocks conference
Scale quality with kaizen - Tech.Rocks conference
 
Starting and Scaling DevOps
Starting and Scaling DevOpsStarting and Scaling DevOps
Starting and Scaling DevOps
 
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It IsAmanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
 
The StartUp Agency - A Case Study on CFPB
The StartUp Agency - A Case Study on CFPBThe StartUp Agency - A Case Study on CFPB
The StartUp Agency - A Case Study on CFPB
 
Intro to DevOps
Intro to DevOpsIntro to DevOps
Intro to DevOps
 
Enterprise DevOps: Crossing the Great Divide with DevOps Training
Enterprise DevOps: Crossing the Great Divide with DevOps TrainingEnterprise DevOps: Crossing the Great Divide with DevOps Training
Enterprise DevOps: Crossing the Great Divide with DevOps Training
 
Dev ops
Dev opsDev ops
Dev ops
 
My Dad Won't Buy Me DevOps
My Dad Won't Buy Me DevOpsMy Dad Won't Buy Me DevOps
My Dad Won't Buy Me DevOps
 
JUG Bonn June 2021 - The DevOps disaster
JUG Bonn June 2021 - The DevOps disasterJUG Bonn June 2021 - The DevOps disaster
JUG Bonn June 2021 - The DevOps disaster
 
The Business Case for DevOps - Justifying the Journey
The Business Case for DevOps - Justifying the JourneyThe Business Case for DevOps - Justifying the Journey
The Business Case for DevOps - Justifying the Journey
 
Inclusive Architecture - Introducing the PAMstack - [Refactr.tech]
Inclusive Architecture - Introducing the PAMstack - [Refactr.tech] Inclusive Architecture - Introducing the PAMstack - [Refactr.tech]
Inclusive Architecture - Introducing the PAMstack - [Refactr.tech]
 
DevOps make teamwork great.
DevOps make teamwork great.DevOps make teamwork great.
DevOps make teamwork great.
 
Software architecture in a DevOps world
Software architecture in a DevOps worldSoftware architecture in a DevOps world
Software architecture in a DevOps world
 
Pair Programming: overview and concepts
Pair Programming: overview and conceptsPair Programming: overview and concepts
Pair Programming: overview and concepts
 
Open Source Software Development Practices that Works
Open Source Software Development Practices that WorksOpen Source Software Development Practices that Works
Open Source Software Development Practices that Works
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 
JUG CH September 2021 - Debugging distributed systems
JUG CH September 2021 - Debugging distributed systemsJUG CH September 2021 - Debugging distributed systems
JUG CH September 2021 - Debugging distributed systems
 
Extreme & pair programming Slides ppt
Extreme & pair programming Slides pptExtreme & pair programming Slides ppt
Extreme & pair programming Slides ppt
 
Transform Agile Development With Practical DevOps
Transform Agile Development With Practical DevOpsTransform Agile Development With Practical DevOps
Transform Agile Development With Practical DevOps
 
With Great Power comes Great Responsibilities
With Great Power comes Great ResponsibilitiesWith Great Power comes Great Responsibilities
With Great Power comes Great Responsibilities
 

Similar to Optivem Framework

GMO'less Software Development Practices
GMO'less Software Development PracticesGMO'less Software Development Practices
GMO'less Software Development PracticesLemi Orhan Ergin
 
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation ProjectsAmazon Web Services
 
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINALJun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINALAlex Tarra
 
«Організація процесу розробки мобільного застосунку для аутсорсингової команд...
«Організація процесу розробки мобільного застосунку для аутсорсингової команд...«Організація процесу розробки мобільного застосунку для аутсорсингової команд...
«Організація процесу розробки мобільного застосунку для аутсорсингової команд...IT Weekend
 
Creating An Incremental Architecture For Your System
Creating An Incremental Architecture For Your SystemCreating An Incremental Architecture For Your System
Creating An Incremental Architecture For Your SystemGiovanni Asproni
 
Investing in a good software factory and automating the build process
Investing in a good software factory and automating the build processInvesting in a good software factory and automating the build process
Investing in a good software factory and automating the build processNicolas Mas
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovSvetlin Nakov
 
WinSmart Technologies
WinSmart TechnologiesWinSmart Technologies
WinSmart Technologiesbijunairk
 
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...Vadym Kazulkin
 
Convince your boss to go Serverless at serverless week Brazil
Convince your boss to go Serverless at serverless week BrazilConvince your boss to go Serverless at serverless week Brazil
Convince your boss to go Serverless at serverless week BrazilVadym Kazulkin
 
Overview of Software Engineering Principles - SCPS311.pptx
Overview of Software Engineering Principles - SCPS311.pptxOverview of Software Engineering Principles - SCPS311.pptx
Overview of Software Engineering Principles - SCPS311.pptxBypassFrp
 

Similar to Optivem Framework (20)

GMO'less Software Development Practices
GMO'less Software Development PracticesGMO'less Software Development Practices
GMO'less Software Development Practices
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Agile
AgileAgile
Agile
 
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
 
Kku2011
Kku2011Kku2011
Kku2011
 
Software Processes
Software ProcessesSoftware Processes
Software Processes
 
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINALJun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
 
Tec314f
Tec314fTec314f
Tec314f
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
«Організація процесу розробки мобільного застосунку для аутсорсингової команд...
«Організація процесу розробки мобільного застосунку для аутсорсингової команд...«Організація процесу розробки мобільного застосунку для аутсорсингової команд...
«Організація процесу розробки мобільного застосунку для аутсорсингової команд...
 
Creating An Incremental Architecture For Your System
Creating An Incremental Architecture For Your SystemCreating An Incremental Architecture For Your System
Creating An Incremental Architecture For Your System
 
The Software Development Process
The Software Development ProcessThe Software Development Process
The Software Development Process
 
Investing in a good software factory and automating the build process
Investing in a good software factory and automating the build processInvesting in a good software factory and automating the build process
Investing in a good software factory and automating the build process
 
Unit1
Unit1Unit1
Unit1
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin Nakov
 
WinSmart Technologies
WinSmart TechnologiesWinSmart Technologies
WinSmart Technologies
 
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
 
Convince your boss to go Serverless at serverless week Brazil
Convince your boss to go Serverless at serverless week BrazilConvince your boss to go Serverless at serverless week Brazil
Convince your boss to go Serverless at serverless week Brazil
 
What is OutSystems?
What is OutSystems?What is OutSystems?
What is OutSystems?
 
Overview of Software Engineering Principles - SCPS311.pptx
Overview of Software Engineering Principles - SCPS311.pptxOverview of Software Engineering Principles - SCPS311.pptx
Overview of Software Engineering Principles - SCPS311.pptx
 

Recently uploaded

My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 

Recently uploaded (20)

My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 

Optivem Framework

  • 2. Let’s begin with a story A tale about a failed software project
  • 3. Once upon a time, a softwareproject began… “The client has a budget and wants the software fast.” “Quality is expensive, there’s not enough budget for it.” “Let’s just get this functionality working.” “The client needs to software urgently, we can’t wait.” “Let’s higher the juniors, we’ve got limited budget and need many pairs of hands.” “Clean code? Who cares about code? That’s just in books, it doesn’t really work in the real world…” “We don’t want to waste time on automated testing, let’s just do development.” “This is just a simple CRUD application, it’s really easy to implement and it shouldn’t take much time.” “As long as it looks good, that’s all that matters – after all, no one sees what’s in the background.” “Risk management? That’s just for the pessimists, this is a really simple project, what could possibly go wrong?”
  • 4. And then,a few months into the project… “There’s too many bugs, let’s just hope it works for the demo” “We’re running out of time! Solve this bug and deploy the hotfix!” “We’re behind schedule, so we need to speed up.” “Why is it taking so long? These are really simple functionalities, why is it taking so long to implement simple changes?” “There’s a really important meeting coming up – with the big bosses – and if we don’t fix these bugs, it will be really embarrassing” “Why aren’t the developers working fast enough? We’ve got so many pairs of hands, why is the progress so slow?” “Our key developer has left – he knows all the nitty gritty details, how will the team cope?” “Take a deep breath, remember stress management and keeping calm under pressure – I’m sure we’ll somehow solve this, just like the projects in the past”
  • 5. And finally, the projectending… “It’s finished, over budget, really late, and with so many open bugs” “Let’s do the routine lessons learnt meeting – but there isn’t really nothing to learn, we’ve known all along that you can’t have both quality and speed” “At least this project has finished, but surely the next one will be better” “… But then again, everyone knows this is the reality of software development projects, it’s the way it’s always been and there’s nothing we can do about it” “Quality and speed – as the golden saying goes – we can’t have both”
  • 7. Welcome to the Optivem Framework Optivem Framework accelerates your enterprise software development Open Source Framework Rapid Development High Quality Software
  • 8. Optivem Framework Motivation Optivem Framework was motivated by the pains faced in the software development industry, esp. the quality vs speed trade-off Traditionally, developing high quality software required much higher up-front effort, in terms of designing architecture, setting up code standards, writing re-usable code, adhering to best practices etc. This was often in conflict with time / budget / resource limitations – and in those situations, these “pragmatic” factors had higher priority, leading to compromises in software quality
  • 9. Optivem Framework Motivation To solve the challenges faced in software development (quality vs speed tradeoff), the Optivem Framework was designed to provide you with a high quality out-of-the-box architecture, ready made for needs of enterprise software, helping you build software with quality right from the start But at the same time, Optivem Framework is designed to increase developer team productivity and reduce the total development time, reducing both the time for architecture as well as ongoing development, providing default and base implementations to reduce amount of boilerplate code, yet at the same time providing extensibility for custom implementations To summarize, Optivem Framework empowers you to build high quality software fast
  • 12. Optivem Framework Architecture II Clean architecture. Out-of- the-box system. Enterprise modelling. Supporting customer requirements. Automated testing. In-built quality processes. • Clean Architecture • Hexagonal Architecture • Onion Architecture • Domain Driven Design (DDD) • Use Case Driven Design • Test Driven Development (TDD) • Acceptance Test Driven Development (ATDD)
  • 13. Optivem Framework Architecture III Core Domain - Enterprise domain model and business logic (DDD) Application - Enterprise use cases and workflows Infrastructure Integration with databases and external systems Implementation using common third- party frameworks & libraries Web Exposes Application Layer as REST API services Exposes Application Layer as Web MVC Application Test Unit Testing (TDD) Integration & System Testing (ATDD)
  • 16. Optivem Framework Standardization II Standardized Development Standardized architectural layers Standard interfaces and base classes Code Quality Standards High quality clean Code standards Follows software development best practices Less Code, Faster Reduce amount of boilerplate code Develop software applications faster
  • 18. Optivem Framework Extensibility Plug & play extensibility Default implementation Custom implementation
  • 19. Optivem Framework Extensibility II Plug & play extensibility Every component is replaceable and extensible You have flexibility and freedom both now and in the future Default implementation Provides you with default implementation using common libraries Use these default components for 80%* of your common needs Custom implementation Allows you to implement fully custom components Useful in those 20%* of situations when you have really custom needs * An approximation using the Pareto principle
  • 20. Optivem Framework Enterprise Software. Rapid Development. High Quality. optivem.com Ready to fly?