≡ Menu

Why ACE! is ditching the ACE! format and adding two new tracks. (plus a special offer for startups)

Having been through my own continuous deployment journey with Kanbanery, pathopsychology I’ve become very curious about the experiences of others who have tried to achieve fearless continuous deployment. I haven’t met one yet, but amoung those who have tried one story comes up again and again.

The primary goal of continuous deployment is not to deploy continuously. It is to be able to deploy continuously. Doing that requires a dramatic shift in mindset and practices. In addition to learning to create efficient and stable automated background deployment scripts, teams also need to learn to commit smaller amounts of higher quality work with better automated testing then they might consider possible. Learning to do that is the real value of continuous deployment. The mindset shift required is even harder to achieve. They must learn to trust themselves to deliver the level of quality that is required for continuous deployment. In teams that have made the most progress toward continuous deployment, it is this mindset shift that is the hardest barrier to overcome, and I have a solution to propose.

The scenario I often hear is that teams achieve automated deployment to staging or testing environments, but never become comfortable enough with their standards and practices to take the next step and automate production releases. For these teams, I propose borrowing, as we in software so often do, from manufacturing.

My suggestion is to modify the well-known safety signage of the shop floor, X Days Since Last Accident, which you’ll recognize from the opening to The Simpsons, on which manufacturing teams can proudly increment the number of days without an injury until some failing of safety precautions requires that they re-set the count to zero. If your software team has gotten stuck at the stage of your continuous deployment project at which you’re automatically deploying small stable bits of code to a staging server, consider adding a sign to your team room like this – X Days Since the Last Build We’re Really Glad We Didn’t Deploy to Production. For every day that the team finds nothing embarassing on the staging server, you can proudly increment that count by one. Depending on your level of risk aversion and the nature of your product and business environment, if you are continuously improving, then some day you’ll look at that number and find the courage to take the last step and automate your production deploys.

Let me know what you think in the comments.
Having been through my own continuous deployment journey with Kanbanery, pathopsychology I’ve become very curious about the experiences of others who have tried to achieve fearless continuous deployment. I haven’t met one yet, but amoung those who have tried one story comes up again and again.

The primary goal of continuous deployment is not to deploy continuously. It is to be able to deploy continuously. Doing that requires a dramatic shift in mindset and practices. In addition to learning to create efficient and stable automated background deployment scripts, teams also need to learn to commit smaller amounts of higher quality work with better automated testing then they might consider possible. Learning to do that is the real value of continuous deployment. The mindset shift required is even harder to achieve. They must learn to trust themselves to deliver the level of quality that is required for continuous deployment. In teams that have made the most progress toward continuous deployment, it is this mindset shift that is the hardest barrier to overcome, and I have a solution to propose.

The scenario I often hear is that teams achieve automated deployment to staging or testing environments, but never become comfortable enough with their standards and practices to take the next step and automate production releases. For these teams, I propose borrowing, as we in software so often do, from manufacturing.

My suggestion is to modify the well-known safety signage of the shop floor, X Days Since Last Accident, which you’ll recognize from the opening to The Simpsons, on which manufacturing teams can proudly increment the number of days without an injury until some failing of safety precautions requires that they re-set the count to zero. If your software team has gotten stuck at the stage of your continuous deployment project at which you’re automatically deploying small stable bits of code to a staging server, consider adding a sign to your team room like this – X Days Since the Last Build We’re Really Glad We Didn’t Deploy to Production. For every day that the team finds nothing embarassing on the staging server, you can proudly increment that count by one. Depending on your level of risk aversion and the nature of your product and business environment, if you are continuously improving, then some day you’ll look at that number and find the courage to take the last step and automate your production deploys.

Let me know what you think in the comments.
There’s a tool used by some anthropologists for understanding cognitive landscapes that was defined by Alan Barnard in his book “History and Theory in Anthropology” (2000) which I find useful and might be helpful to others working with teams or organizations. It’s called QAME, viagra order which stands for Question, approved Assumptions, doctor Methods, and Evidence.

