A look at 10 key factors every content management system must follow in order to be relevant in the internet of today and how the internet has changed CMS.
Open Source has grown to demonstrate its power and relevance to the world we live in. In this talk we examine three reasons why the world needs open source.
Comprehensive Validation with Laravel 4Kirk Bushell
Taking basic validation rules to a more manageable, readable state by implementing architectural solutions that make our validation requirements beautiful.
A look at 10 key factors every content management system must follow in order to be relevant in the internet of today and how the internet has changed CMS.
Open Source has grown to demonstrate its power and relevance to the world we live in. In this talk we examine three reasons why the world needs open source.
Comprehensive Validation with Laravel 4Kirk Bushell
Taking basic validation rules to a more manageable, readable state by implementing architectural solutions that make our validation requirements beautiful.
Deliver Double the Value in Half the TimeDavid Hawks
This session was presented at the PMI Austin Development Day Conference in Sept 2014. We explore the difference between "Doing Agile" vs. "Being Agile." Establishing a learning culture is critical. Six problems are presented and solutions are shown which lead to the team's ability to deliver double the value in half the time.
Already in 2015 Martin Fowler wrote an article about the Monolith First strategy on building green field projects. When we started building Firstbird 2.0 we had the chance to start with a completely new architecture and were able to choose our technology stack freely, and we decided against going down the Microservices rabbit hole. At least until the monolith started to bite us. This talk describes the journey of a small development team, growing their product and the team at the same time, starting with a monolith and being confronted with a lot of challenges while transitioning to a Microservices architecture.
User Stories Suck by David Hawks at North Dallas Product Owners MeetupAgile Velocity
The User Story concept was invented almost 20 years ago, it’s time for an update. This outdated process supports an old way of working focused on predictable requirements delivery instead of product discovery. Wouldn’t you like to know much earlier which features are not going to be valued by your market? We need techniques that shorten the feedback loop with customers, not stakeholders. We need to prioritize based on riskiest assumptions and iterate quickly through small experiments in order to (in)validate our ideas as fast as possible.
Workshop held at Giant Conference 2014 in Charleston SC.
Service Design is gaining popularity in the United States as a better approach to defining, designing, and orchestrating service experiences. While having much in common with user experience, service design in practice requires new ways of thinking and new methods of making. It also requires embracing both the complexity of service experiences and the organizations that deliver them.
This workshop is designed to get more user experience practitioners familiar with some of the methods of service design. Our session will focus on several lo-fi making approaches–acting, sketching, storytelling, and blueprinting–that can be used to iteratively conceptualize new service experiences.
The session will be fast-paced and iterative. You'll learn concepts and approaches that only can prepare you to tackle service experience problems, but can easily be applied to any project involving multiple touchpoints or channels. You'll be thrown in the service design deep end, but the water's warm (I promise).
Recruiting Process Powerpoint Presentation SlidesSlideTeam
Work on the recruitment process with these exceptional PowerPoint design on recruiting process PowerPoint presentation slides which helps in elaborating your hiring process in detail for all. You can use this hiring process presentation design to streamline your recruitment process which not only saves a lot of valuable business time but money too. Recruiting right people is the most essential elements for the company growth and that is why recruitment process is crucial among all other processes. This recruitment procedure presentation is very useful for defining step by step recruitment procedure. Each slide of this staffing process PPT design is crafted with an extensive research so that every component related with the hiring process is covered. Thus, built an impressive and result oriented recruitment process with these exclusive designs available for strengthening your human resource processes. Thus start converting this recruitment process PPT design into your HR Hiring standard operating procedure for your organization. We've designed our Recruiting Process Powerpoint Presentation Slides for the discerning presentation customer in mind. Our range is designed specifically with you in mind. https://bit.ly/3AsPdES
Recruiting Process PowerPoint Presentation SlidesSlideTeam
Work on the recruitment process with these exceptional PowerPoint design on recruiting process PowerPoint presentation slides which helps in elaborating your hiring process in detail for all. You can use this hiring process presentation design to streamline your recruitment process which not only saves a lot of valuable business time but money too. Recruiting right people is the most essential elements for the company growth and that is why recruitment process is crucial among all other processes. This recruitment procedure presentation is very useful for defining step by step recruitment procedure. Each slide of this staffing process PPT design is crafted with an extensive research so that every component related with the hiring process is covered. Thus, built an impressive and result oriented recruitment process with these exclusive designs available for strengthening your human resource processes. Thus start converting this recruitment process PPT design into your HR Hiring standard operating procedure for your organization. We've designed our Recruiting Process PowerPoint Presentation Slides for the discerning presentation customer in mind. Our range is designed specifically with you in mind.
Agile Austin - Deliver Double the Value in Half the TimeDavid Hawks
Learn practical techniques to guide your teams and escape the top 6 traps preventing organizations from realizing the full benefits of agile.
64% of product features built in software development are rarely or never used. Too many teams focus on increasing the amount of output. Not enough teams focus on delivering the most value with the least amount of output. In this interactive presentation, David Hawks will share the key factors that sabotage product success and what to do about it. Learn practical tools and techniques that accelerate learning throughout the product development cycle to deliver double the value in half the time.
Techniques for Effectively Slicing User Stories by Naresh JainNaresh Jain
In order to achieve my goals, as a buyer of your product, I want awesome feature. AT: make sure your users stories don't get in the way.
Users Stories, the tool teams use to break big ideas into small demonstrable deliverable, are easy to describe and challenging to write effectively. In this hands-on workshop you'll learn how to write great user stories and acceptance criteria, that everyone on the team understands. We'll learn various techniques to slice your stories using the tracer-bullet approach. We will discuss what elements should be included in the stories, what criteria you should keep in mind while slicing stories; why the size of your user story is important and how to make them smaller and efficient.
Agenda:
What do you do to Large Stories? Spike, Split, Stub & Timebox (SSST) technique.
Core Slicing Techniques:
1. System Slice
1.a. Static vs. Dynamic
1.b. Real-time vs. Batch Processing
1.c. Build vs. Buy
1.d. Automated vs. Manual Steps
1.e. Defer certain roles
2. Behavioural Slice
2.a. Adjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton
2.a.1. Acceptance Criteria
2.b. By-pass certain steps in the workflow
2.c. Focus on Happy Path First (edge cases later)
2.d. No options - 1 option - Many options
3. Incrementally improve ‘Ilities' (Usability, Scalability, Reliability, etc.)
3.a. Simpler UI (even consider using a standard UI)
3.b. Minmal Data
3.c. Improve Performance Iteratively
Personalization & 4 Other Marketing Super PowersDavid Hurley
This was a talk I gave at Muracon 2018 in Sacramento, CA. The topic was how marketing automation gave you super powers as a marketer through personalization and other secrets.
Recently I had the great privilege of traveling to speak at the 3rd annual CMS Africa Summit. I was asked to deliver two keynotes and the second one focused on the idea of growing a community. The session title was given to me by the event organizers but I believe it was quite insightful on their part. Growth hacking and building powerful networks is always an interesting topic. This is my take on the concept.
More Related Content
Similar to Dependency Injection, Service Locators, Testing and Life
Deliver Double the Value in Half the TimeDavid Hawks
This session was presented at the PMI Austin Development Day Conference in Sept 2014. We explore the difference between "Doing Agile" vs. "Being Agile." Establishing a learning culture is critical. Six problems are presented and solutions are shown which lead to the team's ability to deliver double the value in half the time.
Already in 2015 Martin Fowler wrote an article about the Monolith First strategy on building green field projects. When we started building Firstbird 2.0 we had the chance to start with a completely new architecture and were able to choose our technology stack freely, and we decided against going down the Microservices rabbit hole. At least until the monolith started to bite us. This talk describes the journey of a small development team, growing their product and the team at the same time, starting with a monolith and being confronted with a lot of challenges while transitioning to a Microservices architecture.
User Stories Suck by David Hawks at North Dallas Product Owners MeetupAgile Velocity
The User Story concept was invented almost 20 years ago, it’s time for an update. This outdated process supports an old way of working focused on predictable requirements delivery instead of product discovery. Wouldn’t you like to know much earlier which features are not going to be valued by your market? We need techniques that shorten the feedback loop with customers, not stakeholders. We need to prioritize based on riskiest assumptions and iterate quickly through small experiments in order to (in)validate our ideas as fast as possible.
Workshop held at Giant Conference 2014 in Charleston SC.
Service Design is gaining popularity in the United States as a better approach to defining, designing, and orchestrating service experiences. While having much in common with user experience, service design in practice requires new ways of thinking and new methods of making. It also requires embracing both the complexity of service experiences and the organizations that deliver them.
This workshop is designed to get more user experience practitioners familiar with some of the methods of service design. Our session will focus on several lo-fi making approaches–acting, sketching, storytelling, and blueprinting–that can be used to iteratively conceptualize new service experiences.
The session will be fast-paced and iterative. You'll learn concepts and approaches that only can prepare you to tackle service experience problems, but can easily be applied to any project involving multiple touchpoints or channels. You'll be thrown in the service design deep end, but the water's warm (I promise).
Recruiting Process Powerpoint Presentation SlidesSlideTeam
Work on the recruitment process with these exceptional PowerPoint design on recruiting process PowerPoint presentation slides which helps in elaborating your hiring process in detail for all. You can use this hiring process presentation design to streamline your recruitment process which not only saves a lot of valuable business time but money too. Recruiting right people is the most essential elements for the company growth and that is why recruitment process is crucial among all other processes. This recruitment procedure presentation is very useful for defining step by step recruitment procedure. Each slide of this staffing process PPT design is crafted with an extensive research so that every component related with the hiring process is covered. Thus, built an impressive and result oriented recruitment process with these exclusive designs available for strengthening your human resource processes. Thus start converting this recruitment process PPT design into your HR Hiring standard operating procedure for your organization. We've designed our Recruiting Process Powerpoint Presentation Slides for the discerning presentation customer in mind. Our range is designed specifically with you in mind. https://bit.ly/3AsPdES
Recruiting Process PowerPoint Presentation SlidesSlideTeam
Work on the recruitment process with these exceptional PowerPoint design on recruiting process PowerPoint presentation slides which helps in elaborating your hiring process in detail for all. You can use this hiring process presentation design to streamline your recruitment process which not only saves a lot of valuable business time but money too. Recruiting right people is the most essential elements for the company growth and that is why recruitment process is crucial among all other processes. This recruitment procedure presentation is very useful for defining step by step recruitment procedure. Each slide of this staffing process PPT design is crafted with an extensive research so that every component related with the hiring process is covered. Thus, built an impressive and result oriented recruitment process with these exclusive designs available for strengthening your human resource processes. Thus start converting this recruitment process PPT design into your HR Hiring standard operating procedure for your organization. We've designed our Recruiting Process PowerPoint Presentation Slides for the discerning presentation customer in mind. Our range is designed specifically with you in mind.
Agile Austin - Deliver Double the Value in Half the TimeDavid Hawks
Learn practical techniques to guide your teams and escape the top 6 traps preventing organizations from realizing the full benefits of agile.
64% of product features built in software development are rarely or never used. Too many teams focus on increasing the amount of output. Not enough teams focus on delivering the most value with the least amount of output. In this interactive presentation, David Hawks will share the key factors that sabotage product success and what to do about it. Learn practical tools and techniques that accelerate learning throughout the product development cycle to deliver double the value in half the time.
Techniques for Effectively Slicing User Stories by Naresh JainNaresh Jain
In order to achieve my goals, as a buyer of your product, I want awesome feature. AT: make sure your users stories don't get in the way.
Users Stories, the tool teams use to break big ideas into small demonstrable deliverable, are easy to describe and challenging to write effectively. In this hands-on workshop you'll learn how to write great user stories and acceptance criteria, that everyone on the team understands. We'll learn various techniques to slice your stories using the tracer-bullet approach. We will discuss what elements should be included in the stories, what criteria you should keep in mind while slicing stories; why the size of your user story is important and how to make them smaller and efficient.
Agenda:
What do you do to Large Stories? Spike, Split, Stub & Timebox (SSST) technique.
Core Slicing Techniques:
1. System Slice
1.a. Static vs. Dynamic
1.b. Real-time vs. Batch Processing
1.c. Build vs. Buy
1.d. Automated vs. Manual Steps
1.e. Defer certain roles
2. Behavioural Slice
2.a. Adjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton
2.a.1. Acceptance Criteria
2.b. By-pass certain steps in the workflow
2.c. Focus on Happy Path First (edge cases later)
2.d. No options - 1 option - Many options
3. Incrementally improve ‘Ilities' (Usability, Scalability, Reliability, etc.)
3.a. Simpler UI (even consider using a standard UI)
3.b. Minmal Data
3.c. Improve Performance Iteratively
Personalization & 4 Other Marketing Super PowersDavid Hurley
This was a talk I gave at Muracon 2018 in Sacramento, CA. The topic was how marketing automation gave you super powers as a marketer through personalization and other secrets.
Recently I had the great privilege of traveling to speak at the 3rd annual CMS Africa Summit. I was asked to deliver two keynotes and the second one focused on the idea of growing a community. The session title was given to me by the event organizers but I believe it was quite insightful on their part. Growth hacking and building powerful networks is always an interesting topic. This is my take on the concept.
We are now within the age of the robot. Marketing automation is the latest inevitable implementation of them. Mautic provides free and open source software for controlling your business in this exciting new era.
This presentation outlines the features and timelines associated with the Joomla CMS 3.4 release. Dates are subject to change. Other features welcomed!
Dates have been changed! :) Stay tuned for an upcoming announcement.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
2. @dbhurley OpenWest 2014
WELCOME!
This session is not intimidating. This session is
not intimidating. This session is not intimidating.
This session is not intimidating. This session is
not intimidating. This session is not intimidating.
This session is not intimidating. This session is
not intimidating. This session is not intimidating.
This session is not intimidating. This session is
not intimidating. This session is not intimidating.
This session is not intimidating. This session is
not intimidating. This session is not intimidating.
This session is not intimidating. This session is
not inti
3. @dbhurley OpenWest 2014
WHO?
David Hurley
Open Source Evangelist
Entrepreneur / Co-Founder
Joomla! Community Manager
Production Leadership Team
4. @dbhurley OpenWest 2014
TERMS
Dependency Injection
An injection is the passing of a dependency (a service)
to a dependent object (a client).
Service Locator
A design pattern which uses a central registry and on
request returns the information necessary to a client.
Inversion of Control
A design in which portions of a computer program
receive flow of control from a generic, reusable library
5. @dbhurley OpenWest 2014
3 TYPES OF DEPENDENCY INJECTION
Constructor Setter Interface
class carPicker
{
function carPicker ( Finder $finder )
{
$this->finder = $finder;
6. @dbhurley OpenWest 2014
SERVICE LOCATORS
Most often seen used as a singleton registry*
class serviceLocator {
public static function carFinder ()
{
return static::finder;
}
class carPicker {
function carPicker() {
$finder = serviceLocator::carFinder();
9. @dbhurley OpenWest 2014
THE LAW OF DEMETER
Each unit should have only limited knowledge about
other units: only units "closely" related to the current unit.
Each unit should only talk to its friends; don't talk to
strangers.
Only talk to your immediate friends.
11. @dbhurley OpenWest 2014
APPLY SL
class Car {
protected $seats
protected $seatbelt
function buildCar (Locator $locator) {
$this->seats = $locator->getSeats();
$this->seatbelt = $locator->getSeatbelt();
...
}
}
12. @dbhurley OpenWest 2014
APPLY DI
class carFactory {
function buildCar() {
$seatbelt = new SeatBelt();
$seats = new Seats($seatbelt);
return new Car($seats);
}
}
13. @dbhurley OpenWest 2014
LOOKING DEEPER
class Car {
function _constructor(Seats $seats) {
...
}
}
class Seats {
function _constructor(Seatbelt $seatbelt, Fabric
$fabric) {
…
}
14. @dbhurley OpenWest 2014
RETURN TO FACTORY
class carFactory {
function buildCar() {
$seatbelt = new SeatBelt();
$fabric = new Fabric();
$seats = new Seats($seatbelt, $fabric);
return new Car($seats);
}
}
15. @dbhurley OpenWest 2014
KEY CONCEPT?
A Factory is used for all the objects of
the same lifetime.
Constructor Injection: Only inject items whose lifetime is
equal or greater than the injectee
(i.e. The seat is alive at least as long as the car)
Method Parameter: At execution for shorter lifetimes.
16. @dbhurley OpenWest 2014
TESTING
Service Locators are often difficult to test.
Mixed responsibilities / Law of Demeter partially broken
Dependency Injection allows for easy testing.
Clear to follow / Law of Demeter obeyed
Side note: Null checking
Pre-condition checking is hard to test. Rather check that
things work as expected rather than checking against
nulls.
17. @dbhurley OpenWest 2014
THE GOAL
The goal is to write clean, concise, easily-
testable code which accomplishes a
purpose and allows others to improve it.
18. @dbhurley OpenWest 2014
THE OUTCOME
A strong codebase which can be easily read
and understood by others.
“Always code as if the guy who ends
up maintaining your code will be a violent
psychopath who knows where you live.”