Keynotes

Joe Justice of WikiSpeed

Team WIKISPEED entered a $10 Million competition to produce road legal 100+ mpg cars. They built the impossible in three months. Joe Justice will talk about how Agile practices were applied to enormously speed up physical manufacturing. Joe leads WIKISPEED, a team of 150 volunteers in 15 countries, and walks through how their 100 MPG road car was made possible through modular design, iterative development, and Agile project management. Joe takes a deep dive on exactly how Agile from software projects is applied to physical engineering and manufacturing. Joe will use the example of the design and development of their revolutionary 100 mpg, gasoline powered, four-seat car with a target price of $17,995.

This ground breaking work expands the agile process to the design and manufacturing of the car. The talk will provide tools and take-aways for engineers and executives in manufacturing and software looking to improve their processes. New professionals and students can see examples of the value found in pairing, prioritized backlog driven development, and extreme programming as they see the methodology jump from software teams to research, manufacturing, and product engineering.

Luke Hohmann author of Innovation Games

For many organizations, agile methods have been a proven answer to the vexing questions of developing better software.  But now that many organizations have mastered agility, they are once again turning to innovation.  In this talk, Luke Hohmann will explore how collaborative play and serious games can help organizations improve their agile and innovation processes.

Sessions

Beautiful JavaScript with CoffeeScript

by Amir Barylko (75 minutes)

What is Coffescript you ask? From coffeescript.org:

"CoffeeScript is a little language that compiles into JavaScript. Underneath all those awkward braces and semicolons, JavaScript has always had a gorgeous object model at its heart. CoffeeScript is an attempt to expose the good parts of JavaScript in a simple way."

Join Amir in a session where we explore why using CS is a good idea and can improve the way you write code. We will talk about how to start, different environments, libraries, debugging, tools and everything under the JS sun!

Product Roadmaps - What's the use?

by Angie Duncan (30 minutes)

What is a Product Roadmap and how is it most useful?

Conceptually, a Product Roadmap is not just a project plan but a vision for the product or system that integrates with the strategic initiatives of a company.

Should a Product Roadmap be used as a selling tool; to sell the ideal of what is coming for prospects, or should the Product Roadmap be used solely for internal purposes to provide product direction and high-level future requirements?

During this session Angie will go through common practices in creating a Product Roadmap, its multiple uses, and the frequent pitfalls experienced by Product Managers, as striving to adhere to a previously defined Product Roadmap is often fraught with many challenges.

Agile in Different Environments

by David Alpert, Terry Bunio, Frank Conway, and Trish Rempel (75 minutes)

This session will discuss the real world challenges that Terry Bunio, Frank Conway, David Alpert and Trish Rempel have faced in implementing and customizing Agile in different environments. Terry, Frank, David and Trish each bring a different area of focus and experience:

Terry: Traditional and Agile Project Management and Data Architecture
Frank: Traditional and Agile Architecture and Agile Product Development
David: Traditional and Agile User Experience Design and Agile project leadership
Trish: Grassroots Agile Adoption and Agile with Distributed Teams

 They will share their experiences on how they answered questions like these:

"I want to run an agile project, but where do I start, and what changes do I need to introduce to my team?”
“I want to run an agile project, but how do I incorporate distributed team members and distributed teams?”
“I want to run an agile project, but how do I give the PMO what they need?”
“I want to run an agile project, but how do I give an estimate at the start for the budget?”
“I want to run an agile project, but how do I incorporate Business Analysts and Architects into my team?”
“I want to run an agile project, but how do I generate detailed specifications that are required by government and regulatory bodies?”
“I want to run an agile project, but how do I convince my stakeholders to let me?”

Terry, Frank, David and Trish will share their sometimes contradictory thoughts on what worked for them. The majority of the session will be fielding questions from attendees on what issues they currently have and brainstorming on possible solutions.

Come join us for a very interactive and pragmatic discussion on how Agile can be done in different environments.


Agile Data Warehouse – The Final Frontier

by Terry Bunio (75 minutes)

“Data - - - - the Final Frontier. These are the voyages of the starship, Agile. Its ten-year mission: to explore strange, new projects, to seek out new value and new solutions, to boldly go where no teams have gone before.”

In this episode join our team as they discover the space station ‘Warehouse’ adrift. Captain Tuple and his crew discover the foundation of the space station is crumbling and the entire structure has fallen into disrepair. The continuous repairing of the space station can not continue and collapse is imminent. To save the inhabitants the starship Agile must design and construct a new space station to support the inhabitants. The new space station is being built in iteration due to the fact that the transfer of inhabitants cannot wait until the new space station is fully complete. But time is running out…