Often, when we are new to a team or organization, or find ourselves as members or participant observers in any group that has a unique set of stories and histories in which we have not shared, it’s natural that we assume a certain set of shared assumptions in order to make sense of what we see and hear. Much of the stress that comes from integrating one’s self with a new group arrises from the gradual discovery, not always explicit, that those assumptions are not shared by others.This is a product of cultural conflict; in this case when two world-views with different fundamental assumptions about how the world works and what to do about it co-exist in one group.

QAME is a framework for establishing the fundamental assumptions and working theories of a group, and it’s particularly useful in a business or organizational context where goals are generally more concrete and less sensitive than might be found in other groups of people, such as a family, clan, or tribe.

QAME was described by Barnard as a way of talking about different theories of anthropology. It can be a handy tool for understanding what a theory is designed to do and which of several theories might be most applicable to a situation. If you define a theory as a set of guiding principles coupled with a set of processes and practices designed to accomplish a goal, you’ll realize that in many situations people are exercising such theories every day. Understanding the working theory of a team could be very valuable in understanding why the team behaves the way they do (culture).

I’ll demonstrate how it can be useful by applying it to two QA teams with which I’ve worked.

I’ve worked with enough teams in the past few decades to see a lot of very different behaviors, and while the two examples I’ve chosen may seem to represent two stereotypes, I can assure you that both exist in the wild. However, these responses below are not from real people, but were created for the purpose of illustration.


The Q stands for “question.” What question(s) is the theory designed to address.

Team A: How can we help our team to create software that our customers love in the most efficient and effective way possible?

Team B: How can we win the bug hunt this release?

The A stands for “assumptions.” What are the common assumptions that those following the theory agree upon (expressly or subconsciously)?

Team A: We are all working as a team, despite our different specializations, toward a common goal and everyone is doing their best, even when they have an “off” day.

Team B: Programmers are sloppy and we’re here to clean up the mess. There is some level of bugs which is acceptable to management and by inference, to our users.

M stands for “methods.” What practices and tools do practitioners of the theory use to address their questions?

Team A: We work with everyone from the client to the users to optimize every step in the value chain using tools like TDD, automated acceptance testing, and user interviews.

Team B: QA Leads write test cases for us to execute and we report bugs using our standard bug report form for later prioritization by PMs.

E is for “evidence.” What types of evidence are meaningful to members of the group?

Team A: We track results of user surveys, the state of the automated tests on the CI server, sales growth, and other metrics as we find them useful.

Team B: We track bug count per build and who wins the quarterly bug-hunt.


Both of these respondents would describe themselves as a “tester” but clearly they working with different theories. It would be very tempting to make value judgements at this point, but there are some other principles anthropologists subscribe to that apply here.

One is called “holism” and it means that behaviors and cultural artifacts/traits are considered only in the greater context of the cultural environment in which they occur (you can’t separate QA practices from management incentives or hiring practices, for example). It would be a mistake to judge either of these testers without considering the nature of the environment in which they work. You might also be tempted to judge them on the basis of what you consider to be appropriate in your experience. That is what anthropologists called “ethnocentrism.” Rather, anthropologists value “cultural relativism” which means that cultural phenomena can only be judged within the cultural context in which they occur.

In my opinion, both of these teams evolved a theory that was well-suited to their environment and each may represent the best possible adaptation to the pressures, expectations, and realities in which the different theories operated.

 
Having been through my own continuous deployment journey with Kanbanery, pathopsychology I’ve become very curious about the experiences of others who have tried to achieve fearless continuous deployment. I haven’t met one yet, but amoung those who have tried one story comes up again and again.

The primary goal of continuous deployment is not to deploy continuously. It is to be able to deploy continuously. Doing that requires a dramatic shift in mindset and practices. In addition to learning to create efficient and stable automated background deployment scripts, teams also need to learn to commit smaller amounts of higher quality work with better automated testing then they might consider possible. Learning to do that is the real value of continuous deployment. The mindset shift required is even harder to achieve. They must learn to trust themselves to deliver the level of quality that is required for continuous deployment. In teams that have made the most progress toward continuous deployment, it is this mindset shift that is the hardest barrier to overcome, and I have a solution to propose.

