This document summarizes Tim Mackinnon's presentation on agile practices and how teams can aspire for more beyond basic techniques. It discusses how eXtreme Programming was originally misunderstood as being dictatorial rather than aspirational. The presentation provides examples of techniques pioneered by Mackinnon like mock objects, gold cards, and heartbeat retrospectives. It also discusses applying appreciative inquiry to achieve higher outcomes and how agile is about more than just processes - it's a belief in achievement. The document encourages teams to look beyond what they have learned and to continue aspiring to improve.
Almost all developers face the challenge of reactively debugging failed business transaction processes. Not only does this require extensive navigation of enormous volumes of log data, but determining root cause becomes a laborious and time-consuming task.
Additionally, business managers often request developers and operations to provide analytics on applications, resulting in the tedious task of charting the information, most usually from intangible data. Learn how to capture, extract and analyze your event data by having analytics embedded in the application. Download the white-paper that details how to gain Application Intelligence through effective logging.
Check out the webinar here: http://www.splunk.com/goto/analytics_webcast
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/XCerdb.
Rob Shilston discusses the need for coding responsively, not just designing responsively, along with the development process in place at Financial Times. Filmed at qconsf.com.
Rob Shilston is a director of the FT's Labs division, which works on experimental web technologies and produces products such as the FT web app. He is currently responsible for the technical delivery of the FT web app and its hosting infrastructure. Prior to FT Labs, Rob founded the web consulting firm Assanka, which was acquired by the FT in January 2012.
Almost all developers face the challenge of reactively debugging failed business transaction processes. Not only does this require extensive navigation of enormous volumes of log data, but determining root cause becomes a laborious and time-consuming task.
Additionally, business managers often request developers and operations to provide analytics on applications, resulting in the tedious task of charting the information, most usually from intangible data. Learn how to capture, extract and analyze your event data by having analytics embedded in the application. Download the white-paper that details how to gain Application Intelligence through effective logging.
Check out the webinar here: http://www.splunk.com/goto/analytics_webcast
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/XCerdb.
Rob Shilston discusses the need for coding responsively, not just designing responsively, along with the development process in place at Financial Times. Filmed at qconsf.com.
Rob Shilston is a director of the FT's Labs division, which works on experimental web technologies and produces products such as the FT web app. He is currently responsible for the technical delivery of the FT web app and its hosting infrastructure. Prior to FT Labs, Rob founded the web consulting firm Assanka, which was acquired by the FT in January 2012.
Cloud computing, a concept that has leapt onto the scene in the last few years, is available to libraries in the form of hosted systems for an ILS or for e-resource access. These systems take advantage of cheaper computing power, increased availability of services such as Amazon Web services, and new development strategies from library vendors. What does moving library information to a networked environment do to improve the overall management of the system? How can libraries leverage cloud-hosted and managed collections? Are there tradeoffs in terms of local control? Learn the answers to these and related issues at this webinar where speakers will discuss actual cloud implementations in library environments.
High Scalability by Example – How can Web-Architecture scale like Facebook, T...Robert Mederer
Skalierbarkeit bedeutet hohes Aufkommen von Traffic, Daten, Userbase, IO, Parallelverarbeitung und Concurrency, aber wie funktioniert dies bei den bekannten Web 2.0 Plattformen. Wie wird skaliert – horizontal oder vertikal, im Client-Layer, Service-Layer oder im Backend-Layer? Welche Rolle spielt Caching, NoSQL, Clustering und MapReduce bei der Skalierbarkeit? Wie wirkt sich die Skalierbarkeit in Sachen Konsistenz vs. Verfügbarkeit vs. Network Toleranz aus? Der Vortrag geht vergleichend auf verschiedene Konzepte von Skalierbarkeit ein und erläutert anhand von Beispielen wie mit pragmatischen Mitteln eine skalierbare Architektur erreicht werden kann.
The Reactive Principles: Design Principles For Cloud Native ApplicationsJonas Bonér
Reactive Summit Keynote 2020: https://www.youtube.com/watch?v=e5kek8vx2ws
Abstract: Building applications for the cloud means embracing a radically different architecture than that of a traditional single-machine monolith, requiring new tools, practices, and design patterns. The cloud’s distributed nature brings its own set of concerns–building a Cloud Native, Edge Native, or Internet of Things (IoT) application means building and running a distributed system on unreliable hardware and across unreliable networks. In this keynote session by Jonas Bonér, creator of Akka, founder/CTO of Lightbend, and Chair of the Reactive Foundation, we’ll review a set of Reactive Principles that enable the design and implementation of Cloud Native applications–applications that are highly concurrent, distributed, performant, scalable, and resilient, while at the same time conserving resources when deploying, operating, and maintaining them.
Neil Millett, Marketing Manager, reed.co.uk ‘‘Revealed: More of what your target candidates really
want’ Reed.co.uk are back to share results of over 1,800 candidates on how things have changed in 12
months. All new insights including; • What candidates do to form an opinion on your employer brand •
The long term impact of positive and negative recruitment experiences • How industry affects candidate
recruitment expectations
Slides from my keynote at a music industry conference #MIRC2014 June 2014
Helping music retailers with SEO, Content Marketing and Social Media.
Tried (pretty hard!) to relate them to Album covers... loved to hear you thoughts and any other album covers I could have used!!
Cloud computing, a concept that has leapt onto the scene in the last few years, is available to libraries in the form of hosted systems for an ILS or for e-resource access. These systems take advantage of cheaper computing power, increased availability of services such as Amazon Web services, and new development strategies from library vendors. What does moving library information to a networked environment do to improve the overall management of the system? How can libraries leverage cloud-hosted and managed collections? Are there tradeoffs in terms of local control? Learn the answers to these and related issues at this webinar where speakers will discuss actual cloud implementations in library environments.
High Scalability by Example – How can Web-Architecture scale like Facebook, T...Robert Mederer
Skalierbarkeit bedeutet hohes Aufkommen von Traffic, Daten, Userbase, IO, Parallelverarbeitung und Concurrency, aber wie funktioniert dies bei den bekannten Web 2.0 Plattformen. Wie wird skaliert – horizontal oder vertikal, im Client-Layer, Service-Layer oder im Backend-Layer? Welche Rolle spielt Caching, NoSQL, Clustering und MapReduce bei der Skalierbarkeit? Wie wirkt sich die Skalierbarkeit in Sachen Konsistenz vs. Verfügbarkeit vs. Network Toleranz aus? Der Vortrag geht vergleichend auf verschiedene Konzepte von Skalierbarkeit ein und erläutert anhand von Beispielen wie mit pragmatischen Mitteln eine skalierbare Architektur erreicht werden kann.
The Reactive Principles: Design Principles For Cloud Native ApplicationsJonas Bonér
Reactive Summit Keynote 2020: https://www.youtube.com/watch?v=e5kek8vx2ws
Abstract: Building applications for the cloud means embracing a radically different architecture than that of a traditional single-machine monolith, requiring new tools, practices, and design patterns. The cloud’s distributed nature brings its own set of concerns–building a Cloud Native, Edge Native, or Internet of Things (IoT) application means building and running a distributed system on unreliable hardware and across unreliable networks. In this keynote session by Jonas Bonér, creator of Akka, founder/CTO of Lightbend, and Chair of the Reactive Foundation, we’ll review a set of Reactive Principles that enable the design and implementation of Cloud Native applications–applications that are highly concurrent, distributed, performant, scalable, and resilient, while at the same time conserving resources when deploying, operating, and maintaining them.
Neil Millett, Marketing Manager, reed.co.uk ‘‘Revealed: More of what your target candidates really
want’ Reed.co.uk are back to share results of over 1,800 candidates on how things have changed in 12
months. All new insights including; • What candidates do to form an opinion on your employer brand •
The long term impact of positive and negative recruitment experiences • How industry affects candidate
recruitment expectations
Slides from my keynote at a music industry conference #MIRC2014 June 2014
Helping music retailers with SEO, Content Marketing and Social Media.
Tried (pretty hard!) to relate them to Album covers... loved to hear you thoughts and any other album covers I could have used!!
Brief description of ThisWay for SXSW 2017 Panel Picker. Web/mobile app launch March 12, 2017 during SXSW Conference. Please write if you would like an invitation.
CIB W78 2007 - Comparison of distance learning coursesRobert Klinc
Even though advances in information and communication technologies (ICT) significantly changed the way professionals in building and construction (BC) industry work, the dominant training method is still the traditional classroom lecture with all its drawbacks.
In response to the demands from the AEC sector to improve and broaden the competence of engineering students in using new technologies while solving specific problems, in 1993 University of Stanford (USA) started an ICT supported distance learning course named Architecture/Engineering/Construction Computer Integrated Global Teamwork Course (AEC Global Teamwork). The mission of the program is to educate the next generation of professionals to be able to work in multi discipline collaborative environments and to take advantage of information technologies to produce high quality products in faster and more economic way.
Positive feedback of the AEC Global Teamwork encouraged other institutions to introduce their own BC oriented distance learning courses, one of them being ITC Euromaster. In autumn 2001, nine European universities started the project in order to develop an inter university postgraduate programme in information technology in construction (ITC).
This paper describes similarities and differences of both approaches, presents results of the survey carried out among participants of both courses, and compares both of them from the students’ point of view.
Survival tips for nonprofit communications professionals drawn from Kivi Leroux Miller's book, "The Nonprofit Marketing Guide: High-Impact, Low-Cost Ways to Build Support for Your Good Cause."
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.
Nature is the ultimate complex system. Nature 1.0 is seeds & soil. *Evolving.* Nature 2.0 adds silicon & steel. *Evolving.*
Presented to Complex Systems Group, Stanford University, on May 4, 2018.
The PDX Splunk community came together for a fantastic in-person Splunk PNW User Group at Steeplejack Brewing Company in PDX! We had a great Detection Engineering walkthrough and demo from our sponsor Anvilogic, and Arcus Data gave a wonderful demo of both Edge Hub and AI Assist. See you again soon!
Discount Usability Testing for Agile TeamsBen Carey
A talk from Agile Roots in 2010. You can't get the whole picture or much context from the slides.
The last part of the talk was referring to how you'll be remembered and your legacy in a social-media-based world.
It would be unfortunate if your last status update was the one that you see in the facebook wall post.
Video from the talk will be posted later.
My talk at the @media Ajax conference in London in November 2007 about the non-technical steps you can take to make JavaScript and Ajax work for larger teams.
Adopting A Whole Team Approach To QualityBen Carey
A presentation give at Agile Carolinas on some things that I think are needed to build quality software.
The content of the presentation is in the presenter notes.
WebCamp: Project Management Day: Управление требованиями в Agile: как это про...GeeksLab Odessa
Управление требованиями в Agile: как это происходит в реальном мире
Прихнич Алена, Co-founder & trainer at E5
Сахаров Роман, Lead Business Analyst & Resource manager at EPAM Systems, Co-founder & trainer at E5
В Agile манифесте говорится: “Работающий продукт важнее исчерпывающей документации”. Каждый понимает этот пункт по своему: кто-то сокращает требования к 1-2 строчкам, потом получая плод творчества программистов, кто-то, напротив, стремится детально все описать, тратя на это время, за которое продукт уже может стать не актуальным на рынке. Как же найти баланс, ту золотую средину, которая поможет вашему проекту получить оптимальное соотношение: качественная документация vs затраченое время и ресурсы?
Как управлять требованиями на Agile проектах, какие есть подводные камни и как их лучше обойти. Типичные шаблоны User Story, Product Vision, коснемся темы Story Mapping. Живые примеры из практики.
“Tell us your business rules and we will execute them”. This deceptively simple promise of Business Rules Management Systems underestimates the pain felt by practitioners going through their first project. Turning tacit knowledge into executable business rules is a difficult task.
The famous quote from Michael Polanyi, “we know more than we can tell”, summarizes beautifully the challenges faced by business users, business analysts and rules architects. Although partially documented in regulations and business manuals, knowledge is mostly buried deep in the head of knowledge workers and simply asking for it is easier said than done. Is the resulting body of rules comprehensive enough? Is it specific enough? Is it correct and accurate?
In the 1980-90’s, the Artificial Intelligence community invested heavily on various techniques for expert interviews to tackle this very problem. With the winter of AI, expert systems became less popular and so did those efforts. Experts were too few and their time too valuable to participate in those time-consuming interviews.
More recently, Agile Programming transformed development cycles by, among other things, bringing test cases at the forefront of the effort. Communication between product managers and developers has improved by discussing requirements in the context of use cases well established up-front. This talk presents a new approach to knowledge elicitation that combines Agile and AI concepts for the modern usage in Decision Management systems.
In particular, attendees will learn how to accelerate harvesting time and increase the quality of the extracted business rules at the same time. 100% pragmatic advice.
Agile Development Overview (with a bit about builds)David Benjamin
I gave this presentation to our dev team when i started at Hannan IT back in October. Its a quick run through the Agile basics, with a bit of extra discussion on continuous integration.
I experimented here with scripting in two tangential sections in the hopes that it would avoid many more spontaneous tangents. It worked!
Exploratory testing is an approach to testing that emphasizes the freedom and responsibility of testers to continually optimize the value of their work. It is the process of three mutually supportive activities done in parallel: learning, test design, and test execution. With skill and practice, exploratory testers typically uncover an order of magnitude more problems than when the same amount of effort is spent on procedurally scripted testing. All testers conduct exploratory testing in one way or another, but few know how to do it systematically to obtain the greatest benefits. Even fewer can articulate the process. Jon Bach looks at specific heuristics and techniques of exploratory testing that will help you get the most from this highly productive approach. Jon focuses on the skills and dynamics of exploratory testing, and how it can be combined with scripted approaches.
Disciplined Entrepreneurship: What can you do for your customer?Elaine Chen
In this class, we will explore how, given a target market and chosen user persona, we can come up with a solution that solves these problems and meets the needs and wants of the customer. We will discuss how to come up with ways to develop high level product concepts that can be tested in the field. We will cover hypothesis testing techniques, including classical quantitative techniques like usability benchmarks as well as modern techniques such as the use of landing pages to test product interest and purchase intent.
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.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
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.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
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.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
JMeter webinar - integration with InfluxDB and Grafana
Tim Mackinnon Agile And Beyond
1. Agile Practices -
Aspiring for More
QCon London 2008
XPDay Sampler Track
Tim Mackinnon
http://www.iterex.co.uk
2. Agile Software Aspiring for More …
Agile development is moving into the mainstream, it's now included in CV's
and job advertisements. But, beyond the hype, where have we really got
to? What do we need to remember as we move on, and what should we be
looking to in the future?
This talk will present examples of how members of the eXtreme Tuesday
Club and founders of XPDay learned to think beyond simple agile
techniques and used a form of appreciative enquiry to achieve higher
outcomes. Looking back on our experiences, frameworks like eXtreme
Programming have been misunderstood - far from being dictatorial, they are
aspirational. But now we've hit mainstream, what's next to aspire to?
Tim Mackinnon is a pioneer of Agile Development. His contributions include the well
recognized techniques: Mock Objects, Gold Cards, Heartbeat Retrospectives and
Futurespectives.He has worked with many organisations, developing, teaching and
mentoring teams in effective Agile methods.
Tim is also the founder of Iterex Ltd, a company specialising in Iterative Excellence,
and the creator of the Iterex Professional software.
3. Agile – Is It Mainstream?
Source: jobserve.co.uk – 23/Nov/2007
7. Appreciative Inquiry – An Agile Core?
The study and exploration of
what gives life to human
systems when they function at
their best
AI suggests that strengths,
successes and hopes are
transformational
Agile is not just process and
practices, but a belief in
achievement
Image attribution: Paleontour
9. What is this Agile fairy tale?
An umbrella term covering development frameworks that
adhere to the Agile Manifesto:
“We are uncovering better ways of developing software by doing it and
helping others do it. Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan.
That is, while there is value in the items on the right, we value the items
on the left (bold) more.”
10. Agile Taxonomy
Of course, given this loose definition of agile, many things fall into
this category
Some are more extreme in their definitions
Hybrid approaches are now quite common, and can work well if
they are sympathetic to their roots.
Agile
XP Scrum Crystal RUP?
Hybrid
11. But did you read the second page?
Principles behind the Agile Manifesto
Our highest priority is to satisfy the customer
through early and continuous delivery
of valuable software.
Welcome changing requirements, even late in
development. Agile processes harness change for
the customer's competitive advantage.
Business people and developers must work
together daily throughout the project.
+ more…
14. AI Applied – the Mock Object Story
Image attribution: danperry.com
15. Testing with No Getters
Connextra 1999, we had
started possibly the first UK XP
team
Were writing lots of “tests” but
found we were adding getXXX
to facilitate testing
protected int getSalary() {
return this.salary }
Our CTO (John Nolan) insisted
this was compromising too far
“No Getters” was our challenge
16. Onion Peels and Composition
Software can be viewed as
layers of functionality built
around each other
But how to access functionality
inside?
By challenging ourselves we
(re)discovered:
Composition is better than
inheritance
Rich Interfaces based on
behaviour
Specifying Expectations in
interesting
Image attribution: Darwin Bell
17. Mocks asserting interactions with object under test
MockStockExchange
Expect 1 call for 5 buys
Answer stub value: £5000
MockBankAccount
TestBuyCheapest
Expect debit for £5000
Agent
18. The Evolution Of Mocks…
Hand coded “Stubs”
Refactored simple
expectations:
ExpectationCount
ExpectationList
Mock Maker to generate
mocks for interfaces
Dynamock / Easymock
reflection based mocking
Jmock, DSL
Jmock2 DSL for Java 5
19. But Where Did These Objects Come From?
The Lost Art Of CRC cards!
The loss of Objects
Who uses CRC cards?
When observing (junior?)
programmers struggling with a
test, the main reason was
failure to understand which
object they were testing
In fact in many instances they
had even forgotten what they
were testing
Not only are cards useful,
acting out the system in your
team can be beneficial
20. The Importance of Group Sharing (XtC) and XPDay
Started XtC/XpD to encourage
sharing Ideas and to have a
beer with friends
How many of you introduced
yourself to the person beside
you?
Mentioned Mock Objects as:
“This concept is obvious right?
Everyone must do something
like this?”
NO! In fact the simplest ideas
are often those overlooked
By sharing, many got involved
and helped refine the work
This is where XPDay was born
21. First Slide of the first XPDay
Welcome to XP Day 1, Steve Freeman/Tim Mackinnon
22. While talking about Cards…
How many of you use story
cards?
How many of you use a
planning board?
Energized Work Story Boards with cartoon
magnets - courtesy Simon Baker/Gus Power
23. Story Card Technology…
Planning is based on “Story Cards”
A simple but effective requirements
capture tool
Resist overusing technology, keep it
simple and tactile
A Story is a placeholder for a bigger
conversation
A Story has enough information to
allow a simple estimate
In 2001 we used a specific format for
clarity
A good title to make it easy to refer to
An “author” allowing developers to have
a conversation
Format: As a “Role”, I want “Feature”
so that “Business Value”
24. Its Nice to see Extending Story Cards…
Source: Antony Marcano – http://am.testingReflections.com
25. Writing some tests
Test: select some favourites
Test: edit favourites
Test: select all as favourites
Test: select none as favourites
Source: Antony Marcano – http://am.testingReflections.com
26. But once it was implemented…
The tests passed, but…
Exploratory Testing discovered…
Bug: can’t save favourites
from cached page
Bug: added favourites lost
in cached page
Bug: remove loses all
favourites in cached page
Source: Antony Marcano – http://am.testingReflections.com
27. Moving back to a story
Test: can’t save favourites from cached page
Given I have had 3 favourite stations saved
and I am was viewing the cached instance of the ‘edit favourites’ page
that made the selection
When I selected ‘save favourites’
Then the same now/next view shows the schedule for the 3 selected
favourite stations
favourites were lost
Source: Antony Marcano – http://am.testingReflections.com
28. Final story with additional “Rather Than”
Source: Antony Marcano – http://am.testingReflections.com
30. Printing Demo
Demo printing out a
card from Iterex onto
an HP 526 Photosmart
printer using a
standard 6x4 index
card.
31. But where do you get the time for this?
Gold Cards (presented XP Universe 2001)
Just an Index Card with a gold
star on it?
Provide a separate stack of
self directed cards – 2 per
developer
Cannot be “carried over”, must
be taken over the month
Team self organises on their
redemption
Must be used to further the
team
Demonstrated at weekly
“Show & Tell”
32. But Good Ideas Don’t Always Create Happiness…
How many of you track
velocity/burndown?
Do you spot patterns? Low
Points?
We discovered “Catholic Guilt”
in the process
And this is where Gold Cards
came from
We also discovered how not to
ask for problems
And we discovered
Retrospectives, in fact
Heartbeat Retrospectives
33. Be Careful Of What You Ask For…
We held a session to brainstorm:
Problems
Fears
Issues
We got what we asked for…
Lots of problems
The shock of dealing with an anonymous card like:
“Hypocritical Management”
34. Retrospectives
Q: “how to prevent such an emotional build-
up?”
Answer: retrospective (rèt´re-spèk-tîv) -- a
ritual held at the end of a project to learn
from the experience and to plan changes
for the next effort.
Pioneered by Norm Kerth
Project Retrospectives: A Handbook for
Team Reviews
Agile Retrospectives: Making Good Teams
Great (E. Derby & D. Larson)
We weren’t at the end of our project (or at
least didn’t want to be), but this seemed to
fit the bill…
35. Tips for your Retrospectives
To have an honest discussion, everyone must feel “safe”
Use a simple ranking exercise:
1. No Problem, I’ll talk about anything
2. I’ll talk about almost anything, a few things might be hard
3. I’ll talk about some things, but others will be hard to say
4. I’m not going to say much, I’ll let others bring up issues
5. I’ll smile, claim everything is great and agree with managers
Present your agenda first!
Do a safety exercise by ballot to verify a level of 3+
Mention that knowledge of the project is not being measured, its
comfort in talking in the room
Stress all exercises are optional, just say pass
36. The Timeline Exercise – Phase 1 (Mining)
Get everyone to mine events in your project, green for success, red
for problematic
Use some yellow “post-its” at the top of the timeline to align
everyone’s vision of time – record some months and some priming
events (e.g. Xmas Party).
Xmas Jan Feb Mar Apr
Party
Area Reserved for phase 2
37. Phase 2 - Feelings
Ask the group to walk along the time line and mark a dot
indicating how they each felt about each event
Happy
Sad
38. Phase 3 - Studying
Ask the group to stand back and look at the timeline
With the group encourage volunteers to draw a line
through the dots and explain their trend and feelings.
Record main trends, and general observations on a
flipchart for later discussion
Happy
Sad
39. A Resulting Timeline
You will probably get timeline like this (this example from a 6 month
project)
You may notice interesting contradictions – the area which has a
lot of successful events was not unanimously viewed as a happy
time by the team. This is something to discuss.
40. Other Excercises…
Project pictures
Futurespectives
Sharing team roles
For exercise details refer to: http://www.planningcards.com/site/links/papers.htm
41. Futurespectives – Influencing your future
Step years into the future and
brainstorm the success of your
project.
What does it look like?
Now step back a year and
brainstorm ideas that got you to
that future space
Keep going back until the present
– what simple steps will get you to
the next year – and ultimately your
future?
Use some yellow “post-its” at the
top of the timeline to align
everyone’s vision of time – record
some months and some priming
events (e.g. Xmas Party).
42. Aside: What we could have done, if we knew…
Break into teams to identify situations based on
experience that supported the “Hypocritical
Management” card
For each, analyse forces that contributed to this
situation
Propose ways to avoid this situation in the future
43. Practicing Happiness
In Society, an accurate
perception of reality is often
considered “a negative one”
Organizations normally
operate in this negative norm
When we introduce the
positive and honest, we are
seen to be challenging the
norm
This is non-technical but most
problems aren’t technical!
Image attribution: volcanocom.com
44. Appreciation
Injecting positivity into our picture of reality is an act of completing
reality (the Appreciative Inquiry effect)
Lasting relationships exhibit a 5:1 ratio of appreciation to criticism
But appreciation needs to be genuine, succinct and concrete
(if you fake it they will know)
Nancy Kline in “Time to Think” writes:
In exploring why so few people appreciate each other directly, I
discovered the problem lies in doing such a lousy job of receiving.
Being appreciated increase your intelligence. It helps you to think better.
So don’t utter a hissing “humph”… Those dismissive responses actually
insult the person who paid you the compliment. And insults are a
thinking inhibitor.
45. Receiving Appreciation
“Just say thank you“
Think of it as a gift.
It is good manners to say
thank you when you receive a
gift.
But don’t do it for manners - do
it because, if you don’t it will
destroy the “Thinking
Environment” for both of you.
This easy tip is very hard, it
takes practice
46. Honest feedback not just lip service…
Summary Description
Applies the competency in difficult or unusual situations. Innovates and furthers the practice.
Excellent Evangelizes it and develops others in the practice.
Incorporates the practice into their daily work, almost without thought, and does it without having to
prepare or make a special occasion of it. It is part of their quot;comfort zonequot; and does not drop the
Does Well g
practice when things quot;get toughquot;.
5
Aware of the practice and understands it in theory. Has done it themselves under supervision but only
Does Somewhat does it when asked or in simple situations.
5
4
Not heard of the practice, or heard of it but not done it, even under supervision.
Not Aware /
5
Understands the practice, even if only superficially, yet actively argues against its use. With respect to
Does Poorly 3
this particular practice they are uneager, doubtful, and questioning.
.5
2
.5
1
0.5
31-Aug-05
0
BA 17-Aug-05
Dev
IM 01-Aug-05
PM
PrM
QA
51. Appreciative Inquiry – Doing More
Affirmative
Topic
Discovery
“Appreciate what is”
Destiny Dream
Create what might be Positive “Imagine what might be”
Core
Design
Determine what should be
52. How to go about it…
Have a vision for what you want (Futurespective)
Believe you can achieve those things (Retrospective,
Practicing Happiness, Building Things)
Setup a new belief system
Now the important part….
The “Get off your arse principle”
You have to take action, consistently to achieve your
goals (XP, Retrospectives)
Source: John Assaraf – The Answer (Metro article 13/03/2008)
53. In The Horizon?
Things that look interesting, that
you might challenge yourself to
consider
Kanban
David Anderson
Features
Based on Lean Manufacturing
Principles
Physically limits work-in-progress
(fixed job queue’s with kanban
limits and a pull system);
Balance capacity against demand
(new items can only be introduced
when a kanban card frees up after
a release)
Prioritization of mmf’s
No estimation or velocity, but track
time for features to complete
54. Where will your journey take you?
Image attribution: Joe Shlabotnik
55. Thank you
Speaker: Tim Mackinnon
http://www.iterex.co.uk
Try Iterex Professional Beta:
http://www.planningcards.com
Why not come to an XtC evening, or
an XPday conference?
56. Acknowledgements
Thanks to users of Flickr who use a creative commons
licence for their pictures
Renewtek for kind permission to reproduce two of their
slides from their excellent presentation at Scrum 2007
London
Antony Marcano (http://am.testingReflections.com) for
sharing his enhancements to the Connextra story card
format
57. Introducing Iterex Professional
Helping teams split projects
into meaningful pieces for easy
estimation and progress
tracking.
Features:
Rich native Windows interface
Produces vivid tracking charts
for group reflection.
Prints 4x6 index cards
Vision:
An agile outliner for efficiently
tracking and refactoring ideas
http://www.iterex.co.uk