Deep conversations with domain experts and careful attention to the language are central in software development and in particular in Domain-Driven Design (DDD). However it takes many years and many failures to get better at this game.
Still, over time it is possible to extract a growing set of techniques and heuristics that can boost the effectiveness of the interviews with domain experts, to learn faster and converge quickly to better models.
There are techniques and heuristics for asking better questions, listening carefully to words and other signals, and for managing credibility as a developer facing business experts.
If you think all the above is important, then these interviewing techniques will improve your skills, step up the quality of your collaboration with your domain experts, and will provide benefits for better domain models. And if you find all that boring, then perhaps you could focus your career on Java EE instead.
Even in an agile world, specifications often go too far and describe solutions with too much details; all these premature decisions constraint the implementation and remove opportunities. There is a remedy: refactoring the specs, even before refactoring the code.
In the TDD cycle, refactoring is the art of restructuring the code to make it simpler, without changing its behavior at runtime. A key part of refactoring is to recognize and extract duplications.
Refactoring is very useful at the code level, and it is even more powerful when applied during business analysis or functional architecture. We will show how the practice of refactoring directly "at the business domain level" can simplify the problem, and therefore the resulting implementation code, by orders of magnitude. This means much less code to write, to test and to maintain, and much less defects as a result.
We will introduce 5 patterns on how to refactor at the business-domain level, such as "Make It Systematic" and "Degenerate Case". We will also explain some limits and the required mindset.
This approach of refactoring has been used on several real-world projects and is derived in particular from DDD and from Specification by Example.
We often relate Domain-Driven Design with the content of Eric Evans' book; however even this book suggests looking outside for other patterns and inspirations: analysis patterns (Accounting, Finance), domain-oriented use of design patterns (the Flyweight pattern), established formalisms (e.g. monoids) and XP literature in particular (e.g. the patterns on the c2 wiki and OOPSLA papers).
The world has not stopped since the book either, and new ideas keep on emerging regularly. And you can share your own patterns as well.
In this session, through examples and code we'll go through some particularly important patterns which deserve to be in your tool belt. We'll also provide guidance on how best to use them (or not), at the right time and in the right context, and on how to train your colleagues on them!
Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...Cyrille Martraire
What if documentation was as fun as coding? Always up-to-date? And what if it could even improve your design? Reconsider how you invest in knowledge to accelerate delivery, with a touch of Domain-Driven Design.
For more, get the book on Leanpub: https://leanpub.com/livingdocumentation
DDD is often misinterpreted in so many ways. Many teams focus only on the tactical patterns, or even consider repositories as mere glorified DAO's and forget about all the other concepts that really matter: the focus on the business domain, modeling in code, and the concept of Bounded Contexts. In this talk for junior and senior developers alike, we'll clarify the few most important building blocks of DDD. We will also illustrate how practicing DDD actually looks like. This talk is the perfect opportunity to get started on DDD on solid grounds!
Déjà 10 ans de Software Craft ! Comment vos pratiques ont-elles évolué durant cette décennie ? Au-delà de la dette technique dont Arnaud Lemaire avait parlé l’an passé, au-delà du Clean Code, de TDD et de BDD, 10 ans après le Craft doit se préoccuper désormais des environnements d’aujourd’hui, avec plus de distribué, des microservices, du Cloud et même (et ce n’est même pas un troll) des transformations digitales ! Mais alors, est-ce vraiment encore du Craft ? Venez juger par vous-mêmes avec Cyrille sous le soleil de Sunny Tech !
The document discusses marketing principles for small software vendors based on the book "The 22 Immutable Laws of Marketing" by Al Ries and Jack Trout. It summarizes the key points of the first 5 laws: 1) It is better to be the number one player in a category. 2) If you cannot be first, create a new category where you can be number one. 3) It is better to be first in people's minds than first in the market. 4) Perception is more important than reality in product battles. 5) The most powerful marketing message focuses on owning a single word or idea in customers' minds.
Devnexus 2017 Cybercrime and the Developer: How do you make a difference?Steve Poole
Cybercrime how bad can it be? Organised attacks around the world in 2016 have shown how unprepared we are to deal with the growth of Cybercrime. In this talk learn a little about the scale of the challenge developers face from assaults on our systems. Be prepared to be appalled and scared. Fainting is not allowed. Discover how to fight back and see how you can change your behaviour and your code to defend against these attacks.
Your destiny is clear - it’s time to be come a Cyber Defender
Cybercrime and the Developer Java2Days 2016 SofiaSteve Poole
The document discusses cybersecurity risks and how developers can help address them. It notes that cybercriminals target developers because they have privileged access and knowledge of systems. Developers are often too trusting and ignore security, installing software without checking for malware or disabling certificate validation. The talk urges developers to take security more seriously by keeping systems updated, using strong authentication, and being wary of suspicious network connections and downloads from untrusted sources. Developers must help address the growing problem of cybercrime by promoting secure development best practices.
Even in an agile world, specifications often go too far and describe solutions with too much details; all these premature decisions constraint the implementation and remove opportunities. There is a remedy: refactoring the specs, even before refactoring the code.
In the TDD cycle, refactoring is the art of restructuring the code to make it simpler, without changing its behavior at runtime. A key part of refactoring is to recognize and extract duplications.
Refactoring is very useful at the code level, and it is even more powerful when applied during business analysis or functional architecture. We will show how the practice of refactoring directly "at the business domain level" can simplify the problem, and therefore the resulting implementation code, by orders of magnitude. This means much less code to write, to test and to maintain, and much less defects as a result.
We will introduce 5 patterns on how to refactor at the business-domain level, such as "Make It Systematic" and "Degenerate Case". We will also explain some limits and the required mindset.
This approach of refactoring has been used on several real-world projects and is derived in particular from DDD and from Specification by Example.
We often relate Domain-Driven Design with the content of Eric Evans' book; however even this book suggests looking outside for other patterns and inspirations: analysis patterns (Accounting, Finance), domain-oriented use of design patterns (the Flyweight pattern), established formalisms (e.g. monoids) and XP literature in particular (e.g. the patterns on the c2 wiki and OOPSLA papers).
The world has not stopped since the book either, and new ideas keep on emerging regularly. And you can share your own patterns as well.
In this session, through examples and code we'll go through some particularly important patterns which deserve to be in your tool belt. We'll also provide guidance on how best to use them (or not), at the right time and in the right context, and on how to train your colleagues on them!
Living Documentation (NCrafts Paris 2015, DDDx London 2015, BDX.io 2015, Code...Cyrille Martraire
What if documentation was as fun as coding? Always up-to-date? And what if it could even improve your design? Reconsider how you invest in knowledge to accelerate delivery, with a touch of Domain-Driven Design.
For more, get the book on Leanpub: https://leanpub.com/livingdocumentation
DDD is often misinterpreted in so many ways. Many teams focus only on the tactical patterns, or even consider repositories as mere glorified DAO's and forget about all the other concepts that really matter: the focus on the business domain, modeling in code, and the concept of Bounded Contexts. In this talk for junior and senior developers alike, we'll clarify the few most important building blocks of DDD. We will also illustrate how practicing DDD actually looks like. This talk is the perfect opportunity to get started on DDD on solid grounds!
Déjà 10 ans de Software Craft ! Comment vos pratiques ont-elles évolué durant cette décennie ? Au-delà de la dette technique dont Arnaud Lemaire avait parlé l’an passé, au-delà du Clean Code, de TDD et de BDD, 10 ans après le Craft doit se préoccuper désormais des environnements d’aujourd’hui, avec plus de distribué, des microservices, du Cloud et même (et ce n’est même pas un troll) des transformations digitales ! Mais alors, est-ce vraiment encore du Craft ? Venez juger par vous-mêmes avec Cyrille sous le soleil de Sunny Tech !
The document discusses marketing principles for small software vendors based on the book "The 22 Immutable Laws of Marketing" by Al Ries and Jack Trout. It summarizes the key points of the first 5 laws: 1) It is better to be the number one player in a category. 2) If you cannot be first, create a new category where you can be number one. 3) It is better to be first in people's minds than first in the market. 4) Perception is more important than reality in product battles. 5) The most powerful marketing message focuses on owning a single word or idea in customers' minds.
Devnexus 2017 Cybercrime and the Developer: How do you make a difference?Steve Poole
Cybercrime how bad can it be? Organised attacks around the world in 2016 have shown how unprepared we are to deal with the growth of Cybercrime. In this talk learn a little about the scale of the challenge developers face from assaults on our systems. Be prepared to be appalled and scared. Fainting is not allowed. Discover how to fight back and see how you can change your behaviour and your code to defend against these attacks.
Your destiny is clear - it’s time to be come a Cyber Defender
Cybercrime and the Developer Java2Days 2016 SofiaSteve Poole
The document discusses cybersecurity risks and how developers can help address them. It notes that cybercriminals target developers because they have privileged access and knowledge of systems. Developers are often too trusting and ignore security, installing software without checking for malware or disabling certificate validation. The talk urges developers to take security more seriously by keeping systems updated, using strong authentication, and being wary of suspicious network connections and downloads from untrusted sources. Developers must help address the growing problem of cybercrime by promoting secure development best practices.
Technical debt is something that most project teams or independent developers have to deal with – we take shortcuts to push out releases, deadlines need to be met, quick fixes slowly become the standard. In this talk, we will discuss what technical debt is, when it is acceptable and when it isn’t, and strategies for effectively managing it, both on an independent and team level.
What is a crypto rug pull?
How does a crypto rug pull work?
Types of crypto rug pulls!
Signs of crypto rug pulls to watch out for!
Real-world examples of crypto rug pulls!
Tips to avoid a crypto rug pull!
It pays to do your own research!
destpump.com
n the world of DevOps and the cloud, most developers have to learn new technologies and methodologies. The focus tends to be on adding capabilities such as resilience and scaling to an application. One critical aspect consistently overlooked is security.
In this session, learn about a few of the simple actions you can take (and some behaviors you must change) to create a more secure Java application for the cloud. The world of the cyber criminal is closer than you realize. Hear how at risk your application may be, see practical examples of how you can inadvertently leave the doors open, and understand what you can do to make your Java solution more secure.
D3 Design By Games Agile India Pune 2005Henry Jacob
The document discusses the process of designing a digital solution from understanding customer needs to prototyping and testing ideas. It presents 13 steps: 1) defining the project meaning and goals, 2) naming the project, 3) analyzing key customer personas, 4) mapping the problem domain, 5) researching user roles, 6) understanding a user's daily tasks, 7) reimagining processes, 8) capturing user stories, 9) designing interactions, 10) outlining navigation, 11) creating low-fidelity prototypes, 12) envisioning intelligent features, and 13) testing designs from the user's perspective. The overall approach emphasizes deep customer understanding before developing technology-driven solutions.
Gerrie Smits (https://gerriesmits.com) kicked off the event explaining
(a) the basics of blockchain (a.o. immutability, "if... then...", value transfer, tokenisation and token transfer, decentralisation, game theory and aligned incentives) and
(b) looking at it from a business perspective ("Is This Something For Us?")
>> with practical examples of (actual) use cases like a local blockchain to follow the support money granted to refugees, fractional ownership of real estate, incentives to cycle to school, "selling your eyeballs" (advertising),...
>> through the value mapping framework, which brings innovation (value) theory and design thinking in the picture
To conclude he launched a specific point of interest, namely ORGANISATIONAL DESIGN. Starting from the question whether the "tragedy of the commons" can be overcome (looking at theories of a.o. Elinor Ostrom - https://en.wikipedia.org/wiki/Elinor_Ostrom), he looks at initiatives that may address this by using blockchain technology: Colony (https://colony.io/index.html), Aragon https://aragon.org/), OrgTech (https://orgtech.substack.com/),...
This is material for a hack(athlon).
The title of his keynote refers to the title of the book he wrote (in Dutch) which is packed with use cases: https://gerriesmits.com/blockchain-is-wtf-boek/
The context was the second (2019) edition of the Computational Law and Blockchain Festival (#CLBFest), Brussels' node.
5 Pitch Deck Mistakes That Can Keep You From Getting FundedDeck Works
Pitch decks are important to securing funding for your startup. But how do you avoid the common mistakes that can keep you from getting funded?
Here are 5 pitch deck mistakes to avoid when raising funds.
***Featured as Slideshare’s Top Presentation of the Day 08/21/2014***
***Featured in: Investor Relations***
7 Elements of Insanely Persuasive Sales DemosSales Hacker
What You'll Learn:
- 7 “kiss of death” demo mistakes (that 80% of salespeople make)
- Why demoing the right way leads to an insane income (and how to pull it off)
- A rich list of tactics for doing insanely persuasive sales demos
- Why “proving ROI” at the end of your demo is killing deals (and what to do instead)
How startups create a frictionless experience. +30 cases by @boardofinnoBoard of Innovation
This document discusses how startups can create frictionless experiences for customers through convenience. It provides examples of companies that deliver extreme convenience through next-gen technology and business models using invisible, brainless triggers that require minimal effort. These companies outsource tasks so customers don't have to do any heavy lifting. The document argues that companies can nail convenience by making it easier for users to let someone else handle the task.
- The entrepreneurs lacked experience running a business and had unrealistic financial projections. Their proposed online gambling business would operate in a legal gray area and focus on making money rather than building a sustainable company.
- When asked about competitors, the entrepreneurs demonstrated only a surface-level knowledge of the market and competition. They also did not appear to understand the cultural factors needed to succeed.
- Questions about technology, intellectual property, and capital requirements revealed the entrepreneurs had done little planning or preparation. They intended to waste funding and misrepresented details about other term sheets.
Oli Gardner SMD Warsaw 2014 - Advanced Landing Page Optimization With Conve...Joanna Gęsicka
Landing pages are an essential part of every marketing campaign, yet most marketers are still doing it wrong. Learn how to use Conversion Centered Design to build landing experiences that convert more prospects into customers and gain a big competitive advantage. This session will give you actionable insights for increasing the conversion rate of your PPC campaigns, and how to design high-converting lead gen pages.
Behaviour Driven Development is a powerful collaboration technique that can empower teams to deliver higher value features to the business faster and more effectively. But although Behaviour Driven Development is based on a number of simple principles, it can go dramatically wrong in a myriad of different ways.
In this talk we discuss twelve BDD anti-patterns we frequently encounter in real-world BDD projects, anti-patterns that can dramatically reduce the effectiveness of BDD as a practice, and that can even cause BDD adoption to fail entirely. Looking at everything from insufficient collaboration practices to poor use of test automation tooling, from teams that test too much to teams that forget the most important scenarios, we will look at the many different ways that BDD can go wrong, and how it should be done.
We will use real-world examples to illustrate each of these anti-patterns. You will learn how to spot these issues in your own projects, and more importantly how to avoid them in the first place.
1. Account management needs to reclaim its role as the "voice of accountability" for agencies by becoming experts in both ideas and execution.
2. Five ways to become better at ideas are: follow Occam's rule of simple; use questions to lead to insights; use observation; gain mastery through discipline; and allow for serendipity.
3. Five ways to improve execution include: always starting with a clear scope of work; fully describing tasks; including contingencies for uncertainty; avoiding legalese; and writing scopes informally.
The document discusses strategies for a small company ("David") to successfully import documents from a larger company ("Goliath") into Alfresco. It recommends determining where documents are located, which documents are relevant, how many documents there are, and who owns the documents. It also advises dividing problems into smaller pieces and asking for help when needed. The process of importing documents from a large company is compared to battling Goliath, with many potential challenges that must be addressed.
This document discusses marketing technical talent. It begins with a brief history of technology marketing, noting how it has shifted from a one-way communication model dominated by companies to a more conversational two-way model online. It argues that the Hollywood model of freelance talent working on projects now applies more in tech. Individuals must market themselves as careers involve moving between startups. A variety of platforms for self-promotion are discussed, including blogs, videos, conferences, communities and publications. General guidelines for creating quality technical content are provided.
Bob London, CEO and Founder of Chief Listening Officers, gave this presentation that includes a framework and approach for getting unfiltered insights on what customers and prospects really need.
It's Okay to be Wrong (Accelerator Academy Oct '17)Matt Mower
Building a software company is hard and it's not usually about the technology but the problems of stress, communication, assumption, and strategy exacerbated by the complexity of creating software that meets customer needs.
Kicking ass at B2B copywriting - 9 things every tech marketer must knowRadix Communications
How important is good copy in B2B tech marketing and how do you go about writing it? Here's nine tips to get you started, including the skills you'll need and why you need to shout about your copy.
Christian Heilmann discusses the role of a developer evangelist, which is to translate between technical colleagues, business interests, and the outside developer community. As an evangelist, it is important to be an independent voice and share information freely to establish trust and credibility externally. Evangelists should attend and speak at developer events, share knowledge internally to help teams, and use online platforms like blogs, social media, and forums to engage with others and spread awareness of their company's technologies and solutions.
Nfts explained guide, One new asset you might have seen exploding onto the market is
the NFT or Non-Fungible Token.
From music and art to everyday items like toilet paper, these
digital assets are “selling like 17th Century exotic Dutch tulips,” say
Forbes writers Robyn Conti and John Schmidt.
The question is: are they worth the money (or the hype)?
Some experts feel they are “a bubble poised to pop,” while others
believe NFTs are going to change investing forever.
It’s a digital asset that represents some real-world object like
music, art, in-game items, or videos. NFTs are bought and sold
online, often with cryptocurrency, and are usually encoded with
the same underlying software as many cryptos.
NFTs are becoming well-known now, though they’ve been around
since 2014, because they’re an increasingly popular way to buy
and sell digital artwork.
Domain modeling for Digital Transformations (FlowCon Paris 2019 edition)Cyrille Martraire
The collaboration between business people and the development teams is often distorted by implementation concerns, past habits and past constraints. This is harmful, especially if you have major ambitions. To achieve better software, developers could try to reverse-engineer from the given specifications, or you could embark into a joint exploration of the domain towards its first principles, which are the main concepts or assumptions that cannot be deduced from anything else.
Join Cyrille on this topic to find out how it can help your most challenging digital initiatives!
Hexagonal at Scale, with DDD and microservices! - Voxxed Days microservices 2...Cyrille Martraire
The document discusses domain-driven design (DDD) and microservices architecture. It provides examples of how to define boundaries between microservices using DDD principles like bounded contexts. The key points are:
- Microservices should be defined based on sub-domains or bounded contexts from DDD rather than arbitrary technical or data boundaries.
- Bounded contexts that represent different sub-domains will likely need to evolve independently and have different feature requests over time, making them good candidates for separation into distinct microservices.
- While separating microservices reduces coupling, it can lead to some data duplication between service boundaries. This tradeoff of reduced coupling versus increased redundancy is acceptable when partitioning by domain.
Weitere ähnliche Inhalte
Ähnlich wie Interviewing Domain Experts - Heuristics From the Trenches (DDD Europe 2016 Morning Keynote on day 2)
Technical debt is something that most project teams or independent developers have to deal with – we take shortcuts to push out releases, deadlines need to be met, quick fixes slowly become the standard. In this talk, we will discuss what technical debt is, when it is acceptable and when it isn’t, and strategies for effectively managing it, both on an independent and team level.
What is a crypto rug pull?
How does a crypto rug pull work?
Types of crypto rug pulls!
Signs of crypto rug pulls to watch out for!
Real-world examples of crypto rug pulls!
Tips to avoid a crypto rug pull!
It pays to do your own research!
destpump.com
n the world of DevOps and the cloud, most developers have to learn new technologies and methodologies. The focus tends to be on adding capabilities such as resilience and scaling to an application. One critical aspect consistently overlooked is security.
In this session, learn about a few of the simple actions you can take (and some behaviors you must change) to create a more secure Java application for the cloud. The world of the cyber criminal is closer than you realize. Hear how at risk your application may be, see practical examples of how you can inadvertently leave the doors open, and understand what you can do to make your Java solution more secure.
D3 Design By Games Agile India Pune 2005Henry Jacob
The document discusses the process of designing a digital solution from understanding customer needs to prototyping and testing ideas. It presents 13 steps: 1) defining the project meaning and goals, 2) naming the project, 3) analyzing key customer personas, 4) mapping the problem domain, 5) researching user roles, 6) understanding a user's daily tasks, 7) reimagining processes, 8) capturing user stories, 9) designing interactions, 10) outlining navigation, 11) creating low-fidelity prototypes, 12) envisioning intelligent features, and 13) testing designs from the user's perspective. The overall approach emphasizes deep customer understanding before developing technology-driven solutions.
Gerrie Smits (https://gerriesmits.com) kicked off the event explaining
(a) the basics of blockchain (a.o. immutability, "if... then...", value transfer, tokenisation and token transfer, decentralisation, game theory and aligned incentives) and
(b) looking at it from a business perspective ("Is This Something For Us?")
>> with practical examples of (actual) use cases like a local blockchain to follow the support money granted to refugees, fractional ownership of real estate, incentives to cycle to school, "selling your eyeballs" (advertising),...
>> through the value mapping framework, which brings innovation (value) theory and design thinking in the picture
To conclude he launched a specific point of interest, namely ORGANISATIONAL DESIGN. Starting from the question whether the "tragedy of the commons" can be overcome (looking at theories of a.o. Elinor Ostrom - https://en.wikipedia.org/wiki/Elinor_Ostrom), he looks at initiatives that may address this by using blockchain technology: Colony (https://colony.io/index.html), Aragon https://aragon.org/), OrgTech (https://orgtech.substack.com/),...
This is material for a hack(athlon).
The title of his keynote refers to the title of the book he wrote (in Dutch) which is packed with use cases: https://gerriesmits.com/blockchain-is-wtf-boek/
The context was the second (2019) edition of the Computational Law and Blockchain Festival (#CLBFest), Brussels' node.
5 Pitch Deck Mistakes That Can Keep You From Getting FundedDeck Works
Pitch decks are important to securing funding for your startup. But how do you avoid the common mistakes that can keep you from getting funded?
Here are 5 pitch deck mistakes to avoid when raising funds.
***Featured as Slideshare’s Top Presentation of the Day 08/21/2014***
***Featured in: Investor Relations***
7 Elements of Insanely Persuasive Sales DemosSales Hacker
What You'll Learn:
- 7 “kiss of death” demo mistakes (that 80% of salespeople make)
- Why demoing the right way leads to an insane income (and how to pull it off)
- A rich list of tactics for doing insanely persuasive sales demos
- Why “proving ROI” at the end of your demo is killing deals (and what to do instead)
How startups create a frictionless experience. +30 cases by @boardofinnoBoard of Innovation
This document discusses how startups can create frictionless experiences for customers through convenience. It provides examples of companies that deliver extreme convenience through next-gen technology and business models using invisible, brainless triggers that require minimal effort. These companies outsource tasks so customers don't have to do any heavy lifting. The document argues that companies can nail convenience by making it easier for users to let someone else handle the task.
- The entrepreneurs lacked experience running a business and had unrealistic financial projections. Their proposed online gambling business would operate in a legal gray area and focus on making money rather than building a sustainable company.
- When asked about competitors, the entrepreneurs demonstrated only a surface-level knowledge of the market and competition. They also did not appear to understand the cultural factors needed to succeed.
- Questions about technology, intellectual property, and capital requirements revealed the entrepreneurs had done little planning or preparation. They intended to waste funding and misrepresented details about other term sheets.
Oli Gardner SMD Warsaw 2014 - Advanced Landing Page Optimization With Conve...Joanna Gęsicka
Landing pages are an essential part of every marketing campaign, yet most marketers are still doing it wrong. Learn how to use Conversion Centered Design to build landing experiences that convert more prospects into customers and gain a big competitive advantage. This session will give you actionable insights for increasing the conversion rate of your PPC campaigns, and how to design high-converting lead gen pages.
Behaviour Driven Development is a powerful collaboration technique that can empower teams to deliver higher value features to the business faster and more effectively. But although Behaviour Driven Development is based on a number of simple principles, it can go dramatically wrong in a myriad of different ways.
In this talk we discuss twelve BDD anti-patterns we frequently encounter in real-world BDD projects, anti-patterns that can dramatically reduce the effectiveness of BDD as a practice, and that can even cause BDD adoption to fail entirely. Looking at everything from insufficient collaboration practices to poor use of test automation tooling, from teams that test too much to teams that forget the most important scenarios, we will look at the many different ways that BDD can go wrong, and how it should be done.
We will use real-world examples to illustrate each of these anti-patterns. You will learn how to spot these issues in your own projects, and more importantly how to avoid them in the first place.
1. Account management needs to reclaim its role as the "voice of accountability" for agencies by becoming experts in both ideas and execution.
2. Five ways to become better at ideas are: follow Occam's rule of simple; use questions to lead to insights; use observation; gain mastery through discipline; and allow for serendipity.
3. Five ways to improve execution include: always starting with a clear scope of work; fully describing tasks; including contingencies for uncertainty; avoiding legalese; and writing scopes informally.
The document discusses strategies for a small company ("David") to successfully import documents from a larger company ("Goliath") into Alfresco. It recommends determining where documents are located, which documents are relevant, how many documents there are, and who owns the documents. It also advises dividing problems into smaller pieces and asking for help when needed. The process of importing documents from a large company is compared to battling Goliath, with many potential challenges that must be addressed.
This document discusses marketing technical talent. It begins with a brief history of technology marketing, noting how it has shifted from a one-way communication model dominated by companies to a more conversational two-way model online. It argues that the Hollywood model of freelance talent working on projects now applies more in tech. Individuals must market themselves as careers involve moving between startups. A variety of platforms for self-promotion are discussed, including blogs, videos, conferences, communities and publications. General guidelines for creating quality technical content are provided.
Bob London, CEO and Founder of Chief Listening Officers, gave this presentation that includes a framework and approach for getting unfiltered insights on what customers and prospects really need.
It's Okay to be Wrong (Accelerator Academy Oct '17)Matt Mower
Building a software company is hard and it's not usually about the technology but the problems of stress, communication, assumption, and strategy exacerbated by the complexity of creating software that meets customer needs.
Kicking ass at B2B copywriting - 9 things every tech marketer must knowRadix Communications
How important is good copy in B2B tech marketing and how do you go about writing it? Here's nine tips to get you started, including the skills you'll need and why you need to shout about your copy.
Christian Heilmann discusses the role of a developer evangelist, which is to translate between technical colleagues, business interests, and the outside developer community. As an evangelist, it is important to be an independent voice and share information freely to establish trust and credibility externally. Evangelists should attend and speak at developer events, share knowledge internally to help teams, and use online platforms like blogs, social media, and forums to engage with others and spread awareness of their company's technologies and solutions.
Nfts explained guide, One new asset you might have seen exploding onto the market is
the NFT or Non-Fungible Token.
From music and art to everyday items like toilet paper, these
digital assets are “selling like 17th Century exotic Dutch tulips,” say
Forbes writers Robyn Conti and John Schmidt.
The question is: are they worth the money (or the hype)?
Some experts feel they are “a bubble poised to pop,” while others
believe NFTs are going to change investing forever.
It’s a digital asset that represents some real-world object like
music, art, in-game items, or videos. NFTs are bought and sold
online, often with cryptocurrency, and are usually encoded with
the same underlying software as many cryptos.
NFTs are becoming well-known now, though they’ve been around
since 2014, because they’re an increasingly popular way to buy
and sell digital artwork.
Ähnlich wie Interviewing Domain Experts - Heuristics From the Trenches (DDD Europe 2016 Morning Keynote on day 2) (20)
Domain modeling for Digital Transformations (FlowCon Paris 2019 edition)Cyrille Martraire
The collaboration between business people and the development teams is often distorted by implementation concerns, past habits and past constraints. This is harmful, especially if you have major ambitions. To achieve better software, developers could try to reverse-engineer from the given specifications, or you could embark into a joint exploration of the domain towards its first principles, which are the main concepts or assumptions that cannot be deduced from anything else.
Join Cyrille on this topic to find out how it can help your most challenging digital initiatives!
Hexagonal at Scale, with DDD and microservices! - Voxxed Days microservices 2...Cyrille Martraire
The document discusses domain-driven design (DDD) and microservices architecture. It provides examples of how to define boundaries between microservices using DDD principles like bounded contexts. The key points are:
- Microservices should be defined based on sub-domains or bounded contexts from DDD rather than arbitrary technical or data boundaries.
- Bounded contexts that represent different sub-domains will likely need to evolve independently and have different feature requests over time, making them good candidates for separation into distinct microservices.
- While separating microservices reduces coupling, it can lead to some data duplication between service boundaries. This tradeoff of reduced coupling versus increased redundancy is acceptable when partitioning by domain.
1) The document discusses the importance of bounded contexts in software design, particularly for microservices. It notes that bounded contexts allow separating a domain into sub-domains or contexts that each have their own model.
2) The document uses the example of how Amazon might model a book for different purposes like catalog, shipping, etc. It argues that having separate models per context avoids duplication and allows independent evolution of the sub-domains.
3) It provides some heuristics for identifying bounded contexts, such as by sub-domain, common changes, mental consensus of stakeholders, and clustering of functions and data. The document emphasizes that bounded contexts promote loose coupling and independence between contexts.
As developers we are often explained the business domain in a way that is corrupted by implementation concerns or past constraints. This is harmful. To achieve better domain models, we often have to reverse-engineer. Alternatively, we can also explore the domain from its first principles, which are the main concepts or assumptions that cannot be deduced from anything else.
Reaching for first principles takes more mental energy, but is also the key to more radical innovations beyond small incremental evolutions. It also turns domain modeling into a fun puzzle to solve.
Through examples you will discover how domains can be deconstructed towards their essential first principles, in order to reconstruct sharp domain models.
DDD is often misinterpreted in so many ways. Many teams focus only on the tactical patterns, or even consider repositories as mere glorified DAO's and forget about all the other concepts that really matter: the focus on the business domain, modeling in code, and the concept of Bounded Contexts.
In this talk for junior and senior developers alike, we'll clarify the few most important building blocks of DDD. We will also illustrate how practicing DDD actually looks like. This talk is the perfect opportunity to get started on DDD on solid grounds!
Les effets inattendus du passage en Features Teams à grande échelle -ScrumDay...Cyrille Martraire
En partant d’un legacy de 150 applications qui peinait à livrer chaque trimestre, 3 ans de transformation ont permis à notre département de 150 personnes de réduire ses coûts de 30% tout en livrant de la valeur en continu. Découvrez dans ce retour d'expérience les actions entreprises et tous leurs effets inattendus.
Video disponible sur Infoq.fr : https://www.infoq.com/fr/presentations/effets-inattendus-passage-features-teams-grande-echelle
You have to deliver ambitious new features but your codebase is a huge mess of legacy technologies, with no test?
It is very tempting to throw it all away and rewrite everything from scratch, but is it wise when you consider the associated cost, risk and delayed time-to-market?
Through an experience report, we'll show a "Strangler Application" strategy where only carefully selected areas of legacy code are rewritten. Agile development techniques like BDD or TDD remain necessary, with some adjustments.
We'll also describe step by step the overall thinking process you can use to deal with large legacy code bases efficiently.
First presented at Agile France 2013, and in countless Brown Bag Lunches since, a best-seller!
Video (In French) here: http://www.infoq.com/fr/presentations/code-legacy
You probably can't imagine that Monoids (not monads) are so simple maths creatures that you can understand them in just a few minutes.
You probably can't imagine that Monoids (not monads) are so simple maths creatures that you can understand them in just a few minutes.
But you probably don't imagine either that they can help you craft elegant and powerful domain models that scale very well.
Through various examples, we will have a closer look at monoids used for domain modeling in a style that mixes the best of DDD and FP. Even in languages like Java or C#, this talk will influence your coding style forever!
'More entertaining and educational explanation of Monoids I've heard' - Martin Thompson, DDD exchange London 2014.
See more at http://skillsmatter.com/conferences/1880-ddd-exchange-nyc-2014#program
Domain-Driven Design (DDD) and Functional Programming (FP) have a lot of good things in common: DDD has borrowed many ideas from the FP community, and both share a common inspiration on established formalisms like maths.
Even in non functional languages like Java or C#, this combined set of practices from DDD, OO and FP helps craft simple and powerful code that reads well, that is very easy to test, that composes well and that can somehow describe itself.
We will have a closer look at some of these ideas, in the context of domain models inspired from real-world projects. From value objects and DSL to abstract algebra creatures like monoids and friends, we will show how all that translates into beautiful code that may influence your coding style!
Watch the video online: http://vimeo.com/79181633
Even in an agile world, specifications often go too far and describe solutions with too much details; all these premature decisions constraint the implementation and remove opportunities. There is a remedy: refactoring the specs, even before refactoring the code.
In the TDD cycle, refactoring is the art of restructuring the code to make it simpler, without changing its behavior at runtime. A key part of refactoring is to recognize and extract duplications.
Refactoring is very useful at the code level, and it is even more powerful when applied during business analysis or functional architecture. We will show how the practice of refactoring directly "at the business domain level" can simplify the problem, and therefore the resulting implementation code, by orders of magnitude. This means much less code to write, to test and to maintain, and much less defects as a result.
We will introduce 5 patterns on how to refactor at the business-domain level, such as "Make It Systematic" and "Degenerate Case". We will also explain some limits and the required mindset.
This approach of refactoring has been used on several real-world projects and is derived in particular from DDD and from Specification by Example.
I T.A.K.E. talk: "When DDD meets FP, good things happen"Cyrille Martraire
Domain-Driven Design (DDD) and Functional Programming (FP) have a lot of good things in common: DDD has borrowed many ideas from the FP community, and both share a common inspiration on established formalisms like maths.
For the software developer, the result is a style of code that mixes the best of DDD, OO and FP. Even in non functional languages like Java or C#, this combined set of practices helps craft simple and powerful code that reads well and that is very easy to test.
In this talk we will have a closer look at some of these ideas, in the context of domain models inspired from real-world projects. From basic FP hygiene like immutability and closure of operations to more mathematical inspirations from abstract algebra like monoids, we will show how all that translates into beautiful code.
WARNING: This may influence your coding style…
This talk was presented on the first day of I T.A.K.E. 2013 at Bucharest http://itakeunconf.com/
A software editor in finance was facing the challenge to extend substantially the capabilities of its main application, despite 20 years of legacy in multiple technologies. In this talk, Cyrille Martraire will report on how DDD has been applied to capture deep models of the domain, within bounded contexts that emerged in the course of the project, and how DDD also helped to build a strategy for dealing with the legacy code.
The video is available on Skillsmatter website: http://skillsmatter.com/podcast/design-architecture/applying-ddd-legacy-app
Tour d'horizon de Domain-Driven Design Avril 2012 autour d'un retour d'expéri...Cyrille Martraire
Vous avez entendu parler de Domain-Driven Design (DDD) et vous voulez en savoir plus ?
Nous vous offrons un tour d'horizon de concepts importants de DDD et leur application en pratique, avec des retours d'un projet récent.
Vidéo de la présentation disponible : http://www.dailymotion.com/video/xq62pf_aroll-fterwork-du-11-avril-domain-driven-design_tech
UI5con 2024 - Bring Your Own Design SystemPeter Muessig
How do you combine the OpenUI5/SAPUI5 programming model with a design system that makes its controls available as Web Components? Since OpenUI5/SAPUI5 1.120, the framework supports the integration of any Web Components. This makes it possible, for example, to natively embed own Web Components of your design system which are created with Stencil. The integration embeds the Web Components in a way that they can be used naturally in XMLViews, like with standard UI5 controls, and can be bound with data binding. Learn how you can also make use of the Web Components base class in OpenUI5/SAPUI5 to also integrate your Web Components and get inspired by the solution to generate a custom UI5 library providing the Web Components control wrappers for the native ones.
Measures in SQL (SIGMOD 2024, Santiago, Chile)Julian Hyde
SQL has attained widespread adoption, but Business Intelligence tools still use their own higher level languages based upon a multidimensional paradigm. Composable calculations are what is missing from SQL, and we propose a new kind of column, called a measure, that attaches a calculation to a table. Like regular tables, tables with measures are composable and closed when used in queries.
SQL-with-measures has the power, conciseness and reusability of multidimensional languages but retains SQL semantics. Measure invocations can be expanded in place to simple, clear SQL.
To define the evaluation semantics for measures, we introduce context-sensitive expressions (a way to evaluate multidimensional expressions that is consistent with existing SQL semantics), a concept called evaluation context, and several operations for setting and modifying the evaluation context.
A talk at SIGMOD, June 9–15, 2024, Santiago, Chile
Authors: Julian Hyde (Google) and John Fremlin (Google)
https://doi.org/10.1145/3626246.3653374
Malibou Pitch Deck For Its €3M Seed Roundsjcobrien
French start-up Malibou raised a €3 million Seed Round to develop its payroll and human resources
management platform for VSEs and SMEs. The financing round was led by investors Breega, Y Combinator, and FCVC.
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
E-commerce Development Services- Hornet DynamicsHornet Dynamics
For any business hoping to succeed in the digital age, having a strong online presence is crucial. We offer Ecommerce Development Services that are customized according to your business requirements and client preferences, enabling you to create a dynamic, safe, and user-friendly online store.
SOCRadar's Aviation Industry Q1 Incident Report is out now!
The aviation industry has always been a prime target for cybercriminals due to its critical infrastructure and high stakes. In the first quarter of 2024, the sector faced an alarming surge in cybersecurity threats, revealing its vulnerabilities and the relentless sophistication of cyber attackers.
SOCRadar’s Aviation Industry, Quarterly Incident Report, provides an in-depth analysis of these threats, detected and examined through our extensive monitoring of hacker forums, Telegram channels, and dark web platforms.
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...XfilesPro
Wondering how X-Sign gained popularity in a quick time span? This eSign functionality of XfilesPro DocuPrime has many advancements to offer for Salesforce users. Explore them now!
What to do when you have a perfect model for your software but you are constrained by an imperfect business model?
This talk explores the challenges of bringing modelling rigour to the business and strategy levels, and talking to your non-technical counterparts in the process.
42. Civil Case Type
<FiduciaryTypeCode>*
<JurisdictionalGroundsCode>
<ReliefTypeCode>
Domestic Case Type
<NoContactCode>*
<RequestToVacateCode>
Common Types
<AliasAlternateNameTypeCode>*
<CaseAssociationTypeCode>*
<CaseOfficialRoleText>*
<CaseParticipantRoleCode>*
<CauseOfActionCode>
<CourtEventTypeCode>
<EntityAssociationTypeCode>
<ErrorCode>* Juvenile Case Type
<DelinquentActApplicabilityCode>
<DelinquentActDegreeCode>
<DelinquentActSeverityCode>
<DelinquentActSpecialAllegationCode>
<DependencyAllegationCode>
<GuardianAssociationTypeCode>*
<PlacementTypeCode>
...
http://docs.oasis-open.org/legalxml-courtfiling/specs/ecf/v4.01/ecf-v4.01-spec/os/ecf-v4.01-spec-os.pdf
Electronic Court Filing Ver
OASIS Standard
23 May 2013
Specification URIs
This version:
http://docs.oasis-open.org/legalxml-courtfiling/specs/ecf/v4
os.doc (Authoritative)
http://docs.oasis-open.org/legalxml-courtfiling/specs/ecf/v4
os.html
http://docs.oasis-open.org/legalxml-courtfiling/specs/ecf/v4
os.pdf
Previous version:
http://www.oasis-open.org/committees/download.php/4564
Latest version:
http://docs.oasis-open.org/legalxml-courtfiling/specs/ecf/v4
(Authoritative)
http://docs.oasis-open.org/legalxml-courtfiling/specs/ecf/v4
http://docs.oasis-open.org/legalxml-courtfiling/specs/ecf/v4
Technical Committee:
OASIS LegalXML Electronic Court Filing TC
Chairs:
James Cabral (jcabral@mtgmc.com), MTG Management C
Jim Harris (jharris@ncsc.org), National Center for State Co
Editors:
Adam Angione (aangione@courthousenews.com), Courtho
James Cabral (jcabral@mtgmc.com), MTG Management C
Additional artifacts:
This prose specification is one component of a Work Produ
XML schemas:
http://docs.oasis-open.org/legalxml-courtfiling/specs/ec
43. 3.3 Outline
This high-level process model i
experience
For clarity, the whole process c
election, election, post election;
processes.
• Pre election
• Election (100)
• Candidates (200)
• Options (600)
• Voters (300)
• Election
• Voting (400)
• Post election
• Results (500)
• Audit
• Analysis
Some functions belong to the w
• Administration Interface
• Help Desk
http://docs.oasis-open.org/election/eml/v5.0/os/EML-Process-Data-Requirements-v5.0.html
Election Markup Language
154. "Given a
shopping basket which
is over the free shipping
limit, when I go to checkout
the basket, what should I see
on the screen?"
Liz Keogh: http://www.infoq.com/articles/pulling-power
155. "Oh… Shipping is FREE
with this order!"
Liz Keogh: http://www.infoq.com/articles/pulling-power
156. Got it!
Given a shopping basket which is
over the free shipping limit
When I go to checkout the basket
Then I am notified that "shipping
is FREE with this order"
162. Code ☛ Issues +
Questions
Perfect for better
questions for the next
interview!
#WIN
Greg Young codeanalysis
http://skillsmatter.com/podcast/design-architecture/mystery-ddd/js-4401
197. Knowledge of other domains
often introduces surprising
insights into a project […]
[…] things like core accounting
patterns crop up in places that
don't look like accounting on the
surface.
http://lizkeogh.com/2015/12/14/bdd-a-three-headed-monster/
- Liz Keogh
263. “If one group of people does
market research and makes
product decisions, and another
group that develops the
software, we have less
integrated understanding.”
— Symbiosis - A Provocation About Organizations
Michael Feathers, R7K Research & Conveyance
https://drive.google.com/file/d/0B8ZX1RoWHuiJRnppcERLNjdSV00/view