SlideShare a Scribd company logo
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 conference
Fabrice Bernhard
 
Starting and Scaling DevOps
Starting and Scaling DevOpsStarting and Scaling DevOps
Starting and Scaling DevOps
Jules Pierre-Louis
 
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
Rehgan 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 CFPB
GovLoop
 
Intro to DevOps
Intro to DevOpsIntro to DevOps
Intro to DevOps
Pritiman Panda
 
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
ITpreneurs
 
Dev ops
Dev opsDev 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
XebiaLabs
 
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
Bert 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 Journey
XebiaLabs
 
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 world
Bert Jan Schrijver
 
Pair Programming: overview and concepts
Pair Programming: overview and conceptsPair Programming: overview and concepts
Pair Programming: overview and concepts
Lior 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 Works
Choong Ping Teo
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
Cristian Andreica
 
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
Bert Jan Schrijver
 
Extreme & pair programming Slides ppt
Extreme & pair programming Slides pptExtreme & pair programming Slides ppt
Extreme & pair programming Slides ppt
Mr SMAK
 
Transform Agile Development With Practical DevOps
Transform Agile Development With Practical DevOpsTransform Agile Development With Practical DevOps
Transform Agile Development With Practical DevOps
Gaurav Sharma
 
With Great Power comes Great Responsibilities
With Great Power comes Great ResponsibilitiesWith Great Power comes Great Responsibilities
With Great Power comes Great Responsibilities
Fabrice 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 Practices
Lemi Orhan Ergin
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
Omar Al-Sabek
 
Agile
AgileAgile
Agile
Komal2525
 
(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
Amazon Web Services
 
Kku2011
Kku2011Kku2011
Software Processes
Software ProcessesSoftware Processes
Software Processes
Krishna Sujeer
 
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
Alex Tarra
 
Tec314f
Tec314fTec314f
Tec314f
John Art
 
Software engineering
Software engineeringSoftware engineering
Software engineering
DivyaSharma458
 
«Організація процесу розробки мобільного застосунку для аутсорсингової команд...
«Організація процесу розробки мобільного застосунку для аутсорсингової команд...«Організація процесу розробки мобільного застосунку для аутсорсингової команд...
«Організація процесу розробки мобільного застосунку для аутсорсингової команд...
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 System
Giovanni Asproni
 
The Software Development Process
The Software Development ProcessThe Software Development Process
The Software Development Process
Cesar Augusto Nogueira
 
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
Nicolas Mas
 
Unit1
Unit1Unit1
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
Svetlin Nakov
 
WinSmart Technologies
WinSmart TechnologiesWinSmart Technologies
WinSmart Technologies
bijunairk
 
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 Brazil
Vadym Kazulkin
 
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
BypassFrp
 

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

Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 

Recently uploaded (20)

Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 

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?