1. The document discusses model driven development with smart use cases, domain driven design, and Tobago MDA.
2. It introduces smart use cases, domain driven design concepts, and software architecture considerations for model driven development.
3. An example is provided of generating code from a simple smart use case model and domain model using Tobago MDA.
The document discusses smart use cases and how they can be used to facilitate agile software development. It notes that smart use cases perfectly fit an agile requirements approach by determining the project backlog and providing the unit of work. They also facilitate a life cycle that supports daily work and allow for easy, reliable software estimation. Additionally, smart use cases can generate code, provide structured testing techniques, and enable online dashboards to track progress. The document promotes their use as part of the Accelerated Delivery Platform to streamline agile processes, technologies, and people.
The document provides an overview of managing scope and cost on Scrum projects using a "Sprint Contract" framework. It discusses types of contracts and risks, outlines key Scrum project parameters, and provides an example simulation of how a Sprint Contract would work in practice over multiple sprints. The speaker draws from over 24 years of experience in software development, product engineering, and program management.
20090410 J Spring Pragmatic Model Driven Development In Java Using SmartSander Hoogendoorn
In this unstable economy, organizations target software development at shorter time-to-market and high productivity. Model driven development has a promise of raising productivity in projects. However, many approach fail to deliver this promise. During this high-paced, interactive talk speakers Sander Hoogendoorn (Principal Technology Officer and agile thought leader at Capgemini) and Rody Middelkoop (Technical evangelist at Avisi, and lecturer at the Hogeschool Arnhem Nijmegen) share their very pragmatic approach to delivering software using model driven development. First, Sander will elaborate on the modeling and code generation approach, that relies on smart use cases and smart use case stereotype, a solid software architecture and domain driven design. Next, Rody will take the stage and demonstrate how this approach effects building Java web applications, generating a fully deployable Java EAR live on stage! Although other architectures and frameworks can be applied, Rody will use open source Java frameworks such as Ant, FreeMarker, Struts2, Spring and JPA/Hibernate3.
An Agile Architect's major responsibility is to enable continuous delivery of business value by facilitating continuous design, delivery automation, and deployment visibility. This includes practices like test-driven development, automated configuration management, continuous integration, and making the deployment pipeline transparent. The goal is to deliver the right features rapidly through tuned processes, automation, and feedback loops.
The document discusses a case study of radical innovation at Boeing-Rocketdyne without collocation. It summarizes the success of the VC3 (Virtual Cross Value Chain, Creative, Collaborative) team in designing a rocket engine thrust chamber in 10 months, compared to the traditional 6 years and higher costs. Some key practices that led to the VC3 team's success included establishing strategy and guidelines in advance, using collaborative technologies as knowledge management tools, and restructuring work processes without changing core creative needs. The implications discussed are for practice, research, and effective virtual team working.
ased upon the results of a research project sponsored by the Defense Advance Research Projects Agency (DARP A), called High Performance Knowledge Bases (HPKB). The demonstrated portion of HPKB follows a question- answering paradigm. The integrated architecture developed at Science Applications International Corporation (SAIC), called the HPKB Integrated Knowledge Environment (HIKE) is introduced. Following this, the components involved in the demonstration, which include a natural language understanding system, a first order theorem prover, and a knowledge server are briefly described. The demonstration effectively illustrates the use of both a graphical user interface and a natural language interface to query a first order theorem prover with similar results.
The document discusses how customer relationship excellence and focusing on customer value creations can lead to innovation leadership. It provides Silicon Valley as a success story where customer service was the most valuable source of innovation. The document outlines how analyzing the full product/service lifecycle and value chain with a focus on critical links can help drive innovation. It also discusses how CRE can enable design-win services and new application/service platforms, contributing to innovation leadership.
The document discusses smart use cases and how they can be used to facilitate agile software development. It notes that smart use cases perfectly fit an agile requirements approach by determining the project backlog and providing the unit of work. They also facilitate a life cycle that supports daily work and allow for easy, reliable software estimation. Additionally, smart use cases can generate code, provide structured testing techniques, and enable online dashboards to track progress. The document promotes their use as part of the Accelerated Delivery Platform to streamline agile processes, technologies, and people.
The document provides an overview of managing scope and cost on Scrum projects using a "Sprint Contract" framework. It discusses types of contracts and risks, outlines key Scrum project parameters, and provides an example simulation of how a Sprint Contract would work in practice over multiple sprints. The speaker draws from over 24 years of experience in software development, product engineering, and program management.
20090410 J Spring Pragmatic Model Driven Development In Java Using SmartSander Hoogendoorn
In this unstable economy, organizations target software development at shorter time-to-market and high productivity. Model driven development has a promise of raising productivity in projects. However, many approach fail to deliver this promise. During this high-paced, interactive talk speakers Sander Hoogendoorn (Principal Technology Officer and agile thought leader at Capgemini) and Rody Middelkoop (Technical evangelist at Avisi, and lecturer at the Hogeschool Arnhem Nijmegen) share their very pragmatic approach to delivering software using model driven development. First, Sander will elaborate on the modeling and code generation approach, that relies on smart use cases and smart use case stereotype, a solid software architecture and domain driven design. Next, Rody will take the stage and demonstrate how this approach effects building Java web applications, generating a fully deployable Java EAR live on stage! Although other architectures and frameworks can be applied, Rody will use open source Java frameworks such as Ant, FreeMarker, Struts2, Spring and JPA/Hibernate3.
An Agile Architect's major responsibility is to enable continuous delivery of business value by facilitating continuous design, delivery automation, and deployment visibility. This includes practices like test-driven development, automated configuration management, continuous integration, and making the deployment pipeline transparent. The goal is to deliver the right features rapidly through tuned processes, automation, and feedback loops.
The document discusses a case study of radical innovation at Boeing-Rocketdyne without collocation. It summarizes the success of the VC3 (Virtual Cross Value Chain, Creative, Collaborative) team in designing a rocket engine thrust chamber in 10 months, compared to the traditional 6 years and higher costs. Some key practices that led to the VC3 team's success included establishing strategy and guidelines in advance, using collaborative technologies as knowledge management tools, and restructuring work processes without changing core creative needs. The implications discussed are for practice, research, and effective virtual team working.
ased upon the results of a research project sponsored by the Defense Advance Research Projects Agency (DARP A), called High Performance Knowledge Bases (HPKB). The demonstrated portion of HPKB follows a question- answering paradigm. The integrated architecture developed at Science Applications International Corporation (SAIC), called the HPKB Integrated Knowledge Environment (HIKE) is introduced. Following this, the components involved in the demonstration, which include a natural language understanding system, a first order theorem prover, and a knowledge server are briefly described. The demonstration effectively illustrates the use of both a graphical user interface and a natural language interface to query a first order theorem prover with similar results.
The document discusses how customer relationship excellence and focusing on customer value creations can lead to innovation leadership. It provides Silicon Valley as a success story where customer service was the most valuable source of innovation. The document outlines how analyzing the full product/service lifecycle and value chain with a focus on critical links can help drive innovation. It also discusses how CRE can enable design-win services and new application/service platforms, contributing to innovation leadership.
The project “From A to Green: a Future Vision for
Coachworks”, as its name suggests, engages sustainability
and innovation in an effort to provide the
group with a signifi cant step-up on the connection
between Combigroep’s brand image and brand identity
through a product.
The team intends to make a creative exercise by
projecting a future vision that will fi nally inspire a realistic
and infl uential product – an environmentally
friendly and versatile coachwork.
A pioneering approach will be developed through the
analysis of future trends, drivers and forces - far until
2025 - so that this can be refl ected in the opportunities
of a design that can “launch” the Present (2010)
into this direction, while still following constrains and
regulations imposed by a compliant industry.
1. PULL systems focus on limiting work-in-process and using a pull-based approach to workflow as opposed to a waterfall approach. This allows for smaller, iterative projects and faster turnaround.
2. Implementing PULL revealed challenges like inconsistent story sizes, lack of a well-defined backlog, and team capacity issues that stalled progress. Addressing these through techniques like WIP limits, clearer processes, and focus on done work restored momentum.
3. PULL works by limiting WIP at each stage and using completion of a task as a "pull" signal to start the next activity. This allows for late commitment to stories and automatic signaling between stages in the workflow.
Obelisk is a global knowledge partner that provides architecture and construction support services. It was founded in 2008 and has offices in India and the US. Obelisk delivers cost-effective BIM support, CAD drafting, and other services to help architecture and engineering firms maximize efficiency and revenue. Its experienced team and competitive hourly rates provide significant cost savings compared to in-house resources.
AgileNCR 2010 conference was held in Gurgaon on 17th & 18th July 2010. This largest community driven conference was the Fourth edition of Agile NCR and was organized in collaboration with ASCI. This time the event was based on four major themes : 'Agile for newbies', ' Agile Adoption Challenges', 'Workshops and Software Craftsmanship', and ' Post Agile'.
Business Patterns presentation @ Oredev 2012allan kelly
This document summarizes Allan Kelly's presentation at Oredev in Malmo, Sweden in November 2012. Kelly discussed several business patterns for software developers, including keeping product variations simple to reduce costs, having account managers work in pairs to handle commercial and technical customer issues, and using patterns sequences to link patterns and their consequences. Kelly also promoted his book "Business Patterns for Software Developers" which describes 38 patterns for software businesses.
This document summarizes a presentation about Oracle's User Productivity Kit (UPK). It discusses how UPK can help organizations address challenges with end user adoption of new applications and systems. UPK allows for the creation of training materials, simulations, and documentation from a single recording session. This streamlines content development and can reduce the time needed by up to 75% compared to traditional methods. UPK content and tools deliver value throughout a project's lifecycle in helping users get up to speed efficiently.
A Graphical Language for Real-Time Critical Robot CommandsSerge Stinckwich
The document discusses a graphical language called GSRAPID for specifying complex robot commands. GSRAPID allows creating diagrams that define robot commands which are then compiled into Java code. It uses a model where robot commands are represented as nodes and connections in a graph. The language is implemented as an Eclipse plugin using the Graphical Modeling Framework. It allows parametrizing robot commands through a property editor and handles parameters that require method calls or variables through an interface called ISetter.
A balanced metrics set for software businessTowo Toivola
I gave this presentation in Agile Saturday conference in Tallinn 2.2.2013. The focus is in how to, and why, choose the metrics that you use to guide your software business. It also presents the choice of F-Secure.
Riverbed - Maximizing Your Cloud Applications Performance and AvailabilityRightScale
RightScale Conference Santa Clara 2011: Database and application performance matter little if the application delivery is slow. Companies looking for performance, reliability, and scalability put proven application delivery systems to work in their cloud deployments. Join Raja Srinivasan and Jim Young as they discuss the features and technologies that cutting-edge companies are taking advantage of in their traffic management solutions for rapidly scaling environments. Learn how digital agency, Tenthwave, launched the “Stop Bullying Speak Up” campaign on Facebook using Riverbed Stingray Traffic Manager on RightScale to handle SSL Decryption and optimize cloud performance, and how Riverbed and RightScale have enabled Tenthwave to build repeatable deployments for their online promotions and campaigns.
From Programming to Modeling And Back AgainMarkus Voelter
This document discusses programming languages and modeling. It notes that programming languages are not expressive, high-level, abstract, domain-specific, or modular enough. It proposes addressing this by using modeling with higher-level, domain-specific concepts and notations, and code generation from models. However, modeling and programming tools have traditionally been separate worlds. The document envisions a future where modeling and programming are integrated by mixing models and programs, and developing languages and tools that support programming at different levels of abstraction from different viewpoints. Enabling technologies could include advanced parser generators and projectional editing, while available tools mentioned include Eclipse Xtext and JetBrains' Meta Programming System for developing domain-specific languages.
Domain-driven design is a collaborative process involving both domain experts and software practitioners that attempts to address issues of complexity in software. This process is described in the book Domain-Driven Design (Addison-Wesley 2004) written by Eric Evans. Domain-driven design starts with the assertion that (for almost all software) complexity is in the domain, not in the technology. Accordingly, we must let technology play a supporting role. Domain-driven design attempts to focus on and distill the core domain for a given project.
Philosopher and scientist Alfred Korzybski said, "The map is not the territory." As such, a person practicing domain-driven design does not attempt to model reality. Instead, domain experts and software practitioners use a mental model as a tool for solving problems within a given domain. The domain experts and software practitioners collaborate to explore and develop this model. No software of any reasonable scope has just one model. We will look at the concept of a bounded context within which each model can be isolated and explored. Within a bounded context, collaborators must speak a ubiquitous language in order to reason about and discuss the model.
We will also talk about domain-driven design's building block patterns including entities, value objects, aggregates, repositories, services, and domain events. We will look at domain-driven design practices including supple design, strategic design, and distillation of the core. We will see how test-driven development can be used as a means of exploring the model. Examples in PHP will be provided of the building block patterns as well as other techniques including closure of operations, intention revealing interfaces, side-effect free functions, and assertions.
An Introduction to Domain Driven Design for Product Managersr4isstatic
A presentation to the BBC Product Management community, introducing the concepts, processes and techniques of Domain Driven Design, including Domain Modelling and URL design. Also talks briefly about the Semantic W
What would your application look like if it was written by the people who write the testing frameworks? If unit tests make classes more modular, by forcing you to test it in isolation, then what is the effect of expanding this to a less granular level, the acceptance and functional test. The more modern application architecture evolves, the more we hear the very old patterns being rediscovered and re-adopted. 1979 Trygve's MVC is a classic example, so are the SOLID principles. In this talk we will look on how Symfony allows for a really decoupled, easy to test application, by following on the footsteps of Alistair Cockburn's hexagonal architecture.
Model driven development and code generation of software systemsMarco Brambilla
Marco Brambilla discusses his research in model-driven development and code generation of software systems. His research path has included topics like business processes, semantic web, web services, and crowdsourcing. More recently, he has focused on model-driven approaches to develop crowd-based applications using a framework called CrowdSearcher. CrowdSearcher uses model-driven engineering principles to design, deploy, and control crowd-based systems through declarative specifications.
Commands, events, queries - three types of messages that travel through your application. Some originate from the web, some from the command-line. Your application sends some of them to a database, or a message queue. What is the ideal infrastructure for an application to support this on-going stream of messages? What kind of architectural design fits best?
This talk provides answers to these questions: we take the *hexagonal* approach to software architecture. We look at messages, how they cross boundaries and how you can make steady communication lines between your application and other systems, like web browsers, terminals, databases and message queues. You will learn how to separate the technical aspects of these connections from the core behavior of your application by implementing design patterns like the *command bus*, and design principles like *dependency inversion*.
Kata: Hexagonal Architecture / Ports and Adaptersholsky
Hexagonal architecture is a software architecture pattern coined by Alistair Cockburn in 2005 that aims to make applications highly testable by separating the domain and application logic from the outer parts of an application like the user interface and databases. It uses port and adapter interfaces to connect the domain to the outside world which allows replacing external elements for testing purposes and makes the core logic independent of the outside tools and libraries. This decoupling brings benefits like easier testing without external elements, flexibility to change requirements and services, and emergent design.
What would your application look like if it were written by the people who write the testing frameworks? If unit tests make classes more modular, by forcing you to test it in isolation, then what is the effect of expanding this to a less granular level, the acceptance and functional test. The more modern application architecture evolves, the more we hear the very old patterns being rediscovered and re-adopted. 1979 Trygve's MVC is a classic example, so are the SOLID principles. In this talk we will look on how Symfony allows for a really decoupled, easy to test application, by following on the footsteps of Alistair Cockburn's hexagonal architecture.
Pragmatic Model Driven Development In Java Using Smart Use CasesRody Middelkoop
This document discusses pragmatic model driven development using smart use cases and domain driven design. It describes modeling smart use cases at the user goal and sub-function levels and decorating them with stereotypes. The smart use cases are then mapped to a software architecture with separate layers for presentation, process, domain, and data. Domain driven design principles are discussed, including defining entities, value objects, and smart references as properties of classes. Text templating engines are described for generating code from models, with Tobago MDA given as an example tool.
This document discusses how to make enterprise architecture (EA) more agile using agile methods. It defines agility and outlines an "agility chain" with agile EA process, agile architecture, agile development, and agile enterprise as links. Various agile patterns are presented that can be applied to EA, such as subset, reuse, parallel, and hypothesis-driven approaches. Iterations and focusing on meta-models instead of customers are also discussed.
The project “From A to Green: a Future Vision for
Coachworks”, as its name suggests, engages sustainability
and innovation in an effort to provide the
group with a signifi cant step-up on the connection
between Combigroep’s brand image and brand identity
through a product.
The team intends to make a creative exercise by
projecting a future vision that will fi nally inspire a realistic
and infl uential product – an environmentally
friendly and versatile coachwork.
A pioneering approach will be developed through the
analysis of future trends, drivers and forces - far until
2025 - so that this can be refl ected in the opportunities
of a design that can “launch” the Present (2010)
into this direction, while still following constrains and
regulations imposed by a compliant industry.
1. PULL systems focus on limiting work-in-process and using a pull-based approach to workflow as opposed to a waterfall approach. This allows for smaller, iterative projects and faster turnaround.
2. Implementing PULL revealed challenges like inconsistent story sizes, lack of a well-defined backlog, and team capacity issues that stalled progress. Addressing these through techniques like WIP limits, clearer processes, and focus on done work restored momentum.
3. PULL works by limiting WIP at each stage and using completion of a task as a "pull" signal to start the next activity. This allows for late commitment to stories and automatic signaling between stages in the workflow.
Obelisk is a global knowledge partner that provides architecture and construction support services. It was founded in 2008 and has offices in India and the US. Obelisk delivers cost-effective BIM support, CAD drafting, and other services to help architecture and engineering firms maximize efficiency and revenue. Its experienced team and competitive hourly rates provide significant cost savings compared to in-house resources.
AgileNCR 2010 conference was held in Gurgaon on 17th & 18th July 2010. This largest community driven conference was the Fourth edition of Agile NCR and was organized in collaboration with ASCI. This time the event was based on four major themes : 'Agile for newbies', ' Agile Adoption Challenges', 'Workshops and Software Craftsmanship', and ' Post Agile'.
Business Patterns presentation @ Oredev 2012allan kelly
This document summarizes Allan Kelly's presentation at Oredev in Malmo, Sweden in November 2012. Kelly discussed several business patterns for software developers, including keeping product variations simple to reduce costs, having account managers work in pairs to handle commercial and technical customer issues, and using patterns sequences to link patterns and their consequences. Kelly also promoted his book "Business Patterns for Software Developers" which describes 38 patterns for software businesses.
This document summarizes a presentation about Oracle's User Productivity Kit (UPK). It discusses how UPK can help organizations address challenges with end user adoption of new applications and systems. UPK allows for the creation of training materials, simulations, and documentation from a single recording session. This streamlines content development and can reduce the time needed by up to 75% compared to traditional methods. UPK content and tools deliver value throughout a project's lifecycle in helping users get up to speed efficiently.
A Graphical Language for Real-Time Critical Robot CommandsSerge Stinckwich
The document discusses a graphical language called GSRAPID for specifying complex robot commands. GSRAPID allows creating diagrams that define robot commands which are then compiled into Java code. It uses a model where robot commands are represented as nodes and connections in a graph. The language is implemented as an Eclipse plugin using the Graphical Modeling Framework. It allows parametrizing robot commands through a property editor and handles parameters that require method calls or variables through an interface called ISetter.
A balanced metrics set for software businessTowo Toivola
I gave this presentation in Agile Saturday conference in Tallinn 2.2.2013. The focus is in how to, and why, choose the metrics that you use to guide your software business. It also presents the choice of F-Secure.
Riverbed - Maximizing Your Cloud Applications Performance and AvailabilityRightScale
RightScale Conference Santa Clara 2011: Database and application performance matter little if the application delivery is slow. Companies looking for performance, reliability, and scalability put proven application delivery systems to work in their cloud deployments. Join Raja Srinivasan and Jim Young as they discuss the features and technologies that cutting-edge companies are taking advantage of in their traffic management solutions for rapidly scaling environments. Learn how digital agency, Tenthwave, launched the “Stop Bullying Speak Up” campaign on Facebook using Riverbed Stingray Traffic Manager on RightScale to handle SSL Decryption and optimize cloud performance, and how Riverbed and RightScale have enabled Tenthwave to build repeatable deployments for their online promotions and campaigns.
From Programming to Modeling And Back AgainMarkus Voelter
This document discusses programming languages and modeling. It notes that programming languages are not expressive, high-level, abstract, domain-specific, or modular enough. It proposes addressing this by using modeling with higher-level, domain-specific concepts and notations, and code generation from models. However, modeling and programming tools have traditionally been separate worlds. The document envisions a future where modeling and programming are integrated by mixing models and programs, and developing languages and tools that support programming at different levels of abstraction from different viewpoints. Enabling technologies could include advanced parser generators and projectional editing, while available tools mentioned include Eclipse Xtext and JetBrains' Meta Programming System for developing domain-specific languages.
Domain-driven design is a collaborative process involving both domain experts and software practitioners that attempts to address issues of complexity in software. This process is described in the book Domain-Driven Design (Addison-Wesley 2004) written by Eric Evans. Domain-driven design starts with the assertion that (for almost all software) complexity is in the domain, not in the technology. Accordingly, we must let technology play a supporting role. Domain-driven design attempts to focus on and distill the core domain for a given project.
Philosopher and scientist Alfred Korzybski said, "The map is not the territory." As such, a person practicing domain-driven design does not attempt to model reality. Instead, domain experts and software practitioners use a mental model as a tool for solving problems within a given domain. The domain experts and software practitioners collaborate to explore and develop this model. No software of any reasonable scope has just one model. We will look at the concept of a bounded context within which each model can be isolated and explored. Within a bounded context, collaborators must speak a ubiquitous language in order to reason about and discuss the model.
We will also talk about domain-driven design's building block patterns including entities, value objects, aggregates, repositories, services, and domain events. We will look at domain-driven design practices including supple design, strategic design, and distillation of the core. We will see how test-driven development can be used as a means of exploring the model. Examples in PHP will be provided of the building block patterns as well as other techniques including closure of operations, intention revealing interfaces, side-effect free functions, and assertions.
An Introduction to Domain Driven Design for Product Managersr4isstatic
A presentation to the BBC Product Management community, introducing the concepts, processes and techniques of Domain Driven Design, including Domain Modelling and URL design. Also talks briefly about the Semantic W
What would your application look like if it was written by the people who write the testing frameworks? If unit tests make classes more modular, by forcing you to test it in isolation, then what is the effect of expanding this to a less granular level, the acceptance and functional test. The more modern application architecture evolves, the more we hear the very old patterns being rediscovered and re-adopted. 1979 Trygve's MVC is a classic example, so are the SOLID principles. In this talk we will look on how Symfony allows for a really decoupled, easy to test application, by following on the footsteps of Alistair Cockburn's hexagonal architecture.
Model driven development and code generation of software systemsMarco Brambilla
Marco Brambilla discusses his research in model-driven development and code generation of software systems. His research path has included topics like business processes, semantic web, web services, and crowdsourcing. More recently, he has focused on model-driven approaches to develop crowd-based applications using a framework called CrowdSearcher. CrowdSearcher uses model-driven engineering principles to design, deploy, and control crowd-based systems through declarative specifications.
Commands, events, queries - three types of messages that travel through your application. Some originate from the web, some from the command-line. Your application sends some of them to a database, or a message queue. What is the ideal infrastructure for an application to support this on-going stream of messages? What kind of architectural design fits best?
This talk provides answers to these questions: we take the *hexagonal* approach to software architecture. We look at messages, how they cross boundaries and how you can make steady communication lines between your application and other systems, like web browsers, terminals, databases and message queues. You will learn how to separate the technical aspects of these connections from the core behavior of your application by implementing design patterns like the *command bus*, and design principles like *dependency inversion*.
Kata: Hexagonal Architecture / Ports and Adaptersholsky
Hexagonal architecture is a software architecture pattern coined by Alistair Cockburn in 2005 that aims to make applications highly testable by separating the domain and application logic from the outer parts of an application like the user interface and databases. It uses port and adapter interfaces to connect the domain to the outside world which allows replacing external elements for testing purposes and makes the core logic independent of the outside tools and libraries. This decoupling brings benefits like easier testing without external elements, flexibility to change requirements and services, and emergent design.
What would your application look like if it were written by the people who write the testing frameworks? If unit tests make classes more modular, by forcing you to test it in isolation, then what is the effect of expanding this to a less granular level, the acceptance and functional test. The more modern application architecture evolves, the more we hear the very old patterns being rediscovered and re-adopted. 1979 Trygve's MVC is a classic example, so are the SOLID principles. In this talk we will look on how Symfony allows for a really decoupled, easy to test application, by following on the footsteps of Alistair Cockburn's hexagonal architecture.
Pragmatic Model Driven Development In Java Using Smart Use CasesRody Middelkoop
This document discusses pragmatic model driven development using smart use cases and domain driven design. It describes modeling smart use cases at the user goal and sub-function levels and decorating them with stereotypes. The smart use cases are then mapped to a software architecture with separate layers for presentation, process, domain, and data. Domain driven design principles are discussed, including defining entities, value objects, and smart references as properties of classes. Text templating engines are described for generating code from models, with Tobago MDA given as an example tool.
This document discusses how to make enterprise architecture (EA) more agile using agile methods. It defines agility and outlines an "agility chain" with agile EA process, agile architecture, agile development, and agile enterprise as links. Various agile patterns are presented that can be applied to EA, such as subset, reuse, parallel, and hypothesis-driven approaches. Iterations and focusing on meta-models instead of customers are also discussed.
The document discusses a case study of Freenet using the Camunda Fox platform to orchestrate several backend systems in long-running processes. The goals were to reduce costs compared to the previous individual solution and meet a fixed go-live date. Camunda Fox was chosen for its support of agile methodology, business-compatible BPMN 2.0 modeling, process monitoring and control capabilities, and integration with open source tools like JBoss and Git. Testing was a key part of ensuring transparency and reducing risks to meet the go-live deadline.
This document discusses key principles for framework engineering based on the work of experts in the field like Douglas Schmidt, Krzysztof Cwalina, and Robert C. Martin. It emphasizes organizing frameworks to avoid duplication, managing dependencies carefully, balancing advances with backward compatibility, and designing APIs based on code samples rather than forcing an object model. It also stresses the importance of simplicity, measurement, avoiding unfinished integrations, and understanding how organizational factors impact a product.
LSM 2011 AdaLabs presentation slides: How to make my business opensource & vi...AdaLabs
This document discusses making a business open source and viable. It addresses live feedback, community involvement, testing strategies, coding strategies, intellectual property concerns, economic strategies, and sustainable development. The key points are developing processes for community collaboration, continuous integration testing, maintaining adaptability and usability through design rules, addressing intellectual property through copyright assignments, rewarding contributors, and ensuring long-term efficiency and sustainability.
Begroten als het model = de applicatie = de documentatie - Gerard Ohm - NESMA...Nesma
This document discusses model-driven development using the Be Informed platform. It makes three key points:
1. With Be Informed, there is no clear distinction between design and development - the design is directly implemented. This impacts traditional function point analysis for estimating.
2. Productivity depends highly on customer maturity and ability to make decisions. Experience of the implementation team also impacts productivity.
3. A "Be Structured" approach is recommended, starting with architecture and business function models to provide structure before detailing and growing applications live. This provides better predictive value for estimating than traditional function points.
The document discusses how modeling requirements as smart use cases can drive web development. It begins by comparing traditional techniques like user stories and huge use cases to smart use cases. Smart use cases have several benefits, including being easier to estimate, having better unit of work granularity, and improved testability. The document then covers modeling smart use cases using different levels, applying stereotypes, and developing a smart use case driven software architecture and code structure using patterns like the task pattern. It concludes with an overview of how modeling tools and code generation templates can be used to generate code automatically from smart use case models.
This document provides an overview of Blue Ruby, which combines the Ruby programming language with the ABAP application server. It discusses the goals of Blue Ruby, including enabling agile development and facilitating the creation of "glue code" and domain-specific languages. The technical architecture allows Ruby code to run inside the ABAP virtual machine for locality. Several demo applications are highlighted and next steps for collaboration on the SDN are outlined.
This presentation helps you to understand what the SAP Portal Portfolio offers already today, you will be informed on the planned product enhancements and you get insights into strategic directions for the portal portfolio.
1. The document discusses distributed software development using Scrum and social coding. It provides an overview of Intland's ALM platform codeBeamer which supports these methods.
2. Key aspects covered include Scrum vs V-model processes, using forks and pull requests in distributed version control systems like GIT to enable social coding, and demos of codeBeamer's features.
3. The presentation concludes with reminding attendees they can find more information on Intland's and codeBeamer's websites.
This document discusses 10 things organizations can do today to prepare for Oracle Fusion Applications. It begins with keeping current with Oracle Applications releases and inventorying enterprise business assets. It then discusses leveraging future-proof solutions by rethinking customization strategies, consolidating master data, embracing SOA-based integration, extending business intelligence portfolios, adopting enterprise reporting, empowering information workers, managing documents centrally, considering grid infrastructure, and centralizing applications lifecycle management. The overall message is that organizations can future-proof themselves for Oracle Fusion Applications by adopting modern technologies and best practices.
This document provides 10 things organizations can do today to prepare for Oracle Fusion Applications. It recommends keeping current with Oracle Applications releases, inventorying enterprise business assets like customizations and master data, and preparing a roadmap by evaluating strategic business and IT drivers. The document discusses leveraging future-proof solutions and technologies like embracing service-oriented architecture, extending business intelligence, and centralizing applications lifecycle management.
Imaginea brings more than 12 years of product engineering and services to software companies from several different industries at any stage of the life-cycle process. Through the use of several technologies and strong, innovative development processes, we deliver dependable software products at a lower cost and fulfill our customer’s business needs.
It is no wonder then that all of our customers, from the startups to the big guys, call on us for comprehensive development of core products and are often return customers!
We provide product engineering services with a very reliable technology partnership to independent software vendors, enterprises and online SaaS businesses. Services are comprehensive and cover the development process from beginning to end.
Siebel 8.1.1.0 innovation pack 2013 spring releaseJeroen Burgers
This document discusses Oracle's Siebel CRM roadmap and upcoming releases. The Spring 2013 release (Siebel 8.1.1.10/8.2.2.3) will focus on enhancing the customer experience with improved usability, mobility, and social capabilities. Some key areas of focus include improved disconnected mobile solutions for various industries, an advanced scheduling integration, and social listening for customer service. The roadmap also outlines plans for the Fall 2013 release to further improve cross-channel experiences, industry-specific solutions, and lower the total cost of ownership.
Intel IT has undergone a cloud journey to develop a hybrid open cloud. Their goals were to deliver applications and data to improve productivity, drive transformation to an automated hybrid cloud infrastructure, and accelerate the industry's transformation to cloud. Currently they have a large private cloud but are moving workloads to their limited public cloud and hybrid cloud model. Their hybrid cloud will provide applications in minutes across locations and clouds with common identity and data sharing.
This document outlines the content covered in an ABAP course, including topics such as SAP introduction, ABAP basics, development processes, functional process design, open SQL, ABAP dictionary, dialog programming, reports, BDC, RFC, BAPI, workflow, ALE/IDOC, smart forms, cross apps introduction, and object oriented ABAP. The course aims to provide students with fundamental knowledge of ABAP programming techniques and how to develop and enhance SAP applications. It appears to take a hands-on approach with many examples provided.
Enterprise Integration of Disruptive TechnologiesDataWorks Summit
This talk will detail the HSBC Big Data journey to date walking through the genesis of the Big Data initiative which was triggered by continual challenges in delivering data driven products. The global scale, diversity and legacy of an organization like HSBC presents challenges for Hadoop adoption not typically faced by younger companies. Big Data technologies are by their very nature disruptive to the established Enterprise IT environment. Hadoop and the peripheral toolsets in the big data ecosystem do not fit comfortably into an Enterprise Data Centre, IT Operational processes and can even prove disruptive to current organization structures. Alasdair will focus on the steps that HSBC has taken to mitigate concerns about Hadoop and raise awareness of the game changing benefits a successful adoption of the technology will bring. HSBC have taken an innovative approach to proving out the value of the technology engaging developers with a brakes off opportunity to use the platform and by placing Hadoop in a competitive scenario with traditional technologies. The Hadoop journey in HSBC was initiated in Scotland, blessed in London and proved out in China.
This document provides guidance on framework design. It discusses how organizational structure and culture can impact a product. Frameworks should manage dependencies and balance new features with maintaining compatibility. Duplication and unfinished features should be avoided. APIs should be designed based on code samples for key scenarios before defining object models. Simplicity is important and thorough testing and measurement is needed. Framework engineering best practices from Microsoft, Cwalina, and Schmidt are referenced.
Similar to Model driven development using smart use cases and domain driven design (20)
Flow. The official worst software development approach in historySander Hoogendoorn
As presented as opening keynote to SDD 2019 in London, together with Kim van Wilgen, customer director at Schuberg Philis. Ever since we started writing code in the fifties of the previous century, managers and project managers have tried to discipline and structure the way we work. However, no matter how many consultants and coaches are hired to implement increasingly complex process frameworks and methodologies, developers and testers always come up with new simplistic approaches.
During this talk, Kim and Sander will feal with Flow: the worst software development methodology in the history ever, taking inspiration from the worst principles and practices from methodologies such as waterfall, RUP, Scrum, Kanban, Lean, BDD, LeSS , SAFe, Spotify and of course everything continuous. Don't let project failure take you by surprise, be certain!
It's a small world after all. How thinking small changes software big timeSander Hoogendoorn
Our world changes at increasing speed. Things that weren’t possible 5 years ago come into reach. Incumbents need to adapt to match start-ups. We evolve towards smaller, faster, shorter. Smaller teams or even micro-teams, flat organizations, no management, even shorter cycles, smaller components. During this inspiring talk, Sander discusses Cynefin, how development goes wrong, how to go beyond Scrum, why self-organization is hard, why continuous delivery allows you to stop doing projects.
Microservices have been around since a few years, and many organizations are starting to benefit from these autonomous, independently deployable and easy maintainable small blocks of code. However, if you examine some of the popular definitions of microservices, we are still building a single application as a suite of small services.
During this talk Sander Hoogendoorn will explain and demonstrate how front-end development can also benefit from building it in small autonomous, independently deployable blocks of code, instead of implementing a single monolithic web application. Of course, Sander will use many code examples in Java, Angular and Typescript (and probably some live coding) to illustrate even better how to build micro-applications similar to your microservices.
Microservices have been around since a few years, and many organizations are starting to benefit from these autonomous, independently deployable and easy maintainable small blocks of code. However, if you examine some of the popular definitions of microservices, we are still building a single application as a suite of small services.
During this talk Sander Hoogendoorn will explain and demonstrate how front-end development can also benefit from building it in small autonomous, independently deployable blocks of code, instead of implementing a single monolithic web application. Of course, Sander will use many code examples in Java, Angular and Typescript (and probably some live coding) to illustrate even better how to build micro-applications similar to your microservices.
Slide deck bij mijn talk op het Tech Savvy Assistent Event op 14 juni 2018 in het Muntgebouw, Utrecht, waarin ik op een agile wijze agile bespreek met ongeveer honderd secretaresses en personal assistents.
W-JAX 2017 Keynote. It's a small world after all. How thinking small is chang...Sander Hoogendoorn
Sander Hoogendoorn is an independent software architect, agile coach, and programmer. The document discusses trends in software development such as smaller teams, microservices, serverless computing, and continuous delivery in order to deliver value to customers more quickly. It also addresses challenges with scaling agile and ensuring autonomous teams through minimal rules and processes.
This document contains a series of slides by Sander Hoogendoorn on topics related to agile software development. Some key points discussed include:
- The benefits of smaller components like microservices over monolithic architectures.
- How teams and development cycles are trending toward being even smaller, more autonomous, and continuous.
- Why estimates and plans are giving way to minimal viable products and roadmaps in a continuous delivery model.
- How the landscape is shifting from projects to a continuous culture of learning and exploration.
The slide deck to my kick-off keynote at software vendor ANVA's new year on January 10, 2017. This talk covers agile, Scrum, Kanban, continuous delivery, microservices.
Thirty months of microservices. Stairway to heaven or highway to hellSander Hoogendoorn
This is the deck of the talks on microservices I did at both Avisi's #ASAS2016 (Arnhem, NL), Microsoft's #TechDaysNL (Amsterdam, NL) and #GeeCon (Prague, Czech Republic) conferences in September and October 2016.
Microservices are the next hype. Websites are full of introducing posts, books are being written and conferences organized. There’s big promises of scalability and flexibility. However, when you are knee deep in mud as an architect, developer or tester, it’s hard to find out how to get there. Sander Hoogendoorn, independent craftsman and CTO of Klaverblad Insurances, discusses the long and winding road his projects, both greenfield and brownfield, have travelled. Sander will e.g. address polyglot persistence, DDD, bounded contexts, modeling HTTP/REST, continuous delivery and many lessons learned, using many real-life examples.
Beyond breaking bad. The current state of agile in ten easy lessonsSander Hoogendoorn
This document outlines Sander Hoogendoorn's lessons on the current state of agile based on his experience as a software architect, trainer, and agile thought leader. The lessons critique common agile practices and misconceptions, such as over-reliance on scrum rituals, use of manufacturing metaphors for software development, and treating agile as a one-size-fits-all approach. Hoogendoorn advocates for adapting agile principles to the specific context and allowing continuous learning. The document concludes by noting that growth and change, while painful, are necessary to avoid being stuck in an undesirable situation.
Beyond breaking bad. The current state of agile in ten easy lessonsSander Hoogendoorn
After having coached iterative and agile projects for almost twenty years, author, craftsman and independent consultant Sander Hoogendoorn, looks back on what agile, Scrum, Kanban, XP and other agile approaches have brought us in real-life. In his well-known, high-speed style Sander will motivate why agile is dead, why you need to stay away from Scrum task-boards, how to stay away from estimates and deadlines, how to avoid red sprints, how to put your trust in metrics, how to draw owls, that projects are waste, and most of all that you are not Usain Bolt and last-but-not-least he will explain why you should stop doing projects!
The document discusses microservices and two case studies of companies adopting a microservices architecture. In the first case study, a major insurance company moved from a monolithic architecture to microservices in order to improve scalability, use multiple technologies, and develop features independently. They focused on modeling business processes and implemented services around individual processes. The second case study involved a product development company migrating an existing system to microservices. They redesigned the architecture with bounded contexts and migrated components incrementally. The document also covers microservices design principles, modeling resources as RESTful services, and challenges with testing microservices.
This is the slide deck for my keynote at the Software Architect conference in London, October 2015.
The development and maintenance of monoliths presents organisations with increasing challenges, resulting in high costs and a decreasing time-to-market. More and more organisations are therefore attempting to componentise their applications.
The latest and greatest paradigm “microservices” finally seems to deliver on the promises of service-oriented architecture: shortening time-to-market, scalability, autonomy, and exchangeability of technology and databases. The challenges of delivering microservices however are equally big.
In this keynote presentation, Sander will elaborate on his personal experiences with implementing microservices architectures. He’ll be certain to address the good parts, but he does not shy away from also tackling the bad and ugly parts.
This is the slide deck from my keynote at the EA User Event in Brussels, September 2015. Micro-services and micro-services architecture are the next hype in software development. Websites and blogs are full of introducing posts, the first books are being written and the first conferences organized. There’s big promises of scalability, flexibility and replaceability of individual elements in your landscape. However, when you are knee deep in the mud as a software architect at an insurance, it is very hard to find help on how to design applications and components in a micro-services architecture. During this talk Sander will show how he used Enterprise Architect to model the micro services architecture, and will explain the difficulties and the lessons learned, using many real-life examples.
Designing and building a micro-services architecture. Stairway to heaven or a...Sander Hoogendoorn
The document discusses designing microservices architectures and whether they represent a "stairway to heaven" or "highway to hell". It summarizes two real-world cases of companies transitioning to microservices. The first case is of a major insurance company moving from a mainframe monolith to microservices by implementing business processes as micro-applications. The second case is of a product company with no initial architecture transitioning to modular microservice components to improve development and scalability. The document advocates an evolutionary approach to microservices starting with guiding principles and business processes, and designing modular services.
Slide deck from my keynote at the Software Development 2020 Conference in Breda, The Netherlands, June 2015. Micro-services and micro-services architecture are the next hype in software development. Websites and blogs are full of introducing posts, the first books are being written and the first conferences organized. There’s big promises of scalability, flexibility and replaceability of individual elements in your landscape. However, when you are knee deep in the mud as a software architect at an insurance, it is very hard to find help on how to design applications and components in a micro-services architecture. During this talk Sander Hoogendoorn, discusses the long and winding road the insurance company where he’s acting as the lead software architect has taken to implement their business processes in a micro-landscape. Sander will show how this company is modeling requirements in a micro-landscape using smart use cases, and will explain the difficulties and the lessons learned, using many real-life examples.
After we finally seem to have settled the agile wars, between XP, Scrum and Kanban, the market
now starts to flood with enterprise agile frameworks, such as SAFe, DAD and Agility Path.
However, many organizations are still struggling with how to implement agile, even in
straightforward projects. During this vivid talk Sander Hoogendoorn, independent agile mentor,
software architect and developer, will share his years of experiences in implementing agile
principles and techniques in organizations, from the ground up, one step at the time. Sander does
not shy away from criticizing agile – especially enterprise agile – and will go through a series of
anti-patterns, pitfalls and roadblocks organizations encounter when moving towards agile, Scrum
and Kanban. He also shows how to get around them, illustrated with many real-life and examples,
and how to implement agile in baby steps.
Microservices and microservices architecture are the next hype in software development. Websites and blogs are full of introducing posts, the first books are being written and the first conferences organized. There’s big promises of scalability, flexibility and replaceability of individual elements in your landscape. However, when you are knee deep in the mud as a software architect at an insurance, it is very hard to find help on how to design applications and components in a microservices architecture. During this talk Sander Hoogendoorn, discusses the long and winding road the insurance company where he’s acting as the lead software architect has taken to implement their business processes in a microservices landscape. Sander will show how this company is modeling requirements in a microservices landscape using smart use cases, and will explain the difficulties and the lessons learned, using many real-life examples.