“I tested it how you told me to,” “Requirements say it's expected,” “I assumed it's fine” – these are the common phrases you hear when customer cases come up. Unfortunately, it is nothing unusual in our industry to be detached from customers' actual needs. As a result, teams regularly fail when they prioritize requirements over actual behaviour that the customers expect.
This problem of misaligned teams' focus is where Domain Driven Testing (DDT) comes into play. DDT helps developers to put themselves into the customers' shoes and see the product for what it is. This prioritization of the actual behaviour over the mere following of the requirements is what defines Domain Driven Testing.
In this talk, we discuss how knowledge of your company's domain (aka, the focus of your business) can improve your testing practices. We talk about Domain Driven Design techniques, Exploratory Testing, and other methods which emphasize software quality through customers' success. We touch bases on tools you can integrate into your system using Domain Driven Test Pyramid, and what common mistakes you should avoid when implementing Domain Driven Testing.
An Introduction to the World of User ResearchMethods
What is user? Why do we do it? How do we do it? User Research Consultants, Dr Jennifer Klatt and Ben Smith from Methods Digital (https://methodsdigital.co.uk/) have kindly put together this slide deck to take you through the basics.
Getting Involved: How to Embed and Manage Service Design in Large Organisatio...Service Design Network
Niels Corsten from Koos Service Design speaks at SDGC19 in Toronto.
'In this talk, I will be sharing the Service Design Maturity Model, a framework that gives structure and helps large organisations to implement and scale service design. I will elaborate on the different maturity stages and four identified factors that indicate the maturity of your organisation and serve as guidelines for further maturation. Using a range of real-world cases, we will share our thoughts on common barriers to maturation and share strategies on how to grow your company’s maturity.'
Become a member!
https://www.service-design-network.org
Follow us on Twitter: https://twitter.com/sdnetwork
Or on LinkedIn: https://www.linkedin.com/company/2933277
Like us on Facebook: https://www.facebook.com/ServiceDesignNetwork/
Behind-the-scenes on Instagram: https://www.instagram.com/servicedesignnetwork/
Do you want to write great User Stories that provide the vehicle for conversation and confirmation that we build the right thing? Do you struggle with splitting stories so that they still provide business value but can be accomplished within a fraction of your iteration? We will do a quick refresher on User Story formatting to include Acceptance Criteria. Additionally we will learn techniques for splitting stories in this interactive workshop.
Designers increasingly find themselves in leadership roles. They are so passionate about the work they do, but are not always prepared for the leadership role that they find themselves in. The good thing is that we can learn the qualities of an awesome creative leader, and it is within our control to change our behaviour accordingly. My talk will be useful for in-house design teams, entrepreneurs in start-ups and design agencies. It will help them understand what qualities they should adopt if they want to support teams in design, development and delivery. I have tapped into Designit and Wipros global network of 15 studios and spoken to other subject experts.
An Introduction to the World of User ResearchMethods
What is user? Why do we do it? How do we do it? User Research Consultants, Dr Jennifer Klatt and Ben Smith from Methods Digital (https://methodsdigital.co.uk/) have kindly put together this slide deck to take you through the basics.
Getting Involved: How to Embed and Manage Service Design in Large Organisatio...Service Design Network
Niels Corsten from Koos Service Design speaks at SDGC19 in Toronto.
'In this talk, I will be sharing the Service Design Maturity Model, a framework that gives structure and helps large organisations to implement and scale service design. I will elaborate on the different maturity stages and four identified factors that indicate the maturity of your organisation and serve as guidelines for further maturation. Using a range of real-world cases, we will share our thoughts on common barriers to maturation and share strategies on how to grow your company’s maturity.'
Become a member!
https://www.service-design-network.org
Follow us on Twitter: https://twitter.com/sdnetwork
Or on LinkedIn: https://www.linkedin.com/company/2933277
Like us on Facebook: https://www.facebook.com/ServiceDesignNetwork/
Behind-the-scenes on Instagram: https://www.instagram.com/servicedesignnetwork/
Do you want to write great User Stories that provide the vehicle for conversation and confirmation that we build the right thing? Do you struggle with splitting stories so that they still provide business value but can be accomplished within a fraction of your iteration? We will do a quick refresher on User Story formatting to include Acceptance Criteria. Additionally we will learn techniques for splitting stories in this interactive workshop.
Designers increasingly find themselves in leadership roles. They are so passionate about the work they do, but are not always prepared for the leadership role that they find themselves in. The good thing is that we can learn the qualities of an awesome creative leader, and it is within our control to change our behaviour accordingly. My talk will be useful for in-house design teams, entrepreneurs in start-ups and design agencies. It will help them understand what qualities they should adopt if they want to support teams in design, development and delivery. I have tapped into Designit and Wipros global network of 15 studios and spoken to other subject experts.
Shaping and implementing a DesignOps functionMatt Gottschalk
Matt Gottschalk and Ben Franck, both UX & DesignOps Managers at Centrica, will share the journey they have been on since setting up their DesignOps function at the beginning of 2018. They will discuss the types of problems that come with managing and supporting a de-centralised design team of 40+ User Experience designers, how they defined the role and how having a design operations function enabled them to streamline processes and drive efficiency and consistency.
ATDD - Acceptance Test Driven DevelopmentNaresh Jain
Acceptance test driven development tutorial. This tutorial explains how to take user stories and convert them into working software. Details about Acceptance Criteria and Acceptance tests using FitNesse and FitLibrary are described in this presentation. Also Patterns and Anti-Patterns associated with this are described in this presentation.
Discovery Phase [What is it and why is it important?]Stfalcon
Nowadays it’s unreasonable to start a software development project without a preliminary comprehensive analysis. Discovery phase should become an initial stage of any project you
deal with. It’s an information-gathering procedure, which brings you in-depth comprehension of the industry, the client’s business, and target audience.
Design for solving the right problem
with Raine Qian
Presented on March 07 2015
at FITC's Spotlight UX/UI event
More info at www.fitc.ca
OVERVIEW
UX designers working on software applications, constantly face complex problems with a large number of constraints. How do UX designers solve problems? Functionality is not the solution. Focusing on the interface is not the solution. In order to design an optimal user experience, the first step is identifying the right problem to solve.
In this presentation I give you an in depth explanation with case studies to illustrate how our design teams solve real problems and how we carve out novel mobile UX strategies that align both business goals and user goals.
OBJECTIVE
To understand the importance of identifying the right problem at inception. To learn how to select the right UX approach to solve the right problem.
TARGET AUDIENCE
Application UX/UI designers; Anyone who is passionate about UX design.
ASSUMED AUDIENCE KNOWLEDGE
Basic knowledge of UI/UX design processes.
FIVE THINGS THAT THE AUDIENCE WILL LEARN
Why it is critical to identify the correct problem to solve
How to frame, or reframe a given design problem
Fundamentals of UX design process
The interplay between research and design
My perspective on synthesizing design solutions
Accessibility is not a rare edge case, it is something that concerns all of us. This is an introduction to Web Accessibility for Web Developers, in context of the German BITV and the international WAI Guidelines (mostly WCAG 2.0). It should raise general awareness of accessibility for Web Development, and shows that accessibility is not an extreme hard to implement requirement, but a matter of care and common sense.
Validation and hypothesis based product management by Abdallah Al-KhalidiAbdallah Al-Khalidi
Prioritization and validation are key activities for successful product management. As a product manager, how will you succeed if you are not able to prioritize correctly? How do you determine what feature to release next and if it is the correct feature to build in the first place?
This talk will cover principle methods and frameworks for feature validation and prioritization and is recommended for product managers and people working in product.
Dual Track Agile Or, How I learned to stop worrying and love the scrumUXDXConf
In software there are two key types of work - discovery and delivery. However, that doesn't mean there are different people doing those jobs. If the whole team is responsible for product success, not just getting things built, then the whole team needs to understand and contribute to both kinds of work.
Dual track agile and the UXDX model both convey the approach of design and development working together.
Managing Product Development Chaos with Jira Software and ConfluenceAtlassian
Launching a product can be a herculean task to any team, particularly a product team. With relentless prioritization, requirements revisions, and status reporting, Product Managers are often overwhelmed. It was no different at Square, but one product team decided to try something different.
Ronald Lai, ex Product Manager at Square, will discuss how his team used JIRA Software and Confluence to automate workflows to replace their most time-consuming tasks and focused on creating product value.
Introduction to Information ArchitectureAbby Covert
The first class of a 15 week course taught at Parsons, the New School for Design. Covers Information Architecture intents and beliefs as well as a comparison to the related studies of interaction design, content strategy and user research. Lastly, speaking to the role of User Experience in all of these roles.
A Workshop on how ot teach UX design, based on a one day workshop model. We cover exercise design, how people learn, and how to design the day. Originally Given at General Assemb.ly 12/15/13
Please feel free to reuse with credit.
How to Build a Product Roadmap by Walmart Senior Product ManagerProduct School
It all starts with a product roadmap! Your roadmap should tell the story of how you’re going to get to your ultimate vision. Getting priority, alignment, and balancing short term product iterations with long term strategic disruption is all part of the fun.
Hudson talked about the road mapping process, how you can balance short term and long term product/business goals, and how various initiatives on a road map get prioritized.
What is Shift Left Testing? Do you need to use that term to improve your Software Testing and Development process? I don't think so.
- why I don't use the term Shift Left
- Explanation of what Shift Left means when people use it
- Explanation of what Shift Left might mean when people hear it
- How to Shift Left incorrectly
- How to improve your test process without using the phrase Shift Left.
Hire me for consultancy and buy my online books and training at:
- https://compendiumdev.co.uk
- http://eviltester.com
- http://seleniumsimplified.com
- http://javafortesters.com
KCD Munich - Cloud Native Platform Dilemma - Turning it into an OpportunityAndreas Grabner
This talk was given at KCD Munich - July 17 2023
Abstract
“Kubernetes is a platform for building platforms. It’s a better place to start: not the endgame”, tweeted by Kelsey Hightower in November 2017. 6 years later the Cloud Native Community is faced with 159 different CNCF projects to choose from. Entering CNCF can be overwhelming!
Cloud Native Platform Engineering with white papers, best practices and reference architectures are here to convert this dilemma into an opportunity. Internal Developer Platforms (IDP) are being built as we speak enabling organizations to harness the power of Kubernetes as a self-service platform.
Join this talk with Andreas Grabner, CNCF Ambassador, and get some insights on tooling, use cases and best practices so we can all fulfill the idea that Kelsey put out years ago.
Org Topologies at Scrum Day Europe 2022, AmsterdamAlexey Krivitsky
Organizational Topologies: your roadmap towards an innovative, resilient and adaptive product development organization.
Many organizations struggle to adopt "agile" in a way that delivers on its promise to make the company fast, flexible and efficient.
Global consultancy firms have great pitches on how to adopt different so-called “Agile frameworks”. The marketing is great, but are the results too? We see how our clients get stuck in adopting a framework - forming “agile teams”, appointing “product owners” and then clustering all this into “tribes”. Thus creating robust structures that make further organizational improvements and adaptability difficult, slow, and expensive.
This talk offers ideas how to go beyond these limiting ideas and explores a map of organizational transformation based on orgtopologies.com.
Testing at Scale at Meta and SalesforceDmitry Vinnik
Do you ever worry that your testing skills are too limited for your company? Are you concerned that other organizations, especially the ones with a massive scale, require a completely different set of skills?
Worry no more! This talk will look at how testing is done at companies with the scale of the likes of Salesforce and Meta. We will discuss how the most basic testing skills and tools we use daily are transferable to any company.
Quantity or Quality – this is a common dilemma we all face when buying groceries, going to the restaurant, or shopping online. Unsurprisingly, when it comes to testing software, the same question of quality over quantity comes up.
“How many tests?”, “How well to write them?”, “How much testing expertise do you need?” - all these questions aimed towards the same dilemma of quantity vs. quality.
In this talk, we will discuss situations when quantity of our tests takes over their quality. We will answer a question on how this tendency of writing many unnecessary tests creates even larger issues like wasted cycles on fixing test-only failures, on maintaining existing test suite and on creating every new test from scratch.
Whether you are currently facing these concerns, or when (not if) you are going to face this issue, this talk will give you necessary skills on how to address and more importantly how to prevent poor quality of the test code.
The speaker will share his experience in working with legacy test suites, creating overly complicated tests himself, and how he tackled these challenges. Along with his experience, the speaker will rely on Software Engineering principles which are popularized among developers but not as commonly used by the tester community.
The main takeaways of this talk will be for testers to look at their code the same way developers look at production code. In essence, we will blur the line between testing and development and learn how to take the best from development and apply it to our tests; best of both worlds.
Shaping and implementing a DesignOps functionMatt Gottschalk
Matt Gottschalk and Ben Franck, both UX & DesignOps Managers at Centrica, will share the journey they have been on since setting up their DesignOps function at the beginning of 2018. They will discuss the types of problems that come with managing and supporting a de-centralised design team of 40+ User Experience designers, how they defined the role and how having a design operations function enabled them to streamline processes and drive efficiency and consistency.
ATDD - Acceptance Test Driven DevelopmentNaresh Jain
Acceptance test driven development tutorial. This tutorial explains how to take user stories and convert them into working software. Details about Acceptance Criteria and Acceptance tests using FitNesse and FitLibrary are described in this presentation. Also Patterns and Anti-Patterns associated with this are described in this presentation.
Discovery Phase [What is it and why is it important?]Stfalcon
Nowadays it’s unreasonable to start a software development project without a preliminary comprehensive analysis. Discovery phase should become an initial stage of any project you
deal with. It’s an information-gathering procedure, which brings you in-depth comprehension of the industry, the client’s business, and target audience.
Design for solving the right problem
with Raine Qian
Presented on March 07 2015
at FITC's Spotlight UX/UI event
More info at www.fitc.ca
OVERVIEW
UX designers working on software applications, constantly face complex problems with a large number of constraints. How do UX designers solve problems? Functionality is not the solution. Focusing on the interface is not the solution. In order to design an optimal user experience, the first step is identifying the right problem to solve.
In this presentation I give you an in depth explanation with case studies to illustrate how our design teams solve real problems and how we carve out novel mobile UX strategies that align both business goals and user goals.
OBJECTIVE
To understand the importance of identifying the right problem at inception. To learn how to select the right UX approach to solve the right problem.
TARGET AUDIENCE
Application UX/UI designers; Anyone who is passionate about UX design.
ASSUMED AUDIENCE KNOWLEDGE
Basic knowledge of UI/UX design processes.
FIVE THINGS THAT THE AUDIENCE WILL LEARN
Why it is critical to identify the correct problem to solve
How to frame, or reframe a given design problem
Fundamentals of UX design process
The interplay between research and design
My perspective on synthesizing design solutions
Accessibility is not a rare edge case, it is something that concerns all of us. This is an introduction to Web Accessibility for Web Developers, in context of the German BITV and the international WAI Guidelines (mostly WCAG 2.0). It should raise general awareness of accessibility for Web Development, and shows that accessibility is not an extreme hard to implement requirement, but a matter of care and common sense.
Validation and hypothesis based product management by Abdallah Al-KhalidiAbdallah Al-Khalidi
Prioritization and validation are key activities for successful product management. As a product manager, how will you succeed if you are not able to prioritize correctly? How do you determine what feature to release next and if it is the correct feature to build in the first place?
This talk will cover principle methods and frameworks for feature validation and prioritization and is recommended for product managers and people working in product.
Dual Track Agile Or, How I learned to stop worrying and love the scrumUXDXConf
In software there are two key types of work - discovery and delivery. However, that doesn't mean there are different people doing those jobs. If the whole team is responsible for product success, not just getting things built, then the whole team needs to understand and contribute to both kinds of work.
Dual track agile and the UXDX model both convey the approach of design and development working together.
Managing Product Development Chaos with Jira Software and ConfluenceAtlassian
Launching a product can be a herculean task to any team, particularly a product team. With relentless prioritization, requirements revisions, and status reporting, Product Managers are often overwhelmed. It was no different at Square, but one product team decided to try something different.
Ronald Lai, ex Product Manager at Square, will discuss how his team used JIRA Software and Confluence to automate workflows to replace their most time-consuming tasks and focused on creating product value.
Introduction to Information ArchitectureAbby Covert
The first class of a 15 week course taught at Parsons, the New School for Design. Covers Information Architecture intents and beliefs as well as a comparison to the related studies of interaction design, content strategy and user research. Lastly, speaking to the role of User Experience in all of these roles.
A Workshop on how ot teach UX design, based on a one day workshop model. We cover exercise design, how people learn, and how to design the day. Originally Given at General Assemb.ly 12/15/13
Please feel free to reuse with credit.
How to Build a Product Roadmap by Walmart Senior Product ManagerProduct School
It all starts with a product roadmap! Your roadmap should tell the story of how you’re going to get to your ultimate vision. Getting priority, alignment, and balancing short term product iterations with long term strategic disruption is all part of the fun.
Hudson talked about the road mapping process, how you can balance short term and long term product/business goals, and how various initiatives on a road map get prioritized.
What is Shift Left Testing? Do you need to use that term to improve your Software Testing and Development process? I don't think so.
- why I don't use the term Shift Left
- Explanation of what Shift Left means when people use it
- Explanation of what Shift Left might mean when people hear it
- How to Shift Left incorrectly
- How to improve your test process without using the phrase Shift Left.
Hire me for consultancy and buy my online books and training at:
- https://compendiumdev.co.uk
- http://eviltester.com
- http://seleniumsimplified.com
- http://javafortesters.com
KCD Munich - Cloud Native Platform Dilemma - Turning it into an OpportunityAndreas Grabner
This talk was given at KCD Munich - July 17 2023
Abstract
“Kubernetes is a platform for building platforms. It’s a better place to start: not the endgame”, tweeted by Kelsey Hightower in November 2017. 6 years later the Cloud Native Community is faced with 159 different CNCF projects to choose from. Entering CNCF can be overwhelming!
Cloud Native Platform Engineering with white papers, best practices and reference architectures are here to convert this dilemma into an opportunity. Internal Developer Platforms (IDP) are being built as we speak enabling organizations to harness the power of Kubernetes as a self-service platform.
Join this talk with Andreas Grabner, CNCF Ambassador, and get some insights on tooling, use cases and best practices so we can all fulfill the idea that Kelsey put out years ago.
Org Topologies at Scrum Day Europe 2022, AmsterdamAlexey Krivitsky
Organizational Topologies: your roadmap towards an innovative, resilient and adaptive product development organization.
Many organizations struggle to adopt "agile" in a way that delivers on its promise to make the company fast, flexible and efficient.
Global consultancy firms have great pitches on how to adopt different so-called “Agile frameworks”. The marketing is great, but are the results too? We see how our clients get stuck in adopting a framework - forming “agile teams”, appointing “product owners” and then clustering all this into “tribes”. Thus creating robust structures that make further organizational improvements and adaptability difficult, slow, and expensive.
This talk offers ideas how to go beyond these limiting ideas and explores a map of organizational transformation based on orgtopologies.com.
Testing at Scale at Meta and SalesforceDmitry Vinnik
Do you ever worry that your testing skills are too limited for your company? Are you concerned that other organizations, especially the ones with a massive scale, require a completely different set of skills?
Worry no more! This talk will look at how testing is done at companies with the scale of the likes of Salesforce and Meta. We will discuss how the most basic testing skills and tools we use daily are transferable to any company.
Quantity or Quality – this is a common dilemma we all face when buying groceries, going to the restaurant, or shopping online. Unsurprisingly, when it comes to testing software, the same question of quality over quantity comes up.
“How many tests?”, “How well to write them?”, “How much testing expertise do you need?” - all these questions aimed towards the same dilemma of quantity vs. quality.
In this talk, we will discuss situations when quantity of our tests takes over their quality. We will answer a question on how this tendency of writing many unnecessary tests creates even larger issues like wasted cycles on fixing test-only failures, on maintaining existing test suite and on creating every new test from scratch.
Whether you are currently facing these concerns, or when (not if) you are going to face this issue, this talk will give you necessary skills on how to address and more importantly how to prevent poor quality of the test code.
The speaker will share his experience in working with legacy test suites, creating overly complicated tests himself, and how he tackled these challenges. Along with his experience, the speaker will rely on Software Engineering principles which are popularized among developers but not as commonly used by the tester community.
The main takeaways of this talk will be for testers to look at their code the same way developers look at production code. In essence, we will blur the line between testing and development and learn how to take the best from development and apply it to our tests; best of both worlds.
Uphill Battle of Mobile Visual RegressionDmitry Vinnik
Do you remember those games where you had to find differences between two almost identical images? If you've ever made changes in production, you sure played this game of searching for any visual changes you might have caused.
The problem of catching visual regressions is what gave rise to a new way of testing - visual testing. While developers focus on automating their end-to-end flows with tools like Selenium, when it comes to end-to-end visual testing, many are at a loss. It is even more apparent in the world of mobile development, where devices differ in their capabilities, display dimensions and even operating systems. Hence, visual testing is a must-have in the mobile market!
In this session, we discuss how to implement visual testing on mobile devices covering both native mobile (Android, iOS) and hybrid web development (React, React Native). We cover major visual concepts like layouts, responsive design, and graphics which should give the audience a clear picture of how to get started and be successful with visual testing.
Does Behaviour Driven Development work? Unfortunately, it usually does not. While many people try to pitch as a way to bridge the gap between stakeholders on the project, many teams fail to communicate their test scenarios with everyone involved. Although this fundamental problem of lack of communication can be solved on the organization level, BDD is often used with Cucumber or Robot frameworks. Due to the complexities of these tools, developers and testers stop seeing the benefit in the entire approach of BDD and abundant the practice. However, recently, Behavior Driven Development has seen a resurgence in adoption, thanks to Gauge framework. With the latest release of Taiko, they create a great combination of communication and testing tool with the use of Gauge+Taiko. In this talk, we will discuss BDD principles and how Gauge can be used to take Behavior Driven Development to the next level. With Taiko, the audience will learn how BDD can be taken to the web in a few easy steps and to see what needs to be avoided when these tools are implemented in any organization.
Fixing Broken Windows: Dealing with Legacy Systems, Poor Quality and GapsDmitry Vinnik
We all encountered a “Broken Window” theory in practice. The original idea was that if someone breaks a window in a neighborhood and this window is not repaired right away, the entire area will start getting messier at an accelerated rate.
The same theory is also true for Software Development. How many times have you looked at a legacy system with no code coverage, and decided not to write any tests because "this is how we do things here"? These bad practices behave just like those "Broken Windows." They cause our code to degrade and become unusable.
In this talk, we discuss how to break away from bad development practices and how to address significant gaps in your legacy and current systems. We look at ways to lead by example successfully and introduce refactoring culture into your team and organization. We cover tips and tricks that help improve the development culture and emphasize the codebase's general health.
From Robotium to Appium: Choose your Journey Dmitry Vinnik
Mobile Testing is hard! You have to test not only Native Mobile but also Web-based applications. This multi-platform focus makes the testing effort to be at least twice as complicated as when a simple web application is targeted.
With the growing market around smartphones, developers needed more ways to ensure software quality of their product. This need is why many mobile UI test frameworks have been introduced. With the most significant share of the mobile market being taken by Android OS, development and testing efforts have been especially crucial in this ecosystem.
Among the variety of Mobile UI automation tools, two frameworks have been especially notable: Robotium and Appium. However, with more organizations moving towards multi-platform solutions, those of us, who used Robotium, are slowly moving towards Appium. This journey from Robotium to Appium is where the main focus of this presentation lies.
In this session, we deep dive into both Robotium and Appium. We discuss why and how to transition from Robotium to Appium in the Android ecosystem. Lastly, we look at common mistakes made during this transition, and how to avoid them.
Do you even Function? Guiding Through Functional InterfacesDmitry Vinnik
Object-Oriented Programming - it is often synonymous with Java Development. But what if I were to tell you that there is more to Java than OOP principles?
Starting JDK8, Java language introduced a new and exciting world of Functional Programming. This inherently powerful paradigm drives services like AWS Lambda, Azure Functions, or any other Function as a Service product out there.
Functional programming offers better security, simpler maintenance, and more flexible design, so it is vital for Java developers to embrace this paradigm and learn how to use it well.
In this talk, we discuss how to apply Functional programming in Java with the primary focus on Functional Interfaces. We explore out-of-the-box Functional structures, how to build custom Functions and look at common mistakes of impure abstractions and overly-DRY design.
Presented by: Dmitry Vinnik
Presented at the All Things Open 2021
Raleigh, NC, USA
Raleigh Convention Center
Abstract: So many platforms, so little time. How do we write an app for the web, Android, iOS, and other OS without spending all our time and money? Cross-platform can be your answer!
You probably heard about React Native before, a framework that allows the creation of native Android and iOS apps using React. But how do you actually get started with the framework? Whether you are an advanced iOS developer or a beginner React dev, this talk will help you get started with React Native.
In this session, we will start by exploring React Native and its main concepts. Then, we will build a demo app from scratch for Android and iOS to show the power of cross-platform that the framework brings to the table!
Hands on React Native: From Zero to HeroDmitry Vinnik
Abstract:
So many platforms, so little time. How do we write an app for the web, Android, iOS, and other OS without spending all our time and money? Cross-platform can be your answer!
You probably heard about React Native before, a framework that allows you to create native Android and iOS apps using React. But how do you get started with the framework? Whether you are an advanced iOS developer or a beginner React dev, this talk will help you get started with React Native.
In this session, we explore React Native and its main concepts. Then, we will build a demo app from scratch for Android and iOS to show the power of cross-platform that the framework brings to the table!
Link: https://dvinnik.dev/talks/mobile/hands-on-react-native/
Designing for the web is complicated. Endless screen sizes, high user expectations, and usability challenges offer up some interesting if not impossible challenges for web designers, especially when wrestling with complex functionality delivered by Drupal. Join this detailed discussion on web design and designing Drupal 8 websites.
Where to start? So often the creative process begins with a blank page. Does the approach to design change when working with Drupal? Drupal is not a blank slate. As designers and themers, we have to consider structures inherent in all Drupal sites like regions, blocks, displays and views. We’ll look at specific structures found in every Drupal 8 site and discuss approaches to design that leverage the output that Drupal provides.
With a rich medium like Drupal to work with processes have to change. We’ll explore how the design process fits into the development process. How we can make the design process more agile and how can we incorporate design into a project. We’ll discuss the difference between theming and design and their role in building out a new Drupal 8 site.
Then we’ll talk about managing all this and how the design process fits into a large development project. What are the responsibilities of the designer? What are their deliverables? We’ll propose a standard list of design deliverables and touch upon style guides, wireframes and mood boards.
Since creativity is all about invention and inspiration we’ll explore the cutting edge of web design and how future releases of Drupal 8 might shift the way we design websites and how we interact with them.
Modern Web Testing: Going Beyond Selenium Dmitry Vinnik
It is safe to say that Selenium WebDriver is the number one testing tool for many software engineers across the globe. However, as the tech world has been growing rapidly, so has the testing industry. More and more UI testing frameworks besides Selenium are gaining popularity.
These new test frameworks are especially appealing to its users because of the promise to solve speed, maintenance, development and other concerns of WebDriver implementations. These new, non-Selenium frameworks emphasize Rapid Test Development practices, and it has been resonating with the development community.
In this talk, we dive into test solutions evolved from Selenium like Protractor, and talk about non-Selenium frameworks like TestCafe and Cypress.io. We discuss why these new tools are gaining popularity and continue to disrupt the traditional testing standards of Selenium WebDriver. More importantly, we address how to get started and what mistakes to avoid when first implementing TestCafe or Cypress.io in your team.
Better Start: Enforcing Best Engineering Practices with KotlinDmitry Vinnik
As Developers, we are getting lazy! With amazing IDEs and plugins we use on a daily basis, we let these tools do the most important job for a Software Project – ensure maintainability of the codebase. These tools with static analysis, formatters and styleguides keep our code clean and readable while we can focus on making the application to work.
Despite this abstraction of styling and duplication detection, we, as Software Engineers, are still responsible to keep in mind best practices like DRY, KISS, YAGNI, and many more. While IDEs are great at detecting basic mistakes, we still need to choose the best possible solution among variety of solutions.
In this talk, we will look at Kotlin as a way to enforce best Software Engineering practices on the language-level.
We will see how Kotlin by limiting verbosity, by using private data classes, extension functions and many other functionalities, allow for more flexible and maintainable codebase. The main goal of this talk is to convince you that Kotlin is a great way to bring years of experience of using best practices to a first-year university student, or to a long-time Java veteran.
Learn the latest in website design concepts, like flat design and card design. You’ll also learn about multimedia storytelling, an approach to combining design and content that will help you tell your organization’s story through stunning and interactive design.
Various types of manipulative image designing based on tutorials, practicing, clever building, creativity, etc. I had to use Photoshop and Powerpoint to complete this!
Testing Svelte with Jest: Validate Your Components Quickly!Dmitry Vinnik
How confident are you in your Svelte app? Does your UI render after you add a new item to the nav menu? What about style changes - do you know how a font change affects the rest of your app?
If you want to have confidence in your Svelte app, you need to have tests. Unfortunately, most testing frameworks are hard to set up, and it takes too long to run them. But this is not the case with Jest!
Jest allows Svelte developers to get a quick test result for any change on the app. And setting up Jest on Svelte has never been easier than today!
In this talk, we will look at how Svelte apps are tested E2E and why Jest stands out compared to other test frameworks. We will do a live demo while implementing several main test scenarios using Jest - get ready to code along!
With more than 20 years experience in interactive design, including four years as executive product manager/creative director at the BBC, and now as the design director at a product agency that’s breaking the mould in how digital agencies approach experience design, Tom Bradley specialises in helping teams solve problems and innovate using design thinking, creative facilitation and hands-on research.
The 10,000 Steps of Open Source Project HealthDmitry Vinnik
Human health is complex - it's not something we can buy; it's something we have to earn! This exact approach goes for open source projects and their communities. A truly dedicated and loyal fanbase cannot be bought; it has to be nurtured. But what do we mean when we call a community and the open source project "healthy"? This question is what we are trying to answer at Facebook!
In this talk, we will look at the approach that the Facebook Open Source team takes to measure the current state of Facebook open source projects, and how we use these metrics to prioritize and to direct our DevRel focus. Ultimately, we aim to show how by looking at information about your open source communities, your team can concentrate on the quality of the projects instead of only the quantity of repositories that you make public.
Unit tests are great, they help a developer gain control over his code and catch bugs and regression issues.
Test Driven Development is a methodology that uses unit tests but it's not about writing unit tests - in fact the tests are only a design tool.
TDD is a methodology that solves problems in an iterative way, it's about emergent design that creates a maintainable solution.
In this session I'll talk about common mistakes and misconceptions, how to benefit from TDD and show how to design your code using unit tests.
The code for this talk can be found on GitHub: https://github.com/dhelper/DesignWIthTests
Similar to Domain Driven Testing: Know What You’re Doing (20)
Leadership in Open Source and Why Companies CareDmitry Vinnik
In this talk, we will discuss the importance of open source for companies and how to become a leader in the open source space. By contributing to open source projects, companies can establish themselves as thought leaders, build credibility with customers, and increase productivity.
Join us to learn how open source can help drive innovation, improve customer satisfaction, and keep companies ahead of the competition.
Maximizing React Speed: Hands-On Guide to Debugging and Optimizing React Appl...Dmitry Vinnik
The talks covers the following:
-Different tools and techniques for enhancing React app performance
-The role of React DevTools in performance optimization
-How to identify performance bottlenecks and debug issues
-Best practices for using React DevTools in conjunction with other open source tools
Testing React with Jest: Validate Your Components Quickly!Dmitry Vinnik
How confident are you in your React app? Does your UI render after you add a new item to the nav menu? What about style changes - do you know how a font change affects the rest of your app?
If you want to have confidence in your React app, you need to have tests. Unfortunately, most testing frameworks are hard to set up, and it takes too long to run them. But this is not the case with Jest!
Jest allows React developers to get a quick test result for any change on the app. And setting up Jest on React has never been easier than today!
In this talk, we look at how React apps are tested E2E and why Jest stands out compared to other test frameworks. We do a live demo while implementing several main test scenarios using Jest - get ready to code along!
Cross-Platform CSS (Yes, it's Possible!) with YogaDmitry Vinnik
It's no secret that people view the same website across many devices, browsers, and screen sizes. To make the same app work on all these platforms, developers have to spend a significant amount of time. If only there were an engine that allows web developers to write their code once and use it everywhere.
Presenting Yoga, an open source, cross-platform layout engine that uses CSS layouts to manage user interfaces across platforms.
In this talk, we learn about Yoga's main concepts and use-cases. Then, we will build a demo app for React Native and Android to showcase the reusability of Yoga.
Documentation Made Easy with DocusaurusDmitry Vinnik
Do you know how to get someone to do something difficult? Make it easy! Documentation is one of those things: everyone understands it's important, but few want to write it. And if the docs platform is difficult to use or extend, doc writing becomes a punishment. Docusaurus is here to help!
In this session, we will walk through getting started with Docusaurus, its architecture and MDX support. We will explore built-in themes with plugins, and even create one during the talk. So, let's learn how to make doc writing enjoyable, together!
What do most applications do these days? They interact with data in one way or another. As your app’s scale increases, it becomes more challenging to manage databases, schemas, queries, and constraints. These challenges are why a technique called Object-Relational Mapping, or ORM, was created.
At Meta, we tend to think about data modeling in graph concepts and as we were working with Go, it led us to create a new open source project, Ent.
Ent is an entity framework built for Go programming language. This framework provides developers with a Graph-based, Object Relational Mapping.
In this talk, we will learn how to use Ent when dealing with data schemas, including types, relations and constraints. It’s a hands-on talk, so get ready to follow along!
Developing Lightning Components for Communities.pptxDmitry Vinnik
Discover tips and tricks for developing Lightning Components for communities. We'll cover customizing Self-Service templates, including overriding the default header with a custom theme, allowing community administrators to control the look and feel of your custom components with design tokens, and best practices, such as utilizing Lightning Component inheritance.
Distributed teams are the future of the IT workforce. Many companies have adopted remote work as a part of their business, and more organizations (small and large) are moving towards this new way of conducting their work.
In this talk, we explore how to become a remote employee successfully, how to manage a remote team, and what mistakes to avoid in the process.
Kindness Engineering: Focusing on What MattersDmitry Vinnik
With continuous changes in how people communicate, we often face anger, irritation, and selfishness. In this talk, we discuss how to bring kindness to the enterprise and open-source, and how to ensure that these “kind practices” are successfully adopted by the teams of any size.
Modern Web Testing: Going Beyond SeleniumDmitry Vinnik
Selenium WebDriver has been the traditional testing standard for many years. However, many developers have concerns over test speed, maintenance, and implementation. Fortunately, new, non-Selenium frameworks like TestCafe and Cypress.io rely on Rapid Test Development practices which address common issues teams have with their old test infrastructure.
In this talk, we dive into platform-specific Selenium solutions like Protractor, and discuss non-Selenium frameworks like TestCafe and Cypress.io.
Stress Driven Development, and How to Avoid ItDmitry Vinnik
When was the last time you took a day off? How many times this week have you worked overtime? These questions are related to one thing we all experience on a daily basis - stress. Employees who are trapped by their routine to "deliver business value at all cost", often forget to take care of themselves. Unfortunately, this work-related stress affects our loved ones too, because work-life balance that we all hear about, usually means work-life stress.
What if I were to say that it does not have to be this way? In this talk, we discuss ways how to relax and avoid "Stress Driven Development." We deep dive into common stressors, and draft a comprehensive guide to removing stress at work and in our personal lives.
Back to the CompletableFuture: Concurrency in ActionDmitry Vinnik
Callback hell is a known way to give any JavaScript developer nightmares. However, Java developers are not much better off since anything concurrency and multithreading related gives us cold sweats.
With Threads and Runnables being the very first (and often last) things we used in Java, these classes gave many of us impression of and appreciation for complexities of concurrency. As a result, many developers abandoned the idea of ever touching thread management in Java and focused on a single-threaded development.
Fear no more! The world of concurrency in Java has changed since JDK8 and continues getting better. In this talk, we discuss improvements around Concurrency API of JDK5 and the power of asynchronous programming of CompletableFutures post-JDK8. Our goal is to break out of the fear of concurrency in Java and to learn about a new, declarative way of thread programming.
Technologies like Squarespace, Salesforce, WordPress, or WIX are extremely popular for those who want to create a working website without necessary developer knowledge. In this talk, I would explore how Salesforce uses Page Object Model patterns to test its Communities platform which is used to develop websites for Salesforce users.
Throughout the talk, we will explore how multi-frame platform can be directly mapped to POM for Selenium Webdriver, and how client side code is developed to support this pattern.
The importance and complexity of these test framework is that it needs to be applicable for both platform and produced websites.
Recording: https://youtu.be/6opoooLdonI
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
In the ever-evolving landscape of technology, enterprise software development is undergoing a significant transformation. Traditional coding methods are being challenged by innovative no-code solutions, which promise to streamline and democratize the software development process.
This shift is particularly impactful for enterprises, which require robust, scalable, and efficient software to manage their operations. In this article, we will explore the various facets of enterprise software development with no-code solutions, examining their benefits, challenges, and the future potential they hold.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Łukasz Chruściel
No one wants their application to drag like a car stuck in the slow lane! Yet it’s all too common to encounter bumpy, pothole-filled solutions that slow the speed of any application. Symfony apps are not an exception.
In this talk, I will take you for a spin around the performance racetrack. We’ll explore common pitfalls - those hidden potholes on your application that can cause unexpected slowdowns. Learn how to spot these performance bumps early, and more importantly, how to navigate around them to keep your application running at top speed.
We will focus in particular on tuning your engine at the application level, making the right adjustments to ensure that your system responds like a well-oiled, high-performance race car.
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
OpenMetadata Community Meeting - 5th June 2024OpenMetadata
The OpenMetadata Community Meeting was held on June 5th, 2024. In this meeting, we discussed about the data quality capabilities that are integrated with the Incident Manager, providing a complete solution to handle your data observability needs. Watch the end-to-end demo of the data quality features.
* How to run your own data quality framework
* What is the performance impact of running data quality frameworks
* How to run the test cases in your own ETL pipelines
* How the Incident Manager is integrated
* Get notified with alerts when test cases fail
Watch the meeting recording here - https://www.youtube.com/watch?v=UbNOje0kf6E
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
3. Goals
Domain Driven Testing (DDT):
What, Why, How and When
DDT In Practice: Test Pyramid
Finding Right Technique For Your Team
@DmitryVinnik dvinnik.com
Working with Domain Experts, Testers, Developers
Really get and use the feedback from every stackholder
Try to have engineers of all levels, of all backgrounds (atomic missles)
One size fits all,
Layer Design -> Hexagonal design and SOA
Emotionally attached to software (kill your darlings -)
References:
https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215
https://www.amazon.com/Implementing-Domain-Driven-Design-Vaughn-Vernon/dp/0321834577/ref=pd_sim_14_2/146-5573393-8712768?_encoding=UTF8&pd_rd_i=0321834577&pd_rd_r=0HHESFRXFB5RETT0N0G9&pd_rd_w=V0P7D&pd_rd_wg=OozwD&psc=1&refRID=0HHESFRXFB5RETT0N0G9
Layer Design -> Hexagonal design and SOA
Emotionally attached to software (kill your darlings -)
References:
https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215
https://www.amazon.com/Implementing-Domain-Driven-Design-Vaughn-Vernon/dp/0321834577/ref=pd_sim_14_2/146-5573393-8712768?_encoding=UTF8&pd_rd_i=0321834577&pd_rd_r=0HHESFRXFB5RETT0N0G9&pd_rd_w=V0P7D&pd_rd_wg=OozwD&psc=1&refRID=0HHESFRXFB5RETT0N0G9