The scenario I often hear is that teams achieve automated deployment to staging or testing environments, but never become comfortable enough with their standards and practices to take the next step and automate production releases. For these teams, I propose borrowing, as we in software so often do, from manufacturing.

My suggestion is to modify the well-known safety signage of the shop floor, X Days Since Last Accident, which you’ll recognize from the opening to The Simpsons, on which manufacturing teams can proudly increment the number of days without an injury until some failing of safety precautions requires that they re-set the count to zero. If your software team has gotten stuck at the stage of your continuous deployment project at which you’re automatically deploying small stable bits of code to a staging server, consider adding a sign to your team room like this – X Days Since the Last Build We’re Really Glad We Didn’t Deploy to Production. For every day that the team finds nothing embarassing on the staging server, you can proudly increment that count by one. Depending on your level of risk aversion and the nature of your product and business environment, if you are continuously improving, then some day you’ll look at that number and find the courage to take the last step and automate your production deploys.

Let me know what you think in the comments.
There’s a tool used by some anthropologists for understanding cognitive landscapes that was defined by Alan Barnard in his book “History and Theory in Anthropology” (2000) which I find useful and might be helpful to others working with teams or organizations. It’s called QAME, viagra order which stands for Question, approved Assumptions, doctor Methods, and Evidence.

Often, when we are new to a team or organization, or find ourselves as members or participant observers in any group that has a unique set of stories and histories in which we have not shared, it’s natural that we assume a certain set of shared assumptions in order to make sense of what we see and hear. Much of the stress that comes from integrating one’s self with a new group arrises from the gradual discovery, not always explicit, that those assumptions are not shared by others.This is a product of cultural conflict; in this case when two world-views with different fundamental assumptions about how the world works and what to do about it co-exist in one group.

QAME is a framework for establishing the fundamental assumptions and working theories of a group, and it’s particularly useful in a business or organizational context where goals are generally more concrete and less sensitive than might be found in other groups of people, such as a family, clan, or tribe.

QAME was described by Barnard as a way of talking about different theories of anthropology. It can be a handy tool for understanding what a theory is designed to do and which of several theories might be most applicable to a situation. If you define a theory as a set of guiding principles coupled with a set of processes and practices designed to accomplish a goal, you’ll realize that in many situations people are exercising such theories every day. Understanding the working theory of a team could be very valuable in understanding why the team behaves the way they do (culture).

I’ll demonstrate how it can be useful by applying it to two QA teams with which I’ve worked.

I’ve worked with enough teams in the past few decades to see a lot of very different behaviors, and while the two examples I’ve chosen may seem to represent two stereotypes, I can assure you that both exist in the wild. However, these responses below are not from real people, but were created for the purpose of illustration.


The Q stands for “question.” What question(s) is the theory designed to address.

Team A: How can we help our team to create software that our customers love in the most efficient and effective way possible?

Team B: How can we win the bug hunt this release?

The A stands for “assumptions.” What are the common assumptions that those following the theory agree upon (expressly or subconsciously)?

Team A: We are all working as a team, despite our different specializations, toward a common goal and everyone is doing their best, even when they have an “off” day.

Team B: Programmers are sloppy and we’re here to clean up the mess. There is some level of bugs which is acceptable to management and by inference, to our users.

M stands for “methods.” What practices and tools do practitioners of the theory use to address their questions?

Team A: We work with everyone from the client to the users to optimize every step in the value chain using tools like TDD, automated acceptance testing, and user interviews.

Team B: QA Leads write test cases for us to execute and we report bugs using our standard bug report form for later prioritization by PMs.

E is for “evidence.” What types of evidence are meaningful to members of the group?

Team A: We track results of user surveys, the state of the automated tests on the CI server, sales growth, and other metrics as we find them useful.

Team B: We track bug count per build and who wins the quarterly bug-hunt.


Both of these respondents would describe themselves as a “tester” but clearly they working with different theories. It would be very tempting to make value judgements at this point, but there are some other principles anthropologists subscribe to that apply here.