This session will take the basis set forth in Scott Ambler’s “Agile Database Techniques” book and share the lessons learned, both positive and negative, in the replacement of an Operational Data Store and Data Warehouse in an Agile project. The first part of the session will review the concepts presented in “Agile Database Techniques”. The second part of the session will review how the project structured its iterations and how the Operational Data Store and Data Warehouse were designed, iterated, refactored, and deployed.

Special attention will be given to the Data Modeling or Normalization techniques that allowed for a change tolerant design, the Data Architecture design that implemented multiple layers of abstraction and isolation, and the refactoring techniques to evolve the Operational Data Store and Data Warehouse Data Models. Also presented will be the key role of an Enterprise Data Model in an Agile Database project.

Join us for a experience report of how the concepts in “Agile Database Techniques” evolved and were customized in a real world Data Warehouse project for a major Health Benefits provider.


Let's Get Organized! Creating the Team Culture You Need

by Chris Dagenais (75 minutes)

Self organizing teams are crucial to having motivated and invested employees in your organization. Placing focus on the team and not on the individual is not only key, but also one of the hardest things a team will need to do. We've been taught for most of our lives to look out for ourselves but there are many situations when this simply does not work. In this session I'll give a brief overview of what a self organizing team is for the beginners, and then we'll dive in to some more specifics about creating and maintaining the culture required for a self organizing team to thrive.


Peer Feedback, the lynch pin of a healthy team!

by Chris Dagenais (30 minutes)

Regardless of what development or project management methodology you use, your team is not operating anywhere near it's full potential if the team members don't have the ability to give and receive constructive feedback. Does your team have a couple members who don't pull their weight? How about somebody who always shows up late? Do you have a superstar who thinks they are only average so they won't step up to be a leader? These are all issues that can be effectively solved with some proper feedback skills.


Panel: Why Exactly do I Need a Business Analyst on My Next Project?

by Guy Dugas - moderator (75 minutes)

Panelists: Angie Duncan, Kevin Giles, Barb Spurway

Depends on the organization and the project you are underway with, of course!

... If you are in an insurance company introducing a brand new software service to your clients delivered via the web, there's quite a significant value in having a business analyst on board. If that brand new service has to interface with your insurance business operations, resulting in several revised and new business processes, impacting many of your worker roles, then all the more reason to include a business analyst!

... If you are a software product company, building your product evolution strategy and testing the market for new features, a business analyst can come in really handy!

... If you are consulting firm helping your customers transform their business operations, or adopt new technology, a business analyst is probably on that team.

The three flavors of business analysts represented on our panel are a software product company business analyst, corporate business analysts, and a consultant business analyst. Come hear more about the various roles business analysts play, their skills and competencies they have in common, some of their challenges and experiences, and how they have delivered value to their teams and customers.


The Lean PMO - Oxymoron or possible?

by Mike Edwards (75 minutes)

Over time the PMO community has strived to build repeatability and predictability in project delivery for organizations. In doing so many of theses PMOs have created an environment filled with the stench of control, process and inefficiency. So how did a movement with such good intent transition to being a burden in many organizations? Is the thought of a Lean PMO just a fantasy? Does the PMO have a future?

Using the common patterns and antipatterns as a basis, I have been working on a model for PMOs to evaluate how Lean their practices are. I believe a Lean PMO provides far greater value to an organization, over PMOs focused on strong repeatable processes. As with anything in Agile & Lean the model does not provide a one-sized fits all answer. Rather this model will help an organization reflect on their practices to identify opportunities for improvement. This model will form the focal point of the discussion, and using live examples we will reflect on how this model can transform you.

The PMO is not going away anytime soon as they could be providing a valuable function in many organizations. During this interactive session we will look at a few patterns and antipatterns of PMOs. As a community if we look at these things in the right light we can transform and rock our world!


Creating Time on Your Team Using The Core Protocols to Hack Culture

by Vickie Gray (30 minutes)

How do you  intentionally and quickly create trust, mutual support, resolve conflict, make fast decisions, and innovate? How do you slay all the demons that hold a team back from aggregating the IQ of its members into one collective genius that can move with lightning speed? How do you do what you love, have fun and deliver magnificence on time every time? How do you create time?

