Most of the software world has realized that BDUF (Big Design Up Front) doesn’t work well in software. But lots of developers struggle with this notion when it applies to architecture and design. Surely you can’t just start coding, right? You need some level of understanding before you can start work. This session describes the current thinking about emergent architecture & design. This philosophy allows you to specify only the critical items up front and allow the important architecture and design criteria emerge once you understand the problem better.
This presentation applies Agile thinking to critical aspects of strategy and execution at a time of uncertainty and disruption. The essential point is simple and logical: Agile values and principles are indivisible. To succeed, they must be applied not just to R&D, but also to customer and company, simultaneously. This requires reconfiguration of customer relationships, employee policy, software development, and the relationship that binds the three.
This stimulating talk starts by exploring the popular Technology Adoption Lifecycle, and how it relates to agile adoption. Next Ahmed illustrates how to practically “cross the chasm” between project-level and enterprise-wide agile adoption initiatives using a value-based roadmap. The roadmap, which consists of five steps (Collaborative, Evolutionary, Integrated, Adaptive, & Encompassing), is a result of 4 years of research and industry experience. Participants will see how to create their own value-based agile roadmaps as well as discuss key concepts related to enterprise agile adoption.
One of the biggest problems when managing Agile projects is to decide when and how to integrate a story. Traditional versioning tools offer poor support to branching and merging so it’s hard to select specific stories at the end of a sprint. In this talk, we present Git—a modern, distributed version control system—and an Agile versioning process using it that will help Agile Developers to solve those issues, offering a way to have a continuously releasable branch and also minimizing merging problems.
Over the last ten years, Test-Driven Development has grown from something exotic, that only a handful of people knew about, to near- commodity. So there’s nothing left to say, right? We don’t think so.
In this talk, we’ll review some of the landmarks in the history of Test-Driven Development and what they tell us about how to develop software; the ideas, techniques, objections, and misunderstandings.
We’ll talk about our experiences of discovering TDD and what we’ve learned about how to do it well, how to adopt it, and how to bring it into existing code.
One of the challenges global teams are facing, is overcoming cultural differences. Yet, these differences have their origin not only in geography and language, but also in strategies, politics, values and history. A company, no less than the broader society, shapes a culture that influences its employees behavior. A distributed team needs to leverage this and jointly develop a project culture and keep the project history alive for emphasizing the common culture. This session points out techniques that have helped to create a common culture in different global projects I have been working on.
Animal behaviors such as Swarming, Flocking & Shoaling provide intriguing insights into how groups spontaneously form and interact. The natural world is full of rules, both simple and complex that enable groups of animals to function extremely efficiently. Looking at these examples, we can draw interesting parallels with the behavior of groups of people - and we can learn interesting things about the rules that we use when we work in teams. This presentation draws on extensive research on groups, both human and animal, and provides useful insights into how we can best organize ourselves.
Increase Productivity With Large Scale Continuous Integration Iteratively: Reduce Feedback Cycle From Weeks To 100 Minutes
Using iterative development – create an continuous integration environment using open source and commercial tooling for hundreds of developers
From migration to new environment – the tools and process lessons learned
Effects seen in product development – real life experience after 18 months in production
How do you scale Scrum to hundreds of people? This presentation will explain a way of organizing your development so that it scales up well. It involves breaking the link between architecture and organization, breaking code ownership and organize the development in a more customer centric way. This has its drawbacks too! These are explained and some techniques for overcoming these drawbacks are discussed. This talk is based on the “feature teams” and “requirement areas” chapters in the recently published “Scaling Agile & Lean Development” by Bas Vodde and Craig Larman.
Any successful recording artist eventually submits to releasing a “Greatest Hits” album. This is the opposite: a beat-up XP coach putting his biggest and furthest-reaching mistakes in a neat package and releasing them to the public. This talk could also be named “Ten ways to guarantee your Agile transition is a total failure”, or “Apologies of an XP coach”; however I’m sure I’ll mention more than ten mistakes and I make no apology for them.