Conference Day 1
Keynote: Scrum Insights
9:00 a.m. – 10:00 a.m.
As Ken Schwaber has worked with people using Scrum, he has encountered some areas that need clarification. These include the Sprint planning meeting, daily Scrum, and the role of the ScrumMaster. Ken will share some insights into these practices, roles and timeboxes during this keynote.
Man and Machine
10:30 a.m. – 12:00 p.m.
When we think of automated testing, we usually think of unattended tests that are executed by computer software. When we think of manual testing, we think of a human being executing tests without the aid of a machine. These activities need not be mutually exclusive—we can use automation tools to help us as we undertake manual testing. Instead of thinking of tests as either automated or manual, Jonathan Kohl explores areas where you can blend the activities. You might ask questions such as: "To what extent will test automation help me in my testing work?" or "What do we lose if we run these tests without human supervision?" Jonathan discusses and demonstrates a different way to think about test automation, as an intersection between automated and manual testing. He highlights techniques of this hybrid testing approach, providing examples from other disciplines and from his own experiences.
This session will include demonstrations of using automation tools to support exploratory testing, rapid test data generation, and environment monitoring. We will also explore testing against interfaces other than the user interface. Since there are no testing tools that directly address this automation niche, you may see familiar tools used in new ways.
Agile Planning in Action
10:30 a.m. – 12:00 p.m.
Immerse yourself in agile planning! This highly-interactive session creates a real-world planning environment, complete with user stories, estimates, stakeholders, and tough planning trade-offs. As part of a team, you'll compete to create the best product possible.
The product? A tutorial on agile development... that our presenter will actually deliver. Just as in real agile planning, you'll have to figure out what your fellow attendees want to hear about, how to make difficult trade-offs between conflicting desires, and how to fit all of the possibilities into the limited time available.
This is a highly interactive session, with very little lecture. It's aimed at beginners, but anybody can attend and enjoy the session. The session consists of two teams competing to create an agile tutorial using agile planning techniques.
Participants learn how agile planning works in practice, but more importantly, they get a chance to experience the frustration that arises from having to make decisions with real consequences. Then, during the debrief, we explore those frustrations and how best to deal with them. Participants leave with new strategies for collaborative planning, and a new appreciation for the difficulties their product owners face.
The Journey to Agile
10:30 a.m. – 11:15 a.m.
This experience report features “Agile Jeopardy” an audience participation game eliciting discussion of Agile Practices their interdependencies and pre-requisites for successful adoption.
1. Setting the Stage a. Why Agile? What benefits are expected? b. Existing process – how do we plan, execute and deliver pre-Agile c. Existing culture and team dynamics – What’s important to consider 2. Agile Practice Jeopardy a. Categories of Agile Practices b. What is … (short definitions) 3. Which practices and how many to introduce first a. Taking stock --- skills; alliances and contention b. Developer Confidence and its affect on introducing practices 4. Communicating upwards a. New language for executives? b. How to measure success 5. Summary, observations and conclusion
XP Transition at BC Lottery Corp
11:15 a.m. – 12:00 p.m.
Barbara and Team have been able to successfully implement eXtreme programming method in a highly regulated environment where every line of code must be audited and approved before launching into production. They will present on their three biggest technical challenges: code management for continuous integration, test driven development on a web based application, and releasing infrastructure needed to support production ready releases on a bi-weekly basis.
Are Agile Testers Different?
1:00 p.m. – 2:00 p.m.
Everyone on an agile team does testing. The lines between developers and testers have blurred. If that’s true, what’s so special about an agile tester? If I define myself as a tester on an agile team, what does that really mean? If programmers write tests, what are testers supposed to do? Do agile testers need different skill sets than testers on traditional teams? What guides them in their daily activities?
When it comes to agile testers, skills are important, but attitude is everything. How do testers acquire the results-oriented, customer-focused, collaborative and creative mindset that lets them be successful in an agile development environment? What makes a tester an agile tester?
Lisa Crispin will explain all this and more. She’ll present a Top Five list of principles that define an agile tester. Participants will learn how agile testers apply agile principles and values such as continuous feedback and simplicity to add value to their teams.
If you manage an agile team and wonder what you should look for in a tester, or you’re a tester looking for your place in the agile world, this talk will help.
1:00 p.m. – 2:00 p.m.
John Vanspronssen, Duncan Fraser
Tales from the Western Front
MDA's TurboClaim project was tasked with developing a new product for the insurance industry. The customer was initially averse to agile development, and so the project evolved through a series of not-fully-successful approaches for communicating with the customer about the problem domain and the desired system behaviour. Then the team began incorporating aspects of Domain Driven Design (DDD) and Behaviour Driven Development (BDD) into their work, and the pieces started to fall into place. DDD provided a common language for talking about domain elements, and also the means for mapping those elements to software. BDD provided a concise way of describing desired behaviour, while simultaneously specifying how that behaviour would be verified. It wasn't long before the customer began to think that agile wasn't such a bad thing after all.
This presentation will provide:
* a brief overview of DDD and BDD * how we believe DDD and BDD complement one another * how BDD compares to other related techniques we have used * what aspects of DDD were used * what challenges were overcome along the way * what challenges remain
Agile Testing Matrix
2:00 p.m. – 3:00 p.m.
Testing vocabulary has become muddled over the years. It confuses and confounds both testers and developers alike. We ask agile teams to work closely with each other, but those testers and developers who come from a traditional software development background, often have no collaborative skills necessary to work with each other. Common vocabulary is a powerful tool to give to teams to start the interaction necessary for great collaboration efforts.
Instead of talking about testing in terms of black box, grey box, glass box, white box testing, component, integration or functional testing, the agile testing matrix can be used as a base for this common vocabulary about testing. It can be used as a mechanism to start discussions and encourage collaboration within the project team as well as with teams or customers that may external to the project.
The four quadrants of the matrix describe different reasons why we test and help us formulate ideas in a common language.
1. Technology facing tests that support the team 2. Business facing tests that support the team 3. Business facing tests that critique the product 4. Technology facing tests that critique the product
Note: This talk can be a couple hours to talk about the basics or turned into a full day tutorial with discussion and exercises.
Small is Beautiful - Scaling Agile
2:00 p.m. – 3:00 p.m.
Over the past years, successful practitioners have applied Agile methods like Scrum and eXtreme Programming (XP) on individual projects to cut development lead times, improve product quality and reduce engineering cost. For instance, time-to-market reductions in the range of 30-50% have been reported by leading companies. Now, as these practitioners seek to expand on their initial successes, they face many complex obstacles posed by the realities of today's business environment: multiple organizational silos, distributed teams, interfacing with 'non-agile' vendors and customer organizations, continued cost cutting, complex product suites, and the pressing need for innovation.
How can agile practitioners apply the fundamental tenets of Agile - integrated small teams, small releases, sufficient-to-purpose, etc - to provide the next round of significant returns from their Agile investment? Sanjiv Augustine of LitheSpeed will lead a discussion on adopting a philosophy of smallness within bigness to allow the scaling of Agile practices beyond individual projects to deliver process improvements in complex environments with multiple projects.
* Small Teams o Integrated Agile Team o Scaling Agile Teams o Stable Teams * Small Releases o Realigning the Portfolio o Incremental Funding o Managing the Flow * Small Governance o Self Management o Team Productivity o Portfolio CoordinationOrganizational Process QA
The Agile Playground: Learning Games for the Agile Practitioner
2:00 p.m. – 3:00 p.m.
playground |ˈplāˌground| noun
a place where a particular group of people choose to enjoy themselves :
* the mountains are a playground for hang gliders. * this session is a playground for Agile teachers and learners.
This fun, energetic, and interactive session explores game techniques for accelerating the adoption and understanding of Agile principles through experiential learning . The audience will learn unique learning Vectors (Physical, Emotional, and Impressional) for targeting the understanding of Agile values and principles. This session is for anyone looking to learn new and powerful techniques to convey and reinforce the concepts and principles behind Agile.
Attendees will participate in a game that illustrates Lean pull mechanisms to see a firsthand example of how these techniques can be applied to explain complicated ideas. In addition, all participants will leave with access to a complete toolkit containing descriptions of games that they can take back to their teams and classes.
I am going to attend this session because;
* I want to have fun. * I am an instructor and I want to learn new and powerful techniques to convey and reinforce the concepts and priniples behind Agile. * I am a coach or Scrummaster and I need efficient and effective tools to help teams become confident and capable at applying Agile practices as quickly as possible. * I am a lead on my team and I need a toolset to change the way my team works together * I am new to Agileand I want to learn the principles behind Agile in a fun and interactive way.
3:30 p.m. – 5:00 p.m.
The Test-Driven Development cycle moves functional test specification to the earliest part of the software development life cycle.
Functional tests no longer merely assess quality; their purpose now is to drive the development of a quality software product. For some agile process, like eXtreme Programming, functional tests are the primary requirement specification artifact. When functional tests serve as both the system specification and the automated regression test safety net they must be:
- Viable for the lifetime of the production code. - Easier to write than production code. If writing functional tests are a bottleneck to writing production code, they will be considered optional and quickly become incomplete and obsolete. - More correct than production code. Bugs in functional tests will create and/or mask bugs in production code. Functional tests drive what is developed, and are used to detect bugs introduced over time as the production code changes. - More readable than production code. Non-technical subject matter experts (SME) are relied upon to validate the correctness and completeness of the functional tests. - More easily and safely maintained than production code. Functional tests don't have the same type of regression safety net as production code. - More locatable than production code. All of the relevant functional tests must be found and updated before the production code can be updated.
Topics covered include:
- Context: How functional tests fit into the overall spectrum of testing. Where functional tests fit into the overall project development cycle and the test-driven development cycle. - Formats: Functional tests can be textual, graphical, tabular, or storyboarded. - Specification: A prescriptive test script is refactored step-by-step into an effective requirements specification. Emphasis is placed on developing a domain specific testing language, and other best practices for making your tests a valuable project asset. Advice is given for how to clean up an existing functional test suite.
Business Case for Agility
3:30 p.m. – 5:00 p.m.
Agility is catching on. Many companies are, unfortunately, running into the limits of popular methods such as Scrum, which don't naturally scale to the enterprise. Creating enterprise agility through a process of coordinating separate teams is not as effective as starting with the enterprise view that Lean provides. Lean's principles of "optimize the whole", "deliver fast", "eliminate waste" and "build quality in" enable an Enterprise view that provides guidance to both the enterprise and its teams that Agile by itself does not.
Current agile methods have had difficulties at scaling to the enterprise. This is because most of the experience with these methods are at the team level. Lean, on the other hand, starts with the enterprise and gives insights into how teams should both work together as well as on their own.
This seminar introduces Lean Software Development and demonstrates how its enterprise view can be used to better direct product portfolio management, coordinate teams to allow scaling to the enterprise as well as improve the efforts of the teams.
Agenda: * Lean software development as fast-flexible-flow * The business case for agility o Add value quickly o Get clarity on customer needs o Better project management o Learn quickly o Develop better * Managing your product portfolio * Building Integrity In - The New Role of Quality Assurance
Interactive Marketing and Branding – the Agile Way
3:30 p.m. – 4:15 p.m.
Agile development often involves small (5-9 team members), dedicated, collocated, and generally heterogeneous teams – typically several developers and a Project Lead. Unfortunately, in our digital agency environment, this is seldom the case. In this talk I will first present some of the common challenges we face in our organization, challenges such as complex projects, short timelines, large, dispersed and multi-disciplinary teams, unique and diverse engagement types varying from Strategic Planning and Branding projects to large Technical Build projects. Then I will focus on the evolution of the Agile Maturity level in our organization, and how we created and evolved custom-made processes in order to make possible Agile project delivery. And lastly I will focus on how we redefined the role of our team leads (and in particular the role of the Project Manager) so we can deliver successfully even under difficult constrains such as projects with a fix price / budget / timeline, a complex program involving multiple parallel tracks and integration with 3rd party vendors, multiple client stakeholders (dispersed, and representing different departments and priorities).
Distributed Agile – Written Standup??
4:15 p.m. – 5:00 p.m.
Blasphemy!!….Agile in the real world means we do not always have a collocated team; maybe not even a co-state or co-country located team. This talk is given based on my experience in a consulting services company working across multiple customers with multiple distributed teams. We will examine some of the practices we have adopted and are looking to adopt based on the customer’s “project system”, and a customer’s capacity to embrace environmental change. Most customers we collaborate with are practitioners of Agile software development, some of them are not. My company only executes our near shore projects in an Agile project management framework; this sometimes creates an additional challenge of coaching agile processes paired with distributed team members. We take a pragmatic view in order to meet customer goals, provide the appropriate services and coach the teams effectively. I will be sharing practices to initiate a distributed team project, foster collaboration in ways that may be counterintuitive to the “Agile Way” and discuss some pain points to be mindful of. In Lean terms…think FLOW, in this case flow of information and collaboration.
Agile Vancouver AGM
6:30 p.m. – 8:00 p.m.
All participants are welcome to attend Agile Vancouver's Annual General Meeting. Under our requirements as a registered, non-profit society, we will be holding an election to elect four members to our board. Please come out and vote.
Birds of a Feather Session
6:30 p.m. – 8:00 p.m.
An informal discussion group
After the AGM, we will run Birds of a Feather sessions. We will collect Birds of a Feather topics at the start of the day.