One is called “holism” and it means that behaviors and cultural artifacts/traits are considered only in the greater context of the cultural environment in which they occur (you can’t separate QA practices from management incentives or hiring practices, for example). It would be a mistake to judge either of these testers without considering the nature of the environment in which they work. You might also be tempted to judge them on the basis of what you consider to be appropriate in your experience. That is what anthropologists called “ethnocentrism.” Rather, anthropologists value “cultural relativism” which means that cultural phenomena can only be judged within the cultural context in which they occur.

In my opinion, both of these teams evolved a theory that was well-suited to their environment and each may represent the best possible adaptation to the pressures, expectations, and realities in which the different theories operated.

 
ACE banner

 

The ACE! format has been an important part of the brand ever since it was introduced. It’s worked so well that it’s been copied by many other technical conferences all over Europe. It used to be that all conferences had two or more tracks of 60-minute talks ending with Q&A sessions. Now it seems like half of them use the ACE! format of one track of 30-minute talks with no Q&A but with open spaces instead. So why is the conference that invented this successful format abandoning it?

The community is becoming more diverse

As the tech scene in Poland has matured, healing it’s become harder and harder to curate content that is appropriate for everyone. Six years ago we could ask Pawe? Brodzi?ski to introduce people to Kanban and everyone would find it interesting. This year we’ll have attendees who have been using Kanban for five years as well as people who still haven’t heard of it. Having three tracks makes it far more likely that everyone will find something to interest or inspire them.

Our interests are expanding

The scope of relevant content has grown. Six years ago we all wanted to “do agile better” and so the talk was all about processes and tools. Then the conversation started including various aspects of craftsmanship. Then we become aware of how important people were to the process and included content on collaboration, implant teamwork, leadership, and culture. This year, I’m broadening the content even more. One track just can’t contain so much depth and breadth.

We’re still mostly getting it wrong

Finally, after a decade of creating great web applications that mostly fail, I’ve become very aware that there’s more to software than craftsmanship and execution. It doesn’t matter how clean your code is or how efficient your process is if no one wants what you’re making. Most software is still driven by the vision of a founder or by the machinations of marketing, and only after it’s launched do we learn if the vision was reality or fantasy. There are techniques that can be learned that reduce the risk of building the wrong thing.

This year, in part because I have taken over the growth of a startup myself (Kanbanery.com) and because of the exponential growth of the startup communities in Poland, I was tempted to launch a new startup conference using the ACE! format (I was going to call it LeanUX Poland). But after talking to sponsors at some of Krakow’s largest companies, I learned that companies of all sizes struggle with product development issues and would like their employees to be more aware of how to create things which delight customers.

The best of both worlds, two conferences in one!

Therefore, rather than organizing two one-track events, ACE! will offer the best of both. The Building Software Better track features all the process, people and craftsmanship content that you expect from ACE!, and the new Building Better Products track brings ideas from Lean Startup, Design Thinking, Customer Development, Design Ethnography, and LeanUX to teach us better ways of understanding our customers’ needs, desires, and environments so that we build the right thing the first time. By now we all know that we’re supposed to “get out of the building” as Eric Ries puts it, but I meet very few people who know what to do once they’re out there. Come and learn.

But wait, there’s more!

And, finally, motivated by Marcin Floryan’s #NoLearning talk last year, I’m added a workshop track, so attendees can get hands-on experience with some of these new techniques. Because you haven’t really learned it, until you’ve done it.

A special offer for Startups*

I’d really like to help the local startups to incorporate these Lean Startup and LeanUX toolkits into their practice, and I know that the cost of the conference can be prohibitive. Therefore I’m making this offer, available only to pre-funded and pre-profit startups. Write me an email. Tell me what your startup is about and what you want to learn at ACE! and what you can afford to pay, and I will do my best to find a way to get you into the conference. The fixed costs (hotels, accounting, travel, PR) of organizing an event like this are high, but the variable costs (coffee, lunch, and a t-shirt) are not, and so if you want to be there, but your company can’t afford the 350 Euros for a ticket, I’m sure we can find a way to get you in.

 

 

*Is my company a startup? Here’s how I define a startup: If all your cash is going into growth, you’re a startup. If you’re not yet profitable and you haven’t gotten outside funding from angles or VCs, then you’re eligible for this offer. If you’re unsure, just ask me.

Comments on this entry are closed.