The most effective interpersonal tools of hundreds of the most successful teams in the world have been observed, tested and collected together over the past 16 years in one living open-source document called The Core Protocols, and in a living laboratory for booting the Core on a team, called McCarthy BootCamp. Just like an operating system, the Core is an integrated common platform for human interaction. With the Core, any team can intentionally build trust, high bandwidth communication and shared vision.

Learn what the Core Protocols and Commitments are, how other teams have used them, and how you can use them right away.

The I In Teams: Using the Core Protocols to Hack Culture One Person At A Time

by Vickie Gray (75 minutes)

We’re told there’s “no I in Team.” But we all know that’s a lie. Individuals are what a team is really made up of - people with passion, ideas, fears, behaviours, assumptions and unlimited potential for magnificence. So what can you do to amplify your personal freedom, take action on what matters to you, and still produce shared results you and your teammates can all be proud of?

You may have heard about the Core Protocols and the possibility that they are a coherent set of tools for maintaining freedom and trust while pursuing shared leadership, self-organization and agile creative cooperation among people working toward a common goal like a software project. You’re curious.

This is your chance to give them a try! Bring your current team challenges to the workshop and learn what you can do about them, specifically, right now. Learn some of the key protocols, practice them with your peers and then take them back to work.

If you want to start hacking your culture today, and willing to experiment in real time with culture tech tools you can use right away, you are welcome!

Testing Java Code with Confidence

by Doug Hiebert (75 minutes)

Most agile teams embrace automated testing in one form or another, but writing a full test suite that your team can trust to catch regressions can be difficult. This session will take you on a tour through complementary and contrasting testing libraries and techniques, which you can use to write tests any way you want and ultimately decrease bugs and increase confidence. The tour will begin with simple unit testing, progress through various assertion and mocking libraries, then end with static analysis.

Lean Startup for Change

by Gerry Kirk (30 minutes)

Lean Startup for Change is applying the concepts of Lean Startup to Change programs. It comes real handy when you have a complex environment where you don’t know exactly what will work for the organization context (market) and you want to test it rigorously until you come up with an approach that can stick/grow effectively in a way that creates a sustainable change program.

Small 'k' Kanban

by Gerry Kirk (75 minutes)

Do teams and individuals feel they are not getting the results they want from the actions they are taking? Does everything seem urgently important? In this session learn how to create more value for your organizations by apply the two simple rules of Personal Kanban to collaborative work. Walk away understanding the psychology behind visualizing work and limiting work in progress.

Clean Code: 4 Patterns to separate responsibility and clean up your code

by Cory Maksymchuk (75 minutes)

In this session Cory will review 4 simple patterns that are guaranteed to help you clean up your code. There is no rocket science involved here, just simple patterns that we can all use, every day. All code will be available for download on the SDEC site post conference.

Legacy Code: Using Domain Drive Design

by Robert Reppel (75 minutes)

You read about Domain Driven Design. Monday morning you're back to fixing legacy code. Now what?

Arguably, the fastest way to fix bugs and implement new functionality in legacy code is to apply DDD principles and SOLID. Much of DDD and SOLID is about dependency management. Good dependency management is the key to loosely coupled cohesive code and thus more cost effective maintenance.

We'll use business domain knowledge and Ubiquitous Language to recognize the kinds of technical dependencies and side effects which are really symptoms of boundary problems between different domains:
    -  In your car, are seat belts and fan belt the same? Will the radio's tuner work without the carburetor? Can you open the windows without popping the trunk?
    -  Should apples know about oranges?

We’ll look at code examples to identify leaky abstractions, cross-domain dependencies, single responsibility problems and cohesion issues. We'll look at practical, real-world ways of fixing them.


Selenium: Less Testing and More Coding

by Jonathan Lipps (75 minutes)

The faster you can deploy new features to users of your software, the better your product does in the marketplace and the more fulfilled you are as a developer. The rapidly-improving state of the art in Continuous Integration is evidence of the desirability and reality of this philosophy. "Fast" must always be coupled with "Safe", however, and thus Automated Testing (AT) is a crucial piece of the modern development workflow.

In this talk we will first explore the core concepts of AT as it is contrasted with manual testing, and what components make up a solid test infrastructure for a development team. We will then dive into one of the most powerful AT tools available, Selenium WebDriver. The Selenium project has a long and interesting history which merits a brief overview, after which we will turn to a demonstration of the technology itself, and specifically to how we can use Selenium to execute testing scripts so humans don't have to.

