Conference Day 2
Thursday, November 06, 2008
Keynote: Situated agility - context matters, a lot
9:00 a.m. – 10:00 a.m. Philippe KruchtenThere are little doubt about the intrinsic value of agile practices: well applied by the right people, they do wonder, on the right problem. But are they always suited to the task? Software projects and software development organizations cover a wide spectrum. I will contend that most of the value of any software development practice depends on its context; and that Agility for an organization is not defined by simply embracing a labeled set of practices; nor even by a level of conformance to the agile manifesto. Agility should be defined relative to the value it brings to the business, namely the capacity of an organization to react and adapt faster than its environment can change. How agile an organization is, or can afford to be, will depend not on the practices alone, but on the context in which they are applied: how fit to that context are they. How do we define "context"? What elements or attributes of this context have a bearing on the selection of the set of practices an organization should adopt, and therefore how 'agile' it should strive to be? I'll share some experience of applying agile practices far from their sweet spot, leading to the concept of situated agile processes.
Building a kaizen culture for a high maturity agile organization
10:30 a.m. – 12:00 p.m. David AndersonAchieving institutionalized agile adoption across larger organizations isn't easy. What is required to reduce resistance to adoption and institutionalization of new agile processes, is a change to a culture of objective, data-driven continuous improvement. Through his earlier experiences of agile transitions with Sprint and Motorola David will describe the challenges and resistance that hampered successful adoption. The answer is to change the culture and have the new changes become the team's own changes. David will explain how he uses transparent work item tracking, data gathering, metrics, reporting and objective assessment and interpretation of indicators, along with a kanban pull system to drive a program continuous improvement. He will discuss the pros and cons of tactical management led agile revolution versus the patient approach of cultural change that leads to an agile evolution from the bottom-up.
Managing Software Debt
10:30 a.m. – 12:00 p.m. Chris SterlingThe Product Backlog in Scrum is used to prioritize implementation of features into a software software based on perceived value. A Product Owner is charged with managing the Product Backlog to direct software implementation for the greatest possible Return on Investment (ROI). Entirely feature-based Product Backlogs do not consider the decay of software over time, and the resulting software debt can sink a project or company. Chris Sterling will highlight ways Scrum Teams and Product Owners can work with stakeholders to manage software debt over the life cycle of the product.
Moving from Quality Crisis to Quality-Driven Development with Fit
10:30 a.m. – 11:15 a.m. Karl Andres, Biljana PeceljMost complex software development projects face tremendous challenges in regards to quality. The quality crisis that many projects experience can be attributed to handling quality as an afterthought. This mindset leads to testing for quality in the later stages of the software development lifecycle, which in turn leads to a testing bottleneck. This presentation will demonstrate an automated testing strategy that was used at Elastic Path Software to recover from a quality crisis caused in part by legacy code that had no automated tests. Our experience began with the creation of Fit tests for legacy code in a distributed team environment. Using Fit initially allowed us to gain measurable test coverage for legacy code and a more formalized QA process. Once the fit tests proved their value, we refactored them to work in a more robust manner and integrated them with our automated builds. Finally, we used Fit tests to drive new feature development which enabled us to build quality into the product from the beginning.
How can testers team up with developers in an Agile environment?
11:15 a.m. – 12:00 p.m. Simona HeraStarting out on the concept that testers must not assume anything - and if there are any assumptions then spell them out clearly – this presentation provides testers with a checklist on how to attack testing and quality assurance within one iteration. With the adoption of the agile methodology, the expectation is for testers to go ahead, and implement automated acceptance tests quickly, have them pass in order to consider that user story “done”. But how is a tester supposed to do this? And how can they complete their testing tasks on time? In ideal conditions, the client is at arm-length and available to accept the “done” user stories. How can testers become client’s requirements advocate? In my presentation you will find: * Practical advice for testers in agile teams on how to add value on a daily basis * Learn how to really “stand up” at daily team meetings and bring the focus back to what is important: the client’s needs * Learn how to mitigate the challenges of agile testing. * Identify the testers’ responsibilities and change of attitude Just like in the flight first aid demo, you must put your own oxygen mask before you help others. So all the assumptions and action items described in this presentation are about what you should do to help yourself in order to help the team deliver quality code in an efficient way.
Database Development in Agile World
1:00 p.m. – 2:00 p.m. Marc MunroDatabase development is not like other software development: databases seem to willfully resist change. Database change management is an arcane art, and database refactoring is unreasonably difficult. Marc explores what it is about databases that is different, and offers an approach to database design that aims to cope with those differences. Warning: this presentation may contain Agile heresy.
Discount Usability Techniques
1:00 p.m. – 2:00 p.m. Frank MaurerThe goal of this tutorial is to give an overview on discount usability techniques and how they can help agile teams to not only produce useful but also usable software. Agile methods focus on creating quality software with high business value. Most agile methods do not explicitly talk about how to ensure that the software is usable. Interaction design and usability engineering methodologies focus on this specific aspect. While many traditional interaction design approaches are expensive and time consuming to use, a more recent trend tries to get more bang for the buck. This is often called “discount usability” and consists of approaches that help with designing as well as evaluating highly usable systems. The tutorial will give an overview on discount usability methods and discuss how they fit into agile development processes.
Combining Agile and Model-Driven Software Development
2:00 p.m. – 3:00 p.m. Peter MacdonaldWe often separate design methodologies from process methodologies. In the real world they are intertwined. In recent years Enterprise Application architectures have placed strong emphasis on loose coupling. The result is layered architectures that are very resilent to change but that also tend to be quite verbose and complex - involving many 3rd party technologies. On the other hand, Enterprise Application Design Patterns have become well understood. This set of circumstances suggests combining the an agile development process with a model-based software development approach. Agile keeps the focus on releasing vertical slices of functionality early and often. A Model-Driven software approach raises the level of abstraction back to a point where simple features involve concise coding representations. At RealmDynamics, we successfully adopted this approach in the context of a typical, small startup with modest resources, a challenging time frame and high investor expectations.
Cutting an Agile Groove: Coaching Agility
2:00 p.m. – 3:00 p.m. David HussmanEveryday there are more people finding success with agile methods. At the same time, there are also a growing number of places where agility struggles to find a groove. Where agility struggles, the agile adoptions happen to people instead of with them. These adoptions have far less chance of real change fostering a new way of working. Coaching agility is best done by showing people the value of the change while pragmatically and respectfully helping them find their style of using one or more practices. Descriptive coaching – helping people find their way - is always more sticky than prescriptive coaching – telling them what to do. This session will cover various tools and techniques you can use to help create sustainable software communities where the value of a practice takes precedence over the mechanics, and where agility is one of many tools being used to delivery. From preproduction (before the first iteration) to the early and formative iterations to the times after the honeymoon, we will cover various coaching that helps newly forming communities find and keep an agile groove.
In Search of... an Agile Documentation Process
2:00 p.m. – 3:00 p.m. Susan PatchThis presentation is about one technical writer's experience in developing a workable documentation process that delivered what was needed within today's short development timeframes. The objective was for the documentation to evolve in parallel with the system development — delivering user stories, use cases, UI designs, system tests, manuals, and even online help — with just enough detail, and just in time. The process was being developed at about the same time that the Agile Manifesto was being written, so it wasn't until several years later that its applicability to agile environments could be seen. This isn't intended as a silver bullet solution, and it requires discipline and teamwork to be successful, but it may give you some ideas beyond those famous (infamous?) 3x5 index cards.
Implementing Agile across the Enterprise
3:30 p.m. – 5:00 p.m. Alan ShallowayAs many companies pursue their interests in Agile development, there are many issues they must address in implementing it successfully across the organization. Setting the stage with the Business, Management, and Development teams is crucial along with an understanding of what the path is to successful adoption. Is it better? How will it impact my organization? What will we need to do? How long before we see results? How will it scale? In this seminar we will provide insights and answers to these questions. We will cover the current challenges, a new approach, the impacts and responsibilities of the new approach, issues to consider as you begin your adoption, and also the stages involved in achieving Enterprise Agility. Agenda: * Business Value * Current challenges with Software Development * A New Approach – Discovery, Development and Deployment - Lean-Agile software development * High Agility Organizations and Teams * Transitioning teams, business, and management * Stages of evolving to Enterprise Agility * Business Driven Software Development * Portfolio/Product Backlog Management
Standing up for Agile Practices in a Large Corporation - ICBC
3:30 p.m. – 4:15 p.m. Morena Beaulieu, Pete WilliamsAdopting agile techniques in a large corporation can be challenging. To succeed, you need to successfully promote the iterative development advantages to management, select your inaugural agile project carefully, and choose your team wisely. Furthermore, you must promote your project successes to your Executive champion to gain broader internal acceptance. It's not easy, but can be done if you put the pieces together -- and strategize carefully from the beginning. In "Standing up for Agile Practices in a Large Corporation", you'll hear about a real life online point-of-sale project that overcame the odds and delivered an enhanced user experience -- and changed the way some projects are managed within the Insurance Corporation of British Columbia.
Releasing to Production Every Week
4:15 p.m. – 5:00 p.m. Jeremy Goldstrom Delivering more value faster is the mantra of every software team; however, new features don't start to deliver value until they are running in production. Compressing release cycles without compromising quality is the key to increasing value. At Small Energy Group, we have been following an agile process that allows us to consistently deploy new releases into production every week. In this session, we will describe how we work, the tools that we use and what we have learned from delivering releases every week for the past five months.