bg-shape
Trainings & Workshops
Storystorming
Domain-Driven Design
Business Process Modeling
User Story Mapping
Domain Storytelling
Event Storming
Factscript
Domain Specific Languages
Fact-Driven Architecture

Collaborate

Software development is a team sport requiring close collaboration between people coming from very different backgrounds and subcultures.

Visualize

In order to bridge the communication gap between domain experts and software experts, it is super helpful to leverage visualization at all levels.

Implement

Teamwork cannot end with an handover of models. Executable software is the only relevant form in which our success ultimately exists and is maintained.

Domain-Driven-Design

Domain-Driven-Design

Domain-driven design (DDD) is an approach to developing software for complex needs by deeply connecting the implementation to an evolving model of core business concepts. Its premise are: 1) Place the project’s primary focus on the core domain 2) Base complex designs on a model 3) Initiate a creative collaboration between technical and domain experts to iteratively cut ever closer to the conceptual heart of the problem. The premise is simple, but pulling it off in the messy real world is hard. It calls for new skills and discipline, and a systematic approach. Domain-driven design is not a technology or a methodology. DDD provides a structure of practices and terminology for making design decisions that focus and accelerate software projects dealing with complicated domains.

Check out DDD Fundamentals training Get in touch
Storystorming

Storystorming

Storystorming is a toolbox and mashup of existing methods to collaboratively explore user journeys, work procedures and business processes and refine them into working software models. Storystorming facilitates many opportunities for collaboration between business and technology experts, helps them to visually connect the dots and discover what your organisation needs to be successful. By visually mapping known methods such as Domain Storytelling, User Story Mapping and Impact Mapping to a small set of reusable building blocks and colors inspired by EventStorming, these methods become more accessible to busy organizations, but can also be easily linked with each other.

Learn more Check out Storystorming training Get in touch
Storystorming
Business Process Modeling

Business Process Modeling

Business process modeling is about visualizing activity flows, so that they may be analyzed, improved, and ultimately automated. It can be performed by business analysts, who provide expertise in a modeling discipline, by subject matter experts, who have specialized knowledge of the processes being modeled or directly by software developers, but in the best case by a team comprising all of them. Often, super lightweight process modeling methods like we find them in Storystorming (see above) will be good enough as a prep to “go and code”. But for logistically challenging endavours or if you use a workflow engine (like e.g. Camunda) a solid knowledge of the powerful ISO standard BPMN can do the “trick” for you and if you combine it with lightweight workshop methods to tap into the expert’s knowledge - even better.

Check out Collaborative BPMN training Get in touch

Voices

"It was a pleasure to participate. The magic Martin Schimak brings with Storystoming lies in the combination of methods."

client-image

Sebastian Oremek

Head of Digital Enablement, innogy.com

"In a world of 1000 methods, Martin Schimak has managed to filter out the right ones, and even to improve them."

client-image

Angela Rumpl

Teamlead Engineering, kununu.com

"We left this workshop energized and equipped with a rich tool set to face the modeling challenges of the real world."

client-image

Paul Rohorzka

Software Gardener, techtalk.at

"I can’t think of any other tool or format that would be better suited for the hard day-to-day work than Storystorming."

client-image

Andreas Melcher

Senior Software Engineer, iteratec.de

"Great workshop to learn and compare different methods. Great presentation, great discussions and great atmosphere."

client-image

Angelika Kadnar

.NET-Developer, cssteam.at

"This is for product owners, analysts, architects and developers who want to learn how to model the business collaboratively."

client-image

Fabian Schmied

Lead Developer, rubicon.eu

"With Storystorming we can build a bridge between the abstractions of the digital world and the tangible physical reality of manufacturing industrial companies."

client-image

Hannes Stiebitzhofer

Lead Architect, s1seven.com
map bg-shape bg-shape bg-shape bg-shape bg-shape bg-shape
Domain Specific Languages (DSLs)

Domain Specific Languages (DSLs)

A domain-specific language (DSL) is a small computer language specialized to a particular problem or application domain. This is in contrast to a general-purpose programming language, which is broadly applicable across domains. There are a wide variety of so called “DSLs”, ranging from widely used languages for common domains, such as HTML for web pages, down to languages used by only one or a few pieces of software, such as MUSH soft code. DSLs can be further subdivided by the kind of language, and include domain-specific markup languages, domain-specific modeling languages (more generally, specification languages), and domain-specific programming languages. We have some solid experience in designing such languages.

Learn more Get in touch
Domain Specific Languages (DSLs)
Factscript

Factscript

Factscript is a process scripting language designed to make developers happier. It is implemented in Kotlin for the Java software platform and one of the above mentioned “internal” domain specific languages: a language specialized to express non-atomic, multi-step business or software processes directly in code. Factscripts do not only define the process flow in a type-safe manner, but also include all data aspects needed to control the flow. Therefore such scripts can automatically be translated to BPMN and are then directly executable and deployable to a workflow engine (Camunda). The language was designed and implemented by Martin Schimak, plexiti, in an open source project collaboration with PHACTUM and the Institute for Information Business (Vienna University of Economics and Business).

Learn more Get in touch
Fact-Driven Architecture

Fact-Driven Architecture

“Fact-Driven Architecture” is our research topic and a provisional term for a combination of patterns rooted in Event-Driven Architecture, Greg Young’s Event Sourcing, Mark Burgess’ Promise Theory and Pat Helland’s seminal paper about Life Beyond Distributed Transactions. In a fact-driven architecture autonomous agents promise each other to work towards specified outcomes in case they observe certain messages. They interact with each other by means of “facts” only, meaning that all messages exchanged between agents are persisted before they are transmitted and persisted after they are observed and processed into new facts. All messaging and promising is based on the four sentence types rooted in the human language: commands, questions, statements and exclamations/events.

Learn more Get in touch
Fact-Driven Architecture

Our related conference talks

client-logo client-logo client-logo client-logo client-logo client-logo client-logo client-logo client-logo client-logo client-logo client-logo client-logo client-logo