Next will be a discussion on some basic rules of thumb for writing tests, extracted from the expert experience of various Sauce Labs colleagues, before moving on to some advanced tips and advice. With this knowledge in hand, we'll dive into code with a demo application: examining tests and showing how we can run them in parallel with different browsers. Finally, I will introduce Sauce OnDemand, the cloud service for running Selenium tests on all major browsers and operating systems. OnDemand integration is straightforward, and we will see how the current list of tested browsers can be transparently augmented, and the test suite run time transparently reduced, with just a few lines of code.


The Silence of Agile

by Steve Rogalsky (75 minutes)

Learn how silence can increase collaboration and engagement while helping your agile project be more productive. Silent brainstorming allows everyone to have a voice, the loud people can't dominate the conversation, the quiet people are provided with a way to contribute, and cognitive fixation is reduced. It turns out that using silence is also a very effective brainstorming technique in terms of the variety and number of ideas generated.

We'll discuss the science of brainstorming and then practice a simple form of silent brainstorming. During the last half of the session I'll show you techniques for using silent brainstorming to create working agreements, create user story maps, generate user stories, prioritize your stories, brainstorm ideas for your retrospective, and more.

Panel: The Changing IT Role: From Order Taker To Strategic Partner

by Barb Spurway - moderator (75 minutes)

Panelists: Shona Suderman, Paul Misseghers, Munna Zaman

Are we within IT departments challenged to deliver operational keep-the-lights-on IT services, while also being asked by our senior leadership to help restructure and modernize the business processes and business foundation of the enterprise?

With Agile (and other evolving IT best practices) we have all kinds of tools and techniques to help us with a new emerging IT role with our business clients. The IT culture is all about client focus and client value – as we help the business consider major IT investments. IT tales on a role as ‘partner’ to help investment in the right business priorities. IT functions become balanced disciplines around project management, business analysis and solution architecture, as we help our business clients facilitate implementing change. IT’s role is not only to continue to be an excellent operational IT support provider, but to contribute strategically to the overall corporate bottom line.

So where are we at today? Do IT service providers need to do things differently? What are some of the barriers facing us today? What are actions the senior IT professional do to close the gap? What are actions and processes that you need to take in order to move from an ‘order taker’ to a strategic partner in your IT role?

Our panel will discuss their experience and insight into this very important topic.

The Tenets of Remote Development Governance

by Craig Tataryn (30 minutes)

Globalization has become common place in many industries, so it is not surprising to find Remote (outsourced) Development making its way into the mainstream in a big way. The practice of outsourcing holds great promise of big returns with little investment, but also carries with it a stigma arising from a glut of failed "experiments". Paramount to the success of an outsourced project is the way in which you govern the project and it's resources. In this lecture Craig takes you through the good and the bad practices he's experienced in the realm of remote development over the last decade. What are the Dos and Don'ts, how can you keep your finger on the pulse of your outsourced projects, what tools and techniques are available to guide your organization to successful collaboration with outsourced development teams.

Team evolution through Agile: How PSCAD created a better product by becoming a better team

by Alyson Teterenko and Mark Kulchycki (75 minutes)

PSCAD had what they called a team, but it wasn't until they adopted agile techniques that they discovered what it truly means to be a team. They revealed how strengthening the team will inherently strengthen the product. In retrospect, the team was in need of more transparency, control, and knowledge transfer. But as PSCAD adopted practices such as a Kanban board, silent brainstorming, retrospectives, and pair programming, the team improved their communication, collaborated more, and gained more control, transparency, and knowledge. With these improvements, the product's quality has increased tenfold. This session will explain how PSCAD became a more efficient team, with a better quality product, by adjusting agile practices to fit their culture.


Static vs. Dynamic Languages

by Stuart Williams(30 minutes)

C++ and Java are popular examples of statically typed languages, Python and Ruby are examples of dynamic languages that are also dynamically typed. What is the difference between a static and dynamic languages, and why should you care?

The presenter will explain static and dynamic languages with examples primarily drawn from Java and Python, present some of the arguments in favour of each, and give some guidelines for choosing between them.

The presenter's bias is that dynamic languages, despite their continued rise in popularity, continue to be under appreciated. While the presenter is most familiar with Python, he has used several other dynamic languages extensively and is a fan of several of them.


ATDD Story Workshop

by Adam Yuret (75 minutes)

Integrating testing into an iterative fast-paced software delivery system has long presented a significant challenge to organizations transitioning from traditional to agile methodologies.

Acceptance Test Driven Development (ATDD) has gained popularity in agile circles as an excellent way to solve the problem of getting testers involved earlier in the delivery process. While ATDD can have many useful byproducts such as: acceptance level test automation, executable documentation and improved test chartering, the most significant and often overlooked value is the power of shared understanding. Bringing the whole team into a room to gained shared understanding by identifying concrete behavior-driven examples we can not only improve communication but help prevent costly misunderstandings typical in traditional design and test documentation. Customers, product owners, programmers and testers congregating prior to development of a new story or feature to discuss the intent of the story or feature helps reduce costs and increase teamwork.

Join Adam Yuret for an interactive ATDD story workshop workshop at SDEC. We’ll discuss the principles and benefits of ATDD and actually have a mock-story workshop where we’ll adopt roles and work together with a product owner/customer to gain shared understanding. We’ll show how ATDD fits into the grand scheme of agile software development (i.e. how Leanstartup feeds into ATDD, which feeds into TDD) If time allows we can touch on some of the tools such as Cucumber, Relish, and Gherkin.


Lean Coffee: Using lean to increase the effectiveness of your meetings and build a community of practice.

by Adam Yuret (75 minutes)

In 2009 Jeremy Lightsmith and Jim Benson founded Seattle Lean Coffee. Every wednesday morning at 8:30 interested parties show up at a coffee shop in Seattle to discuss how they do their work, how it pertains to their personal lives, challenges they've encountered and how they faced them. Some participants face tough challenges and come looking to the Lean Coffee community for ideas.

The mechanism for lean coffee is a deceptively simple Kanban (i.e. "ready","doing", and "done") using sticky notes on the table of the coffee shop. There are writing utensils and sticky notes for all the attendees to use with which to add topics for discussion. After a short description of the topics in the backlog a vote is held using dots or hash marks on the stickies. Once the backlog is democratically prioritized a time-boxed discussion of the most popular topic begins.

This seemingly simple mechanism has produced some of the most amazing, passionate, and educational discussions in which I've ever participated. One of the most amazing aspects of this phenomenon is that Jim and Jeremy are frequently absent from Lean Coffee due to their busy travel schedules, but Lean Coffee is a living community of practice that is not dependent on a founder or leader. Regardless of who shows up the process always happens and generates value for the participants. This simple, portable and powerful approach can be used to improve internal meetings such as retrospectives and planning meetings. I've had the privilege of running Lean Coffee with a very high-functioning lean startup and seen first hand the unexpected powerful results.

Anybody can have lean coffee any time anywhere, your local coffee shop, a meeting room or any collaborative workspace, all you need is a surface, stickies, pens and passion. Let's have one at SDEC! We can discuss whatever the group chooses, or even be meta and talk about Lean Coffee. Whatever the group decides to discuss, I guarantee they'll come away with an amazing new approach with which to facilitate learning and collaboration.

Session Based Exploratory Test Management for Agile teams

by Adam Yuret (75 minutes)

There are many great mechanisms for helping optimize our approaches to delivering quality products. When conducting exploratory testing few are more powerful than Session Based Test Management (SBTM). Session Based Test Management is a valuable approach for quantifying the costs of exploratory testing as well as helping structure some of the approaches used by those engaged in testing.

Exploratory Testing is defined as simultaneous learning, test design and execution. What makes this kind of testing different from ad-hoc testing is the charter. When we engage in ET we don’t just dive in and start blindly poking around. We define a charter and then explore based on that charter. One of history’s most famous exploratory charters was that of Lewis and Clark’s extremely successful expedition:

“The object of your mission is to explore the Missouri river, & such principal stream of it, as, by its course & communication with the water of the Pacific ocean may offer the most direct & practicable water communication across this continent, for the purposes of commerce.”

Session Based Test Management involves time-boxing the test exploration into a time boxed “session”. We track TBS metrics to help us identify waste streams in our testing work while documenting our efforts for subsequent debrief. This allows us to collaborate on what’s being tested and how.

During this session we will explore effective chartering techniques. We’ll discuss chartering anti-patterns and why Session Based Test Management is not only an effective tool for communicating exploratory testing efforts to stakeholders but also an effective way to manage programmer/tester pairing. I personally have experienced many cognitive benefits to Exploratory Testing using SBTM that I’d love to share.