f you’re a software developer or architect who wants to play a more influential role in ensuring your software systems are optimised to support business goals, then you need to learn about the benefits and techniques of modern strategic domain-driven design.
Many people think that DDD is about software design patterns, but that’s only a small part, and the least important part of DDD. In fact, Eric Evans wishes he’d focused more on the strategic aspects of DDD in his famous book (Domain-Driven Design: Tackling Complexity in the Heart of Software) and pushed the tactical coding patterns to the back!
Strategic domain-driven design is about truly understanding the business domain. It involves collaboratively modelling business processes using advanced modelling techniques, like Event Storming and Domain Storytelling, with domain experts on an ongoing basis.
One of the core outcomes of strategic DDD is identifying cohesive modules, known as bounded context. Bounded contexts help you to create a maintainable, comprehensible codebase by isolating dependencies and delineating concepts that reference different classes of business value.
In this talk, you’ll see many of the most effective bounded context design heuristics, recurring patterns in the wild, and you’ll learn how to facilitate those vital modelling sessions so you can lead the adoption of strategic DDD in your organisation.
More details:
https://confengine.com/agile-india-2019/proposal/8100/strategic-domain-driven-design
Conference link: https://2019.agileindia.org
I've spent the last years modelling complex businesses and Software Architectures with EventStorming. The original recipe evolved a lot from the initial one. This is EventStorming state of the art.
The domain model is an abstraction of the problem domain that your system supports. It contains the objects and operations that are crucial to your system and its users. Therefore the design of the domain model deserves the utmost care and attention. In this session you will be introduced to Domain-Driven Design and you will learn how to put Domain-Driven Design (DDD) into practice. We will explore how to apply DDD on tactical level to design a rich domain model that encapsulates behaviour, protects its invariants and can be tested in isolation from its runtime environment
Explain Domain-Driven Design, its main concepts and tools, and the Event Storming practice to highlight the importance of a good design and empower a team to start using it progressively.
Modelling a complex domain with Domain-Driven DesignNaeem Sarfraz
Domain-Driven Design is an approach to modelling business complexity explicitly in your software. This deck of slides runs through the key concepts focusing on both the strategic and tactical aspects of DDD.
Domain Driven Design - Strategic Patterns and MicroservicesRadosław Maziarka
Presentation describes Domain Driven Design - approach to create applications driven by business domain. I show how to split your monolith base on DDD strategic patterns.
Domain Driven Design (DDD) is a topic that's been gaining a lot of popularity in both the Java and .NET camps recently. Entities, value types, repositories, bounded contexts and anti-corruption layers -- find out what all the buzz is about, and how establishing a domain model can help you combat complexity in your code.
Richard Dingwall is a .NET developer and blogger with a passion for architecture and maintainable code.
He is currently working at Provoke Solutions as lead developer on a six-month project introducing test-driven development (TDD) and domain-driven design (DDD) to a large ASP.NET ERP system.
An hour-long talk given at Wellington .NET user group, Sept 23 2009.
There's another talk about Clean Architecture, SOLID, and our approach at InfoJobs. If you need the slides, don't hesitate to fork https://github.com/schibsted-android-training/workshop-5
A Practical Guide to Domain Driven Design: Presentation Slidesthinkddd
Tonight I presented on Domain Driven Design to the Alt.Net group in Sydney at the invite of Richard Banks.
As a follow up, attached are the slides I used, feel free to distribute and use on the Creative Commons Licence
Great Technical Architects Must Be Great Organisation ArchitectsNick Tune
When we make software architecture decisions we are implicitly making choices about the design of our organisations. It's time to realise that software architecture is sociotechnical architecture.
Domain-Driven Design and particularly bounded contexts are a powerful organisation design tool in the modern era where high-performance organisations are practicing continuous discovery and delivery.
I've spent the last years modelling complex businesses and Software Architectures with EventStorming. The original recipe evolved a lot from the initial one. This is EventStorming state of the art.
The domain model is an abstraction of the problem domain that your system supports. It contains the objects and operations that are crucial to your system and its users. Therefore the design of the domain model deserves the utmost care and attention. In this session you will be introduced to Domain-Driven Design and you will learn how to put Domain-Driven Design (DDD) into practice. We will explore how to apply DDD on tactical level to design a rich domain model that encapsulates behaviour, protects its invariants and can be tested in isolation from its runtime environment
Explain Domain-Driven Design, its main concepts and tools, and the Event Storming practice to highlight the importance of a good design and empower a team to start using it progressively.
Modelling a complex domain with Domain-Driven DesignNaeem Sarfraz
Domain-Driven Design is an approach to modelling business complexity explicitly in your software. This deck of slides runs through the key concepts focusing on both the strategic and tactical aspects of DDD.
Domain Driven Design - Strategic Patterns and MicroservicesRadosław Maziarka
Presentation describes Domain Driven Design - approach to create applications driven by business domain. I show how to split your monolith base on DDD strategic patterns.
Domain Driven Design (DDD) is a topic that's been gaining a lot of popularity in both the Java and .NET camps recently. Entities, value types, repositories, bounded contexts and anti-corruption layers -- find out what all the buzz is about, and how establishing a domain model can help you combat complexity in your code.
Richard Dingwall is a .NET developer and blogger with a passion for architecture and maintainable code.
He is currently working at Provoke Solutions as lead developer on a six-month project introducing test-driven development (TDD) and domain-driven design (DDD) to a large ASP.NET ERP system.
An hour-long talk given at Wellington .NET user group, Sept 23 2009.
There's another talk about Clean Architecture, SOLID, and our approach at InfoJobs. If you need the slides, don't hesitate to fork https://github.com/schibsted-android-training/workshop-5
A Practical Guide to Domain Driven Design: Presentation Slidesthinkddd
Tonight I presented on Domain Driven Design to the Alt.Net group in Sydney at the invite of Richard Banks.
As a follow up, attached are the slides I used, feel free to distribute and use on the Creative Commons Licence
Great Technical Architects Must Be Great Organisation ArchitectsNick Tune
When we make software architecture decisions we are implicitly making choices about the design of our organisations. It's time to realise that software architecture is sociotechnical architecture.
Domain-Driven Design and particularly bounded contexts are a powerful organisation design tool in the modern era where high-performance organisations are practicing continuous discovery and delivery.
Unlocking Engineering Observability with advanced IT analyticssource{d}
In this webinar, source{d} CEO Eiso Kant will introduce source{d} Enterprise Edition (EE), the data platform for the software development life cycle (SDLC), With built-in visualization, management capabilities and advanced analytic functions, source{d} EE provide IT executives with visibility into their software portfolio, engineering processes and workforce.
Learn how source{d} EE can help everyone in the IT organization to quickly get access to customizable analytic solutions for IT modernization and software compliance, cloud-native and DevOps transformation, engineering effectiveness, and talent management.
The Sociotechnical Organisation Design Playbook - Nick Tune - Codemotion Amst...Codemotion
We know that functional silos are bad and we should be moving towards autonomous teams aligned with business capabilities. But what are business capabilities and how do we find them? In this talk you will learn about Sociotechnical Organisation Design patterns. Patterns for designing teams and the software systems they maintain. You will learn about plays to optimise your organisation design and software architecture for the specific needs of your business, whether your goal is delivery speed, efficiency, user experience, or something else.
Coevolving Organisational and Technical BoundariesNick Tune
A shared language of the organisation design patterns and plays will enable all organisations optimise for their own needs rather than just copying the Spotify model.
Team design and software architecture are heavily interdependent. Learn about the different types of patterns and you'll design better human and technical systems.
"Different software evolutions from Start till Release in PHP product" Oleksa...Fwdays
Ця розповідь розкриє підходи для вирішення багатьох проблем в PHP проєктах через: None-Breaking change development підхід, cross-stack контракти, Trunk Based development, еволюція з Polyrepo до Monorepo з компонентами на різних технологіях, Boilerplat’и компонентів, різні Architecture View, Continuous Testing & Quality, Infrastructure View, Infrastructure as a code як основний інструмент.
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...Alexandr Savchenko
https://fwdays.com/en/event/php-fwdays-2020
All of us think about many questions when we start a project, when we already have a product and when we release it. Here are some of them: which architecture and infrastructure to choose? what should be the repository structure? how to make the right evolution from one application to 100 microservices with success product release? how to distribute cross-stack commands as a whole? what development practices to use?
This story will expose approaches to solving these and many other problems in PHP projects through: None-Breaking change development approach, Cross-stack contacts, Trunk Based development, evolution from Polyrepo to Monorepo with components on different technologies, Boilerplates for components, different Architecture Views, Continuous Testing & Quality, Infrastructure View, Infrastructure as a code as the main tool.
This topic will appeal to everyone - from Software Developer to Architect, as many Tips & Tricks will be revealed.
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...Nuxeo
In today’s world, where many businesses are struggling to simply survive COVID-19, some companies are thriving in this environment and accelerating their digital strategies, not by necessity, but as an opportunity to seize competitive advantage.
In this webinar, we will explore how modern content platforms play a key role in enabling digital transformation and how new trends and capabilities — like Cloud, Low-Code and Artificial Intelligence — are enabling some of today’s largest enterprises to accelerate their transformation initiatives. Our webinar will feature two different case studies where leading enterprises are leveraging these technologies as the digital foundation for their future businesses.
In this webinar, you will learn:
- How modern content platforms are tearing down information silos to deliver data and content when, where, and how it is needed
- How modern content platforms take unique advantage of cloud infrastructures
- Why low-code application development is critical to business agility
- What AI capabilities are available today that are completely transforming how customers work with data and content
- How a large US insurer is using Nuxeo, Guidewire, and Smart Communications, all on AWS, to modernize their claims architecture
- And, how a $13B global apparel company is using Nuxeo and its Insight service (AI/ML) to institute a wholly digital supply chain
BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...BA and Beyond
Good software is not only error-free software, but more importantly software that does what the customer needs. This seems obvious, but in reality, the communication gap between business professionals and software development teams still causes a loss of time, money and good will.
Behaviour Driven Development (BDD) tries to bridge the gap between the different stakeholders.
At UCLL, we started a research project to promote this methodology with Belgian companies. We are strong believers and try to find out why BDD it is not more widely used. The goal is to develop an ‘implementation model’, a set of best practices, do’s and don’ts, helping companies to successfully distill high-quality specifications that can guide the development and testing process from the start of a project.
We would love to share our experiences, talk about the problems we come across, and discuss the way we handle them.
[2015/2016] Software systems engineering PRINCIPLESIvano Malavolta
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
MongoDB World 2019: Building Flexible and Secure Customer Applications with M...MongoDB
For enterprise software companies like Unqork, the NoSQL structure of MongoDB Atlas is a critical part of their infrastructure and business. This presentation will outline how MongoDB Atlas supports Unqork’s no-code, drag-and-drop infrastructure by providing a flexible and secure data environment.
Design Teams are a Design Exercise by Phillip Joe at #AgileIndia2019Agile India
They say that design is a team sport, and if your team operates in an agile/lean environment, strength and flexibility are more crucial than ever.
An effective design team requires a multitude of perse skills, and it's impossible for any one individual to possess them all.
So, how do you go about putting together a team that’s balanced, powerful and can work effectively with other teams? What is the right mixture of junior and senior practitioners?
What skills, soft and hard, do you need to design and deliver outstanding products and services that support meaningful outcomes?
In this workshop, we’ll take a look at (work through) how to assess the skills of our colleagues (as well as our own) to best shape and, inspire and lead a design team that works together (and stays together). A team where more experienced practitioners thrive and more junior ones are supported, mentored and enabled to grow, and where complementarity and teamwork are the foundations of success.
Finally, we will look at how to use the knowledge and techniques we’ve collected over the years to hire, motivate and keep design teams happy.
Bonus round: if you’re looking for work, what does a good team look like from the outside?
More details:
https://confengine.com/agile-india-2019/proposal/9327/design-teams-are-a-design-exercise
Conference link: https://2019.agileindia.org
Keeping hundreds of code repositories consistent, and staying sane by Vincent...Agile India
With the move to microservices architecture, a lot of teams end up managing dozens of code repositories (vs just a couple before), and some tasks that were done quickly manually are now becoming very time consuming : consistency of the repositories, and eventually of your platform, gets impacted, making it more and more difficult to manage.
Surely, there must be some tools existing to take care of boring tasks like finding where a given dependency is used, and upgrade it automatically (this is just an example)... Well actually, we didn't find anything, so we implemented them ourselves and made them available for everyone !
More details:
https://confengine.com/agile-india-2019/proposal/7873/keeping-hundreds-of-code-repositories-consistent-and-staying-sane
Conference link: https://2019.agileindia.org
The End is Nigh! Signs of Transformation Apocalypse by Alex Sloley at #AgileI...Agile India
How can an Agile Coach figure out when an Agile “Transformation” is going wrong? Are there signs that they might see, heed, and take action upon? Of course, there are!
Hindsight is 20/20, but in the moment, these warning signs can be hard to see. Let’s explore some of the more common, and frightening, warning signs that your Agile “Transformation” might be exhibiting. We will discuss transformation provider types, frameworks, keywords, and other anti-patterns that might be signs that THE END IS NIGH.
This session will review common themes and help familiarize you with the warning signs. Armed with this new knowledge, you will be able to plan as appropriate, to help navigate your organization through potential impending doom.
More details:
https://confengine.com/agile-india-2019/proposal/7880/the-end-is-nigh-signs-of-transformation-apocalypse
Conference link: https://2019.agileindia.org
Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019Agile India
Writing and maintaining a suite of acceptance tests that can give you a high level of confidence in the behaviour and configuration of your system is a complex task. In this session, Dave will describe approaches to acceptance testing that allow teams to:
work quickly and effectively
build excellent functional coverage for complex enterprise-scale systems
manage and maintain those tests in the face of change, and of evolution in both the codebase and the understanding of the business problem.
This workshop will answer the following questions, and more:
How do you fail fast?
How do you make your testing scalable?
How do you isolate test cases from one-another?
How do you maintain a working body of tests when you radically change the interface to your system?
More details:
https://confengine.com/agile-india-2019/proposal/8539/acceptance-testing-for-continuous-delivery
Conference link: https://2019.agileindia.org
All track development - (or how we dropped the collective ego and created a p...Agile India
When we moved to a dual-track delivery approach for our Bank of New Zealand Digital product teams, it felt more like Dueling tracks. People knew why we were doing it but were confused about how to link discovery and delivery. Who should do what, when and how? It became a clash of collective egos, stepping on each other’s areas of expertise. This is about how we brought clarity, alignment and direction to those teams by creating a Product Management playbook and how it had a profound effect on how we work and communicate with one other.
More details:
https://confengine.com/agile-india-2019/proposal/8282/all-track-development-or-how-we-dropped-the-collective-ego-and-created-a-product-playbook
Conference link: https://2019.agileindia.org
Open Salaries: from employees to managing partners by Alexey Voronin at #Agil...Agile India
Do you want to hire the best? I suppose yes. Do you want them to grow, to improve their skills continuously and to develop your company? Hope so? But what happens if people grow quicker than the company itself? That might be an issue and you need serious changes in your company to keep employees interested to stay, to grow and to develop your company. We are using open salaries, money transparency and an advice process in ScrumTrek company to retain interest, to have a new source of enthusiasm and motivation of our employees. We started our journey 2.5 years ago and we are happy to share how it feels from inside.
More details:
https://confengine.com/agile-india-2019/proposal/8090/open-salaries-from-employees-to-managing-partners
Conference link: https://2019.agileindia.org
Scaling Enterprise Agility amidst Cross Border Merger by Rocky Woestenborghs ...Agile India
ING has been a frontrunner in the banking industry for more than a century and aims to become 'one global ING' that delivers a consistent customer experience to all its customers across the globe. The bank has taken the first big step towards this ambition by uniting its two biggest countries – the Netherlands and Belgium. The project aims to create a single operating model across the border, with simpler, standardized processes and integrated activities that will improve operational efficiency and agility.
While everyone acknowledges that mergers and acquisitions are an essential part of scaling an organization's impact, however, these are usually executed in a very top-down, waterfall-ish approach. Typically such initiatives don't embody any agile values or mindset. As a leader driving this change, Rocky will narrate the story of merging 2 agile organizations with more than 8000 people's workforce. He will share his experience on how the two countries are joining forces, pooling talent plus creativity to deliver one set of customer journeys on an integrated platform, that will result in a truly empowering customer experience.
More details:
https://confengine.com/agile-india-2019/proposal/9683/scaling-enterprise-agility-amidst-cross-border-merger
Conference link: https://2019.agileindia.org
InfraOps Agility - A Sysad's Perspective by Dushyanth Harinath at #AgileIndia...Agile India
Lot has changed in the last 20 yrs. We have evolved from handcrafted server deployments to managing tens of thousands of devices programmatically, from monolithic architectures to distributed async-microservices, from waterfall to continuous deployment, from siloed culture to collaborative DevOps culture and from hierarchical resource management to outcome-oriented structures.
In this talk, I will review the key shifts in technology, culture, and people during the last 20 years that enabled us to stand where we are. I will share my experience on why many teams struggle to keep up and how leaders in those organisations can help such teams achieve InfraOps Agility.
More details:
https://confengine.com/agile-india-2019/proposal/9631/infraops-agility-a-sysads-perspective
Conference link: https://2019.agileindia.org
Going for 10X: Building teams in a Hyper-Competitive Market by Jacob Singh at...Agile India
Grofers doubled its revenue every 6 months for the last 2 years. In January of 2019, we did it in one month. During this time, we've gone through 2 funding crunches, brutal government regulation changes and the entrance of two behemoths (AMZ and WALL) as direct competitors.
This talk will explore how to optimize the organization towards big bets, and how we have created a culture of risk taking, managed chaos and rapid alignment to push through changes like:
The 2nd largest membership program in India in 2 months
A sale we set up in 2 weeks that doubled our revenue
A logistic innovation which halved our cost AND errors within 3 months
Launched 600 private label products in 6 months
If you struggle to get your teams to see the bigger picture, or work together on "the most important" thing, maybe this will be helpful for you.
More details:
https://confengine.com/agile-india-2019/proposal/9545/going-for-10x-building-teams-in-a-hyper-competitive-market
Conference link: https://2019.agileindia.org
Principle 11 needs to go! by Ken France at #AgileIndia2019Agile India
The Principles in the Agile Manifesto provide us guidance on how to have an Agile mindset in our organizations. Principle 11 within the Manifesto states "The best architectures, requirements, and designs emerge from self-organizing teams". While this works well for autonomous teams, it proves to be challenging for large organizations with dozens or even hundreds of teams who need to share common architectures and design patterns.
This talk will present a case study of a large retail organization and explore their journey from a highly centralized/governance-based technology organization to a more distributed/collaborative one and explore their lessons learned and success/failure patterns along the way. In the end, we'll answer the question about whether or not Principle 11 scales!
More details:
https://confengine.com/agile-india-2019/proposal/9281/principle-11-needs-to-go
Conference link: https://2019.agileindia.org
Becoming the Catalyst - The Spark of Change that Will Move Your Team Forward ...Agile India
Many of the positive changes we will make with our teams will start with one person's insight. Don't leave that inspiration to chance. Set yourself up to make that insight more likely and learn what to do when you have it that will help you help your team grow.
It all begins with ourselves. More than we would like to believe, people tend to seek stability. How do we create the right environment within ourselves to be open to change, to realize there is room for improvement? How do we do this in a way that our primitive brain doesn't find threatening? In order to become the catalyst, we first need to create an environment in which we can do the same thing to ourselves. That is much harder than it sounds. Being able to do so requires the right mindset, but how do you develop it? How do you recognize that it is needed? How do you open yourself up to change, embrace it, and incorporate experimentation into your own practice?
Having insight is not enough. While an insight might start with one person, change is a team activity. Once you recognize an opportunity, how do you share your insight with your team in a way that will be embraced instead of rejected? Do you understand the biases and fears that might cause resistance to your idea? Just as importantly, how do you time your proposals so that they have the highest likelihood of success?
In this talk, I will talk about 6 things that are necessary for you to do to create the conditions where change is possible. I'll share anecdotes from my own experience promoting change within startups, agencies, and big companies. Drawn from diverse sources, such as BJ Fogg, Carol Dweck, Jocko Willink, and Ray Dalio, these 6 characteristics will help you effect change effectively.
More details:
https://confengine.com/agile-india-2019/proposal/9253/becoming-the-catalyst-the-spark-of-change-that-will-move-your-team-forward
Conference link: https://2019.agileindia.org
Branding within your UX: The secret to creating loyal customers by Bill Beard...Agile India
Why do certain products create passionate users while others struggle to gain traction? Is it Design? Usability? Simplicity? No. It’s branding. In today’s crowded marketplace, making a product that works--or even works well--is no longer good enough. In this talk, we’ll discuss the basics of branding and how branding works in conjunction with your User Experience to establish an emotional connection with your users so you can turn them into loyal customers and brand ambassadors.
This talk is for anyone involved or interested in UX, at any experience level, including creative directors, designers, writers, executives, and product managers. This talk will cover the role of emotion within the decision-making process and how influencing a user’s emotions during a product experience translates to brand loyalty. I’ll explain the fundamentals and purpose behind branding, why it has changed, and why we need to focus on it more when designing experiences.
More details:
https://confengine.com/agile-india-2019/proposal/8642/branding-within-your-ux-the-secret-to-creating-loyal-customers
Conference link: https://2019.agileindia.org
Build Agile Organization: Lessons Learned from Aikido by Marc Gong at #AgileI...Agile India
While Agile organization started to appear in last 20 years, the key principles for how we organize is nothing new and have been with us for thousands of years. In this session, I am taking a martial art "Aikido" (Japanese: 合気道) as example and going through the key principles in leadership, learning and transformation approaches. In these principles, learning Aikido are very similar to build Agile organization. Leaders are practitioners and teachers. Learning is via practices and peer learning. Changes are done in people body and mindset. We need to learn the rules, break away from the rules and ultimately create our own rules fitting ourselves and organization (Shu-Ha-Ri). Aikido is a way of life, so Agile is.
More details:
https://confengine.com/agile-india-2019/proposal/8623/build-agile-organization-lessons-learned-from-aikido
Conference link: https://2019.agileindia.org
Security considerations while deploying Containerized Applications by Neepend...Agile India
Congratulations on deploying applications on Docker and/or Kubernetes; Nowthe next thing that you would worry, is security and would have following questions :
Are my images update to date ?
Have I given right access to users ?
Are there any security loop-holes in application deployment ?
How I can audit environment/application to be security compliant ?
Am I running the cluster in right configuration ?
.... and many more
More details:
https://confengine.com/agile-india-2019/proposal/8551/security-considerations-while-deploying-containerized-applications
Conference link: https://2019.agileindia.org
Cloud Native in the US Federal Government by Jez Humble at #AgileIndia2019Agile India
Going cloud native in a highly regulated context presents challenges of its own. In this talk, Jez Humble will share with you the platform created by the cloud.gov team at 18F, and the benefits it brought to federal agencies seeking to use the cloud.
More details:
https://confengine.com/agile-india-2019/proposal/8525/cloud-native-in-the-us-federal-government
Conference link: https://2019.agileindia.org
Building and Scaling High Performing Technology Organizations by Jez Humble a...Agile India
High performing organizations don't trade off quality, throughput, and reliability: they work to improve all of these and use their software delivery capability to drive organizational performance. In this talk, Jez presents the results from DevOps Research and Assessment's five-year research program, including how continuous delivery and good architecture produce higher software delivery performance, and how to measure culture and its impact on IT and organizational culture. They explain the importance of knowing how (and what) to measure so you focus on what’s important and communicate progress to peers, leaders, and stakeholders. Great outcomes don’t realize themselves, after all, and having the right metrics gives us the data we need to keep getting better at building, delivering, and operating software systems.
More details:
https://confengine.com/agile-india-2019/proposal/8524/building-and-scaling-high-performing-technology-organizations
Conference link: https://2019.agileindia.org
Reactive Systems by Dave Farley at #AgileIndia2019Agile India
21st century problems cannot be solved with 20th century software architectures. So why is the starting point for so many projects built on the assumption of a simplistic monolithic, three-layer architecture sat on top of a RDBMS? Hardware has progressed. It has changed many of the assumptions that such architectures were built upon. Modern systems are distributed, deal with massive throughput of data and transactions. Users expect 24/7 service.
The Reactive Manifesto describes what it takes to build systems that meet these demands. Such systems are Responsive, Resilient, Elastic and Message Driven. What does this mean in terms of software architecture and design? This presentation will introduce these ideas and describe how systems built on these principles work.
More details:
https://confengine.com/agile-india-2019/proposal/8536/reactive-systems
Conference link: https://2019.agileindia.org
Collaboration Contracts by Diane Zajac & Doc Norton at #AgileIndia2019Agile India
Not all team decisions need to be made by the entire team. There. Someone said it. In some cases, we can trust a single individual to make the decision because they have the most experience and insight. In other situations, we want a variety of interests and perspectives included to ensure a well-considered, unbiased decision. But how do we decide who and what and when?
Put down the RACI chart - there's a better way! A Collaboration Contract is a simple tool that allows team members to opt into conversations and decisions. With a Collaboration Contract, teams identify the decision makers, and through an open selection process, establish their desired level of autonomy. This is a not a decision-making tool, but a tool for assembling the decision making team with clear expectations and agreements.
Join Diane and Doc in this hands-on workshop where you will learn what it takes to run your own Collaboration Contract. Learn this powerful technique today and establish clearer decision making for your team tomorrow.
More details:
https://confengine.com/agile-india-2019/proposal/8523/collaboration-contracts
Conference link: https://2019.agileindia.org
Tuckman was wrong by Doc Norton at #AgileIndia2019Agile India
Stable Teams have long been a known and accepted leading practice in agile. And Tuckman's stages of group development proves the need for stable teams, right? But what if that's not correct? Doc posits that Tuckman's is actually a disproven theory that none-the-less mysteriously persists. What if, by stabilizing teams, we solved a completely different problem? And what if by de-stabilizing teams we could better solve other problems?
More details:
https://confengine.com/agile-india-2019/proposal/8521/tuckman-was-wrong
Conference link: https://2019.agileindia.org
7 Steps to Design, Build, and Scale an AI Product by Allie Miller at #AgileIn...Agile India
Despite widespread belief that AI will transform the way we do business, 82% of businesses are still in the investigation or non-adoptive stage of AI. This talk will explore the fundamental use cases in AI and how designers and engineers can be at the forefront of prioritizing AI/ML best practices. From user research to MVP iterations, we will explore the core differences between building an AI and non-AI product so that you can feel confident proposing or launching an AI project of your own.
More details:
https://confengine.com/agile-india-2019/proposal/8517/7-steps-to-design-build-and-scale-an-ai-product
Conference link: https://2019.agileindia.org
This presentation by Morris Kleiner (University of Minnesota), was made during the discussion “Competition and Regulation in Professions and Occupations” held at the Working Party No. 2 on Competition and Regulation on 10 June 2024. More papers and presentations on the topic can be found out at oe.cd/crps.
This presentation was uploaded with the author’s consent.
0x01 - Newton's Third Law: Static vs. Dynamic AbusersOWASP Beja
f you offer a service on the web, odds are that someone will abuse it. Be it an API, a SaaS, a PaaS, or even a static website, someone somewhere will try to figure out a way to use it to their own needs. In this talk we'll compare measures that are effective against static attackers and how to battle a dynamic attacker who adapts to your counter-measures.
About the Speaker
===============
Diogo Sousa, Engineering Manager @ Canonical
An opinionated individual with an interest in cryptography and its intersection with secure software development.
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...Orkestra
UIIN Conference, Madrid, 27-29 May 2024
James Wilson, Orkestra and Deusto Business School
Emily Wise, Lund University
Madeline Smith, The Glasgow School of Art
Acorn Recovery: Restore IT infra within minutesIP ServerOne
Introducing Acorn Recovery as a Service, a simple, fast, and secure managed disaster recovery (DRaaS) by IP ServerOne. A DR solution that helps restore your IT infra within minutes.
Have you ever wondered how search works while visiting an e-commerce site, internal website, or searching through other types of online resources? Look no further than this informative session on the ways that taxonomies help end-users navigate the internet! Hear from taxonomists and other information professionals who have first-hand experience creating and working with taxonomies that aid in navigation, search, and discovery across a range of disciplines.
4. ntcoding
“Can’t you just add a text box?”
Website
Digital Enterprise IT
Business
APIs
Data
APIs
Rules,
BPM,
ESB
Back
Office
Website
Website
5. ntcoding
“A loosely coupled software
architecture and org structure to
match” is a key predictor of:
1. Continuous Delivery Performance
2. Ability to scale org and increase
performance linearly
6. “
ntcoding
[In our study at Thoughtworks we
found] work takes an order of
magnitude longer when it leaves a
team.
— James Lewis (@boicy)
7. ntcoding
STRUCTURAL ISSUES ARE A TOP
HURDLE TO MEETING DIGITAL GOALS
https://www.mckinsey.com/business-functions/digital-mckinsey/our-insights/the-digital-tipping-point-mckinsey-global-survey-results
8. ntcoding
How do we design
sociotechnical systems
(software and teams) to
maximise iteration quality
and speed?
9. “
ntcoding
the key to incremental architecture is
to build on a framework that can
accommodate change… that
framework is the domain.… By
modeling the domain, you can more
easily handle changes to the domain
— Allen Holub (@allenholub)
11. ntcoding
“How hard can it be?”
https://segment.com/blog/goodbye-microservices/
Service boundaries
causing barriers
…This led to developers
complaining of their service being
blocked by tasks on other
services and refusing to help out
by working with these blocking
tasks…
15. ntcoding
IS TOMATO FRUIT OR VEGETABLE?
Tomato is a fruit!
Scientifically, it
matches the
botanical definition
of a fruit.
?
VegetablesFruits
🍏
🍌
🍓 🥕🥦
🥔
16. “
ntcoding
The U.S. Supreme Court ruled in 1893 in the
case Nix v. Hedden that tomatoes count as
vegetables — despite the botanical fact
that they're fruits.
...a tariff was put in place to protect domestic
vegetable growers by taxing imported
vegetables.
https://www.goodhousekeeping.com/home/gardening/a20705757/are-tomatoes-legally-a-vegetable/
18. ntcoding
DOMAIN MODELLING FUNDAMENTALS
1. Many ways to model every domain
2. ‘Obvious’ models can be wrong
3. Context defines utility of model
4. Language is contextual
19. ntcoding
STRATEGIC DOMAIN-DRIVEN DESIGN
Find bounded contexts - independent parts
of the domain.
Look for parts of the domain where
language has specialised meaning
(e.g. tomato) to identify bounded contexts.
27. ntcoding
EXPLORING BOUNDARIES WITH
EVENT STORMING
Alberto Brandolini: Discovering Bounded Contexts with Event Storming
Published in: DDD The First 15 Years (Leanpub)
33. ntcoding
Decouple high value and low
value parts of the system to
maximise iteration speed
where ROI potential is
greatest.
34. ntcoding
BOUNDED CONTEXT DESIGN HEURISTIC
2. ALIGN WITH VALUE
Tier 3
Products
(core)
Financial
Advice
(supportive) Payments
(generic)
35. ntcoding
BOUNDED CONTEXT DESIGN HEURISTIC
3. OPTIMISE FOR SOCIAL NEEDS
Design systems so that the people
building them are motivated and
productive.
✅ Purpose ✅ Autonomy ✅ Mastery
36. ntcoding
SOCIAL COMPLEXITY & COGNITIVE LOAD
If teams are too small, the chance of
dependencies between teams will be
greater.
If teams are too big, social complexity will
lead to burn out.
37. ntcoding
BOUNDED CONTEXT DESIGN HEURISTIC
4. RESPECT TECHNICAL CONSTRAINTS
DDD does not mean ignoring
technical concerns and creating
pretty models.
Technical concerns should influence
your bounded contexts.
39. ntcoding
BOUNDED CONTEXT DESIGN HEURISTIC
5. DON’T IGNORE THE UX
UI UIUI
API API API
UI
API API API
Greater autonomy can result in a fractured user experience
40. ntcoding
5 KEY HEURISTICS
1. Align with domain language
2. Align with business value
3. Optimise for social needs
4. Respect technical constraints
5. Don’t ignore the UX
41. ntcoding
STRATEGIC DESIGN SCORECARD
This is a hypothetical illustration. The scores will
differ in different domains and organisations.
Assess your bounded
contexts against the 5
primary criteria for defining
boundaries.
43. ntcoding
PATTERNS
Useful
Apply learnings from one
situation to another
A starting point
Develop analytical mindset to
identify design trade-offs in
any situation
A shared language for
discussing similar challenges
Dangerous
No two situations are ever
exactly the same
A complete solution
Develop lazy mindset of just
using what worked before
without thinking
We think we’re talking about
the same thing but we aren’t
56. ntcoding
BRAIN CONTEXT
• Sucks logic from other contexts
• Other contexts become tightly coupled
• High rate of co-change
• Teams coupled + politics
• Not always an anti-pattern
68. ntcoding
Bounded contexts will always
have dependencies.
Relationship patterns help us
choose the most effective
collaboration approaches.
69. ntcoding
CLASSIC DDD RELATIONSHIP PATTERNS
Shared Kernel Customer
Supplier
Open Host
Service
Conformist
OH
SK
C
S
🤝
Each pattern has technical and social/political characteristics
Anti-
corruption
Layer
ACL
70. ntcoding
MODERN RELATIONSHIP PATTERNS
1. Inner Sourcing (internal open source model)
2. People rotation (temporary move to another team)
3. Sub-teams (fluid smaller teams within larger team)
4. Partnership Patterns (ways to group teams)
5. Alliance Teams (temporary new teams)
74. ntcoding
ALLIANCE TEAMS
New ad platform
alliance
Campaign
Build
Campaign
Management
Temporary teams formed to solve a shared common goal
Campaign
Analytics