http://citconf.com/wiki/api.php?action=feedcontributions&user=PaulJulius&feedformat=atomCitconWiki - User contributions [en]2024-03-29T06:32:38ZUser contributionsMediaWiki 1.35.11http://citconf.com/wiki/index.php?title=Career_path_in_the_age_of_AI&diff=16790Career path in the age of AI2023-10-14T14:16:37Z<p>PaulJulius: </p>
<hr />
<div>AI-generated summary<br />
----<br />
In the CITCON 2023 Berlin session focused on career paths in the Age of AI, professionals discussed the increasing integration of AI tools like ChatGPT and GitHub's CoPilot in various job roles, from coding assistance to improving writing quality. While these tools boost efficiency, reduce cognitive load, and enhance content, concerns arise regarding generic outputs, context understanding, and data security, especially in sensitive sectors. Unique applications in multimedia production and content verification highlight AI's expansive reach. As the future unfolds, linguistic AI capabilities will grow in significance, possibly rendering traditional movie dubbing redundant.<br />
----<br />
<br />
Anton Fredrick is changing jobs<br />
<br />
What does a career path look like in the Age of AI.<br />
<br />
Where are you in your career path now?<br />
How has it changed because of AI in the last 3 years?<br />
<br />
'''Respondent 1:'''<br />
Lead Engineer<br />
It hasn't changed much.<br />
I use ChatGPT (paid version) to better organize my writing, but sometimes it turns out to be very generic.<br />
"I ask ChatGPT, 'How does this sound to you?'"<br />
I use it for coding. Like creating a server on Node.js<br />
Reduces my "cognitive load".<br />
<br />
Respondent 2:<br />
QA Engineer<br />
GitHub CoPilot helps me a lot<br />
I don't have to type as much<br />
$10/month<br />
Does good naming for variables<br />
Using it for half a year<br />
As an independent contractor, it has not resulted in "raise".<br />
Algoria for sorting products on the website.<br />
More and more services out there.<br />
You have to trust the services you are paying form<br />
<br />
'''Respondent 3:'''<br />
12 yrs Test Automation to Engineering Manager<br />
AI hasn't changed much<br />
ChatGPT helps to improve the quality of User Stories<br />
I use a prompt and then moderate the output<br />
My team uses CoPilot<br />
All use ChatGPT for 360 Reviews, and the quality of the reviews is "different". ChatGPT generates some randomness. But the human-written reviews don't follow any "rules". It does NOT reduce the amount of time to write a "quality" review<br />
<br />
'''Respondent 4:'''<br />
Ending Stage (Almost retired) QA Engineer, Test Automation<br />
AI suits me for getting answers that I used to get from Google. It's much faster because ChatGPT gives me the solution directly.<br />
Workflow is the same. Team doesn't use AI much. They are in the "discovery" phase.<br />
<br />
'''Respondent 5:'''<br />
QA Engineer, Coaching the last few years<br />
CoPilot being used on the teams much more. Instead of "pairing", 1 engineer + copilot<br />
Using ChatGPT to analyze conversations. Approach difficult conversations from a different angle. Try this, try that.<br />
8 years ago, we were talking about the "benefits of pair programming"<br />
The AI tools don't understand the "context"<br />
<br />
'''Respondent 6:'''<br />
Team Lead on multiple teams, and programs for several clients<br />
ChatGPT to code, migrate SQL to mySQL<br />
Using it to write long-form text based off a few pointers.<br />
My teams are not using AI at all.<br />
Traditional BI teams<br />
<br />
'''As an aside:'''<br />
Are the customers comfortable sending all that data to OpenAI servers?<br />
Some companies don't allow Financial companies without specific approval.<br />
Circumventing the rules could result in fines.<br />
How does this differ from using something like "PrettyJSON"?<br />
Anonymize the data.<br />
For example, if you could put it on StackOverflow.<br />
ChatGPT can help translating text, especially culturally appropriate.<br />
Ask ChatGPT to create a great prompt, like for Midjourney. Dall-E. Etc.<br />
ATS system scans the resume. There are tools that will create a perfect resume for you.<br />
<br />
'''Respondent 7:'''<br />
Student<br />
Every essay is now made by ChatGPT. But ChatGPT has a function now to check to see if it produced the text.<br />
Remix tools for podcasts and videos.<br />
PremierePro can produce scripts.<br />
AdobeVoice (free) will remove room echo, to make it sound like you have a quiet room and great mic.<br />
Asks ChatGPT, "Is this good storytelling?"<br />
<br />
'''Respondent 8:'''<br />
QA Manager<br />
Asking ChatGPT, "What are the most important DevOps metrics?"<br />
Make my text more formal. Less formal.<br />
My wife wrote a book and needed a cover, it was obvious that artists were generating artwork.<br />
<br />
'''Respondent 9:'''<br />
Consultant, DevOps and Test Automation<br />
Some experience with CoPilot<br />
Managers are reducing team size because an engineer with CoPilot is so productive.<br />
Throwing away resumes that are AI-generated<br />
<br />
'''Respondent 10:'''<br />
Consultant, DevOps<br />
ChatGPT to help me write technical documentation, I use it conversationally. I use it as an assistant.<br />
And BoyfriendGPT<br />
<br />
'''Respondent 11:'''<br />
DevOps Team Lead<br />
Not allowed to use ChatGPT for public documentation<br />
Some hardware producers are building AI-specific equipment<br />
<br />
<br />
'''In the Future:'''<br />
* Linguistic capabilities are going to become more important<br />
* Dubbing movies into other languages will be gone.<br />
*</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Career_path_in_the_age_of_AI&diff=16789Career path in the age of AI2023-10-14T14:14:39Z<p>PaulJulius: </p>
<hr />
<div>Anton Fredrick is changing jobs<br />
<br />
What does a career path look like in the Age of AI.<br />
<br />
Where are you in your career path now?<br />
How has it changed because of AI in the last 3 years?<br />
<br />
'''Respondent 1:'''<br />
Lead Engineer<br />
It hasn't changed much.<br />
I use ChatGPT (paid version) to better organize my writing, but sometimes it turns out to be very generic.<br />
"I ask ChatGPT, 'How does this sound to you?'"<br />
I use it for coding. Like creating a server on Node.js<br />
Reduces my "cognitive load".<br />
<br />
Respondent 2:<br />
QA Engineer<br />
GitHub CoPilot helps me a lot<br />
I don't have to type as much<br />
$10/month<br />
Does good naming for variables<br />
Using it for half a year<br />
As an independent contractor, it has not resulted in "raise".<br />
Algoria for sorting products on the website.<br />
More and more services out there.<br />
You have to trust the services you are paying form<br />
<br />
'''Respondent 3:'''<br />
12 yrs Test Automation to Engineering Manager<br />
AI hasn't changed much<br />
ChatGPT helps to improve the quality of User Stories<br />
I use a prompt and then moderate the output<br />
My team uses CoPilot<br />
All use ChatGPT for 360 Reviews, and the quality of the reviews is "different". ChatGPT generates some randomness. But the human-written reviews don't follow any "rules". It does NOT reduce the amount of time to write a "quality" review<br />
<br />
'''Respondent 4:'''<br />
Ending Stage (Almost retired) QA Engineer, Test Automation<br />
AI suits me for getting answers that I used to get from Google. It's much faster because ChatGPT gives me the solution directly.<br />
Workflow is the same. Team doesn't use AI much. They are in the "discovery" phase.<br />
<br />
'''Respondent 5:'''<br />
QA Engineer, Coaching the last few years<br />
CoPilot being used on the teams much more. Instead of "pairing", 1 engineer + copilot<br />
Using ChatGPT to analyze conversations. Approach difficult conversations from a different angle. Try this, try that.<br />
8 years ago, we were talking about the "benefits of pair programming"<br />
The AI tools don't understand the "context"<br />
<br />
'''Respondent 6:'''<br />
Team Lead on multiple teams, and programs for several clients<br />
ChatGPT to code, migrate SQL to mySQL<br />
Using it to write long-form text based off a few pointers.<br />
My teams are not using AI at all.<br />
Traditional BI teams<br />
<br />
'''As an aside:'''<br />
Are the customers comfortable sending all that data to OpenAI servers?<br />
Some companies don't allow Financial companies without specific approval.<br />
Circumventing the rules could result in fines.<br />
How does this differ from using something like "PrettyJSON"?<br />
Anonymize the data.<br />
For example, if you could put it on StackOverflow.<br />
ChatGPT can help translating text, especially culturally appropriate.<br />
Ask ChatGPT to create a great prompt, like for Midjourney. Dall-E. Etc.<br />
ATS system scans the resume. There are tools that will create a perfect resume for you.<br />
<br />
'''Respondent 7:'''<br />
Student<br />
Every essay is now made by ChatGPT. But ChatGPT has a function now to check to see if it produced the text.<br />
Remix tools for podcasts and videos.<br />
PremierePro can produce scripts.<br />
AdobeVoice (free) will remove room echo, to make it sound like you have a quiet room and great mic.<br />
Asks ChatGPT, "Is this good storytelling?"<br />
<br />
'''Respondent 8:'''<br />
QA Manager<br />
Asking ChatGPT, "What are the most important DevOps metrics?"<br />
Make my text more formal. Less formal.<br />
My wife wrote a book and needed a cover, it was obvious that artists were generating artwork.<br />
<br />
'''Respondent 9:'''<br />
Consultant, DevOps and Test Automation<br />
Some experience with CoPilot<br />
Managers are reducing team size because an engineer with CoPilot is so productive.<br />
Throwing away resumes that are AI-generated<br />
<br />
'''Respondent 10:'''<br />
Consultant, DevOps<br />
ChatGPT to help me write technical documentation, I use it conversationally. I use it as an assistant.<br />
And BoyfriendGPT<br />
<br />
'''Respondent 11:'''<br />
DevOps Team Lead<br />
Not allowed to use ChatGPT for public documentation<br />
Some hardware producers are building AI-specific equipment<br />
<br />
<br />
'''In the Future:'''<br />
* Linguistic capabilities are going to become more important<br />
* Dubbing movies into other languages will be gone.<br />
*</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Career_path_in_the_age_of_AI&diff=16788Career path in the age of AI2023-10-14T14:14:20Z<p>PaulJulius: </p>
<hr />
<div>Anton Fredrick is changing jobs<br />
<br />
What does a career path look like in the Age of AI.<br />
<br />
Where are you in your career path now?<br />
How has it changed because of AI in the last 3 years?<br />
<br />
_Respondent 1:_<br />
Lead Engineer<br />
It hasn't changed much.<br />
I use ChatGPT (paid version) to better organize my writing, but sometimes it turns out to be very generic.<br />
"I ask ChatGPT, 'How does this sound to you?'"<br />
I use it for coding. Like creating a server on Node.js<br />
Reduces my "cognitive load".<br />
<br />
Respondent 2:<br />
QA Engineer<br />
GitHub CoPilot helps me a lot<br />
I don't have to type as much<br />
$10/month<br />
Does good naming for variables<br />
Using it for half a year<br />
As an independent contractor, it has not resulted in "raise".<br />
Algoria for sorting products on the website.<br />
More and more services out there.<br />
You have to trust the services you are paying form<br />
<br />
'''Respondent 3:'''<br />
12 yrs Test Automation to Engineering Manager<br />
AI hasn't changed much<br />
ChatGPT helps to improve the quality of User Stories<br />
I use a prompt and then moderate the output<br />
My team uses CoPilot<br />
All use ChatGPT for 360 Reviews, and the quality of the reviews is "different". ChatGPT generates some randomness. But the human-written reviews don't follow any "rules". It does NOT reduce the amount of time to write a "quality" review<br />
<br />
'''Respondent 4:'''<br />
Ending Stage (Almost retired) QA Engineer, Test Automation<br />
AI suits me for getting answers that I used to get from Google. It's much faster because ChatGPT gives me the solution directly.<br />
Workflow is the same. Team doesn't use AI much. They are in the "discovery" phase.<br />
<br />
'''Respondent 5:'''<br />
QA Engineer, Coaching the last few years<br />
CoPilot being used on the teams much more. Instead of "pairing", 1 engineer + copilot<br />
Using ChatGPT to analyze conversations. Approach difficult conversations from a different angle. Try this, try that.<br />
8 years ago, we were talking about the "benefits of pair programming"<br />
The AI tools don't understand the "context"<br />
<br />
'''Respondent 6:'''<br />
Team Lead on multiple teams, and programs for several clients<br />
ChatGPT to code, migrate SQL to mySQL<br />
Using it to write long-form text based off a few pointers.<br />
My teams are not using AI at all.<br />
Traditional BI teams<br />
<br />
'''As an aside:'''<br />
Are the customers comfortable sending all that data to OpenAI servers?<br />
Some companies don't allow Financial companies without specific approval.<br />
Circumventing the rules could result in fines.<br />
How does this differ from using something like "PrettyJSON"?<br />
Anonymize the data.<br />
For example, if you could put it on StackOverflow.<br />
ChatGPT can help translating text, especially culturally appropriate.<br />
Ask ChatGPT to create a great prompt, like for Midjourney. Dall-E. Etc.<br />
ATS system scans the resume. There are tools that will create a perfect resume for you.<br />
<br />
'''Respondent 7:'''<br />
Student<br />
Every essay is now made by ChatGPT. But ChatGPT has a function now to check to see if it produced the text.<br />
Remix tools for podcasts and videos.<br />
PremierePro can produce scripts.<br />
AdobeVoice (free) will remove room echo, to make it sound like you have a quiet room and great mic.<br />
Asks ChatGPT, "Is this good storytelling?"<br />
<br />
'''Respondent 8:'''<br />
QA Manager<br />
Asking ChatGPT, "What are the most important DevOps metrics?"<br />
Make my text more formal. Less formal.<br />
My wife wrote a book and needed a cover, it was obvious that artists were generating artwork.<br />
<br />
'''Respondent 9:'''<br />
Consultant, DevOps and Test Automation<br />
Some experience with CoPilot<br />
Managers are reducing team size because an engineer with CoPilot is so productive.<br />
Throwing away resumes that are AI-generated<br />
<br />
'''Respondent 10:'''<br />
Consultant, DevOps<br />
ChatGPT to help me write technical documentation, I use it conversationally. I use it as an assistant.<br />
And BoyfriendGPT<br />
<br />
'''Respondent 11:'''<br />
DevOps Team Lead<br />
Not allowed to use ChatGPT for public documentation<br />
Some hardware producers are building AI-specific equipment<br />
<br />
<br />
'''In the Future:'''<br />
* Linguistic capabilities are going to become more important<br />
* Dubbing movies into other languages will be gone.<br />
*</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Career_path_in_the_age_of_AI&diff=16786Career path in the age of AI2023-10-14T13:49:54Z<p>PaulJulius: </p>
<hr />
<div>Anton Fredrick is changing jobs<br />
<br />
What does a career path look like in the Age of AI.<br />
<br />
Where are you in your career path now?<br />
How has it changed because of AI in the last 3 years?<br />
<br />
_Respondent 1:_<br />
Lead Engineer<br />
It hasn't changed much.<br />
I use ChatGPT (paid version) to better organize my writing, but sometimes it turns out to be very generic.<br />
"I ask ChatGPT, 'How does this sound to you?'"<br />
I use it for coding. Like creating a server on Node.js<br />
Reduces my "cognitive load".<br />
<br />
Respondent 2:<br />
QA Engineer<br />
GitHub CoPilot helps me a lot<br />
I don't have to type as much<br />
$10/month<br />
Does good naming for variables<br />
Using it for half a year<br />
As an independent contractor, it has not resulted in "raise".<br />
Algoria for sorting products on the website.<br />
More and more services out there.<br />
You have to trust the services you are paying form<br />
<br />
Respondent 3:<br />
12 yrs Test Automation to Engineering Manager<br />
AI hasn't changed much<br />
ChatGPT helps to improve the quality of User Stories<br />
I use a prompt and then moderate the output<br />
My team uses CoPilot<br />
All use ChatGPT for 360 Reviews, and the quality of the reviews is "different". ChatGPT generates some randomness. But the human-written reviews don't follow any "rules". It does NOT reduce the amount of time to write a "quality" review<br />
<br />
Respondent 4:<br />
Ending Stage (Almost retired) QA Engineer, Test Automation<br />
AI suits me for getting answers that I used to get from Google. It's much faster because ChatGPT gives me the solution directly.<br />
Workflow is the same. Team doesn't use AI much. They are in the "discovery" phase.<br />
<br />
Respondent 5:<br />
QA Engineer, Coaching the last few years<br />
CoPilot being used on the teams much more. Instead of "pairing", 1 engineer + copilot<br />
Using ChatGPT to analyze conversations. Approach difficult conversations from a different angle. Try this, try that.<br />
8 years ago, we were talking about the "benefits of pair programming"<br />
The AI tools don't understand the "context"<br />
<br />
Respondent 6:<br />
Team Lead on multiple teams, and programs for several clients<br />
ChatGPT to code, migrate SQL to mySQL<br />
Using it to write long-form text based off a few pointers.<br />
My teams are not using AI at all.<br />
Traditional BI teams<br />
<br />
As an aside:<br />
Are the customers comfortable sending all that data to OpenAI servers?<br />
Some companies don't allow Financial companies without specific approval.<br />
Circumventing the rules could result in fines.<br />
How does this differ from using something like "PrettyJSON"?<br />
Anonymize the data.<br />
For example, if you could put it on StackOverflow.<br />
<br />
Respondent 7:<br />
Student<br />
Every essay is now made by ChatGPT. But ChatGPT has a function now to check to see if it produced the text.<br />
Remix tools for podcasts and videos.<br />
PremierePro can produce scripts.<br />
AdobeVoice (free) will remove room echo, to make it sound like you have a quiet room and great mic.<br />
Asks ChatGPT, "Is this good storytelling?"<br />
<br />
Respondent 8:</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Career_path_in_the_age_of_AI&diff=16785Career path in the age of AI2023-10-14T13:49:34Z<p>PaulJulius: </p>
<hr />
<div>Anton Fredrick is changing jobs<br />
<br />
What does a career path look like in the Age of AI.<br />
<br />
Where are you in your career path now?<br />
How has it changed because of AI in the last 3 years?<br />
<br />
*Respondent 1:*<br />
Lead Engineer<br />
It hasn't changed much.<br />
I use ChatGPT (paid version) to better organize my writing, but sometimes it turns out to be very generic.<br />
"I ask ChatGPT, 'How does this sound to you?'"<br />
I use it for coding. Like creating a server on Node.js<br />
Reduces my "cognitive load".<br />
<br />
Respondent 2:<br />
QA Engineer<br />
GitHub CoPilot helps me a lot<br />
I don't have to type as much<br />
$10/month<br />
Does good naming for variables<br />
Using it for half a year<br />
As an independent contractor, it has not resulted in "raise".<br />
Algoria for sorting products on the website.<br />
More and more services out there.<br />
You have to trust the services you are paying form<br />
<br />
Respondent 3:<br />
12 yrs Test Automation to Engineering Manager<br />
AI hasn't changed much<br />
ChatGPT helps to improve the quality of User Stories<br />
I use a prompt and then moderate the output<br />
My team uses CoPilot<br />
All use ChatGPT for 360 Reviews, and the quality of the reviews is "different". ChatGPT generates some randomness. But the human-written reviews don't follow any "rules". It does NOT reduce the amount of time to write a "quality" review<br />
<br />
Respondent 4:<br />
Ending Stage (Almost retired) QA Engineer, Test Automation<br />
AI suits me for getting answers that I used to get from Google. It's much faster because ChatGPT gives me the solution directly.<br />
Workflow is the same. Team doesn't use AI much. They are in the "discovery" phase.<br />
<br />
Respondent 5:<br />
QA Engineer, Coaching the last few years<br />
CoPilot being used on the teams much more. Instead of "pairing", 1 engineer + copilot<br />
Using ChatGPT to analyze conversations. Approach difficult conversations from a different angle. Try this, try that.<br />
8 years ago, we were talking about the "benefits of pair programming"<br />
The AI tools don't understand the "context"<br />
<br />
Respondent 6:<br />
Team Lead on multiple teams, and programs for several clients<br />
ChatGPT to code, migrate SQL to mySQL<br />
Using it to write long-form text based off a few pointers.<br />
My teams are not using AI at all.<br />
Traditional BI teams<br />
<br />
As an aside:<br />
Are the customers comfortable sending all that data to OpenAI servers?<br />
Some companies don't allow Financial companies without specific approval.<br />
Circumventing the rules could result in fines.<br />
How does this differ from using something like "PrettyJSON"?<br />
Anonymize the data.<br />
For example, if you could put it on StackOverflow.<br />
<br />
Respondent 7:<br />
Student<br />
Every essay is now made by ChatGPT. But ChatGPT has a function now to check to see if it produced the text.<br />
Remix tools for podcasts and videos.<br />
PremierePro can produce scripts.<br />
AdobeVoice (free) will remove room echo, to make it sound like you have a quiet room and great mic.<br />
Asks ChatGPT, "Is this good storytelling?"<br />
<br />
Respondent 8:</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Career_path_in_the_age_of_AI&diff=16784Career path in the age of AI2023-10-14T13:49:18Z<p>PaulJulius: </p>
<hr />
<div>Anton Fredrick is changing jobs<br />
<br />
What does a career path look like in the Age of AI.<br />
<br />
Where are you in your career path now?<br />
How has it changed because of AI in the last 3 years?<br />
<br />
Respondent 1:<br />
Lead Engineer<br />
It hasn't changed much.<br />
I use ChatGPT (paid version) to better organize my writing, but sometimes it turns out to be very generic.<br />
"I ask ChatGPT, 'How does this sound to you?'"<br />
I use it for coding. Like creating a server on Node.js<br />
Reduces my "cognitive load".<br />
<br />
Respondent 2:<br />
QA Engineer<br />
GitHub CoPilot helps me a lot<br />
I don't have to type as much<br />
$10/month<br />
Does good naming for variables<br />
Using it for half a year<br />
As an independent contractor, it has not resulted in "raise".<br />
Algoria for sorting products on the website.<br />
More and more services out there.<br />
You have to trust the services you are paying form<br />
<br />
Respondent 3:<br />
12 yrs Test Automation to Engineering Manager<br />
AI hasn't changed much<br />
ChatGPT helps to improve the quality of User Stories<br />
I use a prompt and then moderate the output<br />
My team uses CoPilot<br />
All use ChatGPT for 360 Reviews, and the quality of the reviews is "different". ChatGPT generates some randomness. But the human-written reviews don't follow any "rules". It does NOT reduce the amount of time to write a "quality" review<br />
<br />
Respondent 4:<br />
Ending Stage (Almost retired) QA Engineer, Test Automation<br />
AI suits me for getting answers that I used to get from Google. It's much faster because ChatGPT gives me the solution directly.<br />
Workflow is the same. Team doesn't use AI much. They are in the "discovery" phase.<br />
<br />
Respondent 5:<br />
QA Engineer, Coaching the last few years<br />
CoPilot being used on the teams much more. Instead of "pairing", 1 engineer + copilot<br />
Using ChatGPT to analyze conversations. Approach difficult conversations from a different angle. Try this, try that.<br />
8 years ago, we were talking about the "benefits of pair programming"<br />
The AI tools don't understand the "context"<br />
<br />
Respondent 6:<br />
Team Lead on multiple teams, and programs for several clients<br />
ChatGPT to code, migrate SQL to mySQL<br />
Using it to write long-form text based off a few pointers.<br />
My teams are not using AI at all.<br />
Traditional BI teams<br />
<br />
As an aside:<br />
Are the customers comfortable sending all that data to OpenAI servers?<br />
Some companies don't allow Financial companies without specific approval.<br />
Circumventing the rules could result in fines.<br />
How does this differ from using something like "PrettyJSON"?<br />
Anonymize the data.<br />
For example, if you could put it on StackOverflow.<br />
<br />
Respondent 7:<br />
Student<br />
Every essay is now made by ChatGPT. But ChatGPT has a function now to check to see if it produced the text.<br />
Remix tools for podcasts and videos.<br />
PremierePro can produce scripts.<br />
AdobeVoice (free) will remove room echo, to make it sound like you have a quiet room and great mic.<br />
Asks ChatGPT, "Is this good storytelling?"<br />
<br />
Respondent 8:</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Career_path_in_the_age_of_AI&diff=16783Career path in the age of AI2023-10-14T13:13:36Z<p>PaulJulius: Created page with "Ta da!"</p>
<hr />
<div>Ta da!</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Pros_and_cons_of_radical_candor&diff=16772Pros and cons of radical candor2023-10-14T11:21:53Z<p>PaulJulius: </p>
<hr />
<div>https://en.wikipedia.org/wiki/Radical_Candor<br />
<br />
<br />
Executive Summary generated by some AI<br />
----<br />
At the CITCON Berlin 2023 session, attendees discussed Kim Scott's concept of "Radical Candor," a feedback mechanism plotted on a matrix with axes ranging from "Care Personally" to "Don't give an F*+K" and from "Silence" to "Challenge Directly." While the book has been recognized for its innovative approach, criticisms included its oversimplified two-dimensional framework, excessive focus on relentless growth, and the potential for overwhelming constant feedback. Two key insights were shared: specific negative feedback may be more desirable due to its precision, and feedback methods should consider personal circumstances, as exemplified by a team member with undisclosed health issues. Comparisons were drawn to "Positive Psychology," emphasizing positive growth and the importance of "Caring Personally" in feedback, especially in startup environments. The concept of "Radical Candor" risks becoming a misapplied buzzword, necessitating a 'debuzzwordification' process. The Cynefin framework was introduced, suggesting burnout might stem from the "Complex" and "Chaotic" quadrants, making positive feedback challenging. The consensus was that while Radical Candor offers one method, there's room for other feedback strategies, particularly "Specific Positive Feedback."<br />
----<br />
<br />
<br />
Book: https://www.thalia.de/shop/home/artikeldetails/A1056068630?ProvID=11000533&gclid=CjwKCAjw-KipBhBtEiwAWjgwrNsCeXQ5az54QXNLor0OekK14FL5HOb70XDKbCtO88YV7YrYufmmCRoCk-oQAvD_BwE<br />
<br />
Matrix: https://www.radicalcandor.com/wp-content/uploads/2019/04/2x2.png<br />
<br />
<br />
Kim Scott writing on Medium: https://kimmalonescott.medium.com/<br />
<br />
Two Axes<br />
Care Personally <-> Don't give an F*+K<br />
Silence <-> Challenge Directly<br />
<br />
Criticisms of the Book<br />
* Too two-dimensional<br />
* The book focuses too much on growth, growth, growth<br />
* Forces people to give feedback, but can be too relentless<br />
<br />
If the feedback is constant and always "radical," it could become overwhelming.<br />
<br />
Should we ask permission before we give feedback?<br />
<br />
Managers "have" to give feedback, usually reinforced by forced company processes. Like annual reviews, for example.<br />
<br />
Compare this to the feedback sandwich. <br />
Good stuff, growth area, good stuff.<br />
<br />
Strengthen the strengths and weaken the weaknesses.<br />
<br />
People seem to NOT seek out radical candor on their strengths.<br />
<br />
Need to incentivize the "strengthening your strengths".<br />
<br />
Try starting toward the middle of the matrix and working up and to the right.<br />
<br />
Two experiences:<br />
1. During an interview, we asked a candidate about their preferred feedback culture. The candidate said, "I only want negative feedback." Perhaps this is because negative feedback tends to be specific, whereas positive feedback can be quite general, e.g. "good job". Ergo, feedback should be specific.<br />
<br />
2. Feedback given to a team member that would have been fired had they not been given the feedback. The team member was not receptive initially. After some time, we realized that the team member had health issues. Had we known, we might have approached the feedback differently.<br />
<br />
After Radical Candor sessions, the person coming out of the room looked completely drained.<br />
<br />
Compare this to "Positive Psychology". A type of psychology that focuses on the positive growth zone for people, instead of the pathological zone of diagnoses.<br />
<br />
In the startup stage, we frequently get to know people personally, such that Caring Personally can be easier.<br />
<br />
One should probably err on the side high on the "Care Personally" axis, versus the "Challenge Directly" axis.<br />
<br />
Trust is important.<br />
<br />
There's a ton of pressure within startups because people are being paid in shares.<br />
<br />
At big companies, it can be easy to just be a "cog in the machine" or an "employee number" and end of the lower left quadrant.<br />
<br />
"Radical Candor" can become an easily misimplemented and a buzzword.<br />
<br />
Debuzzwordification (credited to Mehmet) means eliminating the buzzword from our vocabulary and talking instead about the actions you want.<br />
<br />
Burnout happens more often in software than in other fields, like Avionics for example. In Avionics, there is a well-established pathway. Clear expectations. There's no challenging that pathway.<br />
<br />
Consider the Cynefin framework. https://upload.wikimedia.org/wikipedia/commons/a/ab/Cynefin_framework_2022.jpg<br />
Perhaps "burnout" comes from the "Complex" and "Chaotic" sectors.<br />
<br />
Positive feedback is hard in the "Chaotic" quadrant.<br />
<br />
There's a lot of potential to find other ways of approaching feedback, other than Radical Candor. Especially "Positive Feedback".<br />
<br />
This is a nuanced topic. Expect to have discussions about "Radical Candor" as you try to implement this on the team.<br />
<br />
Aha moment in session was "Specific Positive feedback is better than Radical Candor".</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Pros_and_cons_of_radical_candor&diff=16766Pros and cons of radical candor2023-10-14T09:07:41Z<p>PaulJulius: </p>
<hr />
<div>https://en.wikipedia.org/wiki/Radical_Candor<br />
<br />
<br />
Executive Summary generated by ChatGPT<br />
----<br />
At the CITCON Berlin 2023 session, attendees discussed Kim Scott's concept of "Radical Candor," a feedback mechanism plotted on a matrix with axes ranging from "Care Personally" to "Don't give an F*+K" and from "Silence" to "Challenge Directly." While the book has been recognized for its innovative approach, criticisms included its oversimplified two-dimensional framework, excessive focus on relentless growth, and the potential for overwhelming constant feedback. Two key insights were shared: specific negative feedback may be more desirable due to its precision, and feedback methods should consider personal circumstances, as exemplified by a team member with undisclosed health issues. Comparisons were drawn to "Positive Psychology," emphasizing positive growth and the importance of "Caring Personally" in feedback, especially in startup environments. The concept of "Radical Candor" risks becoming a misapplied buzzword, necessitating a 'debuzzwordification' process. The Cynefin framework was introduced, suggesting burnout might stem from the "Complex" and "Chaotic" quadrants, making positive feedback challenging. The consensus was that while Radical Candor offers one method, there's room for other feedback strategies, particularly "Specific Positive Feedback."<br />
----<br />
<br />
<br />
Book: https://www.thalia.de/shop/home/artikeldetails/A1056068630?ProvID=11000533&gclid=CjwKCAjw-KipBhBtEiwAWjgwrNsCeXQ5az54QXNLor0OekK14FL5HOb70XDKbCtO88YV7YrYufmmCRoCk-oQAvD_BwE<br />
<br />
Matrix: https://www.radicalcandor.com/wp-content/uploads/2019/04/2x2.png<br />
<br />
<br />
Kim Scott writing on Medium: https://kimmalonescott.medium.com/<br />
<br />
Two Axes<br />
Care Personally <-> Don't give an F*+K<br />
Silence <-> Challenge Directly<br />
<br />
Criticisms of the Book<br />
* Too two-dimensional<br />
* The book focuses too much on growth, growth, growth<br />
* Forces people to give feedback, but can be too relentless<br />
<br />
If the feedback is constant and always "radical," it could become overwhelming.<br />
<br />
Should we ask permission before we give feedback?<br />
<br />
Managers "have" to give feedback, usually reinforced by forced company processes. Like annual reviews, for example.<br />
<br />
Compare this to the feedback sandwich. <br />
Good stuff, growth area, good stuff.<br />
<br />
Strengthen the strengths and weaken the weaknesses.<br />
<br />
People seem to NOT seek out radical candor on their strengths.<br />
<br />
Need to incentivize the "strengthening your strengths".<br />
<br />
Try starting toward the middle of the matrix and working up and to the right.<br />
<br />
Two experiences:<br />
1. During an interview, we asked a candidate about their preferred feedback culture. The candidate said, "I only want negative feedback." Perhaps this is because negative feedback tends to be specific, whereas positive feedback can be quite general, e.g. "good job". Ergo, feedback should be specific.<br />
<br />
2. Feedback given to a team member that would have been fired had they not been given the feedback. The team member was not receptive initially. After some time, we realized that the team member had health issues. Had we known, we might have approached the feedback differently.<br />
<br />
After Radical Candor sessions, the person coming out of the room looked completely drained.<br />
<br />
Compare this to "Positive Psychology". A type of psychology that focuses on the positive growth zone for people, instead of the pathological zone of diagnoses.<br />
<br />
In the startup stage, we frequently get to know people personally, such that Caring Personally can be easier.<br />
<br />
One should probably err on the side high on the "Care Personally" axis, versus the "Challenge Directly" axis.<br />
<br />
Trust is important.<br />
<br />
There's a ton of pressure within startups because people are being paid in shares.<br />
<br />
At big companies, it can be easy to just be a "cog in the machine" or an "employee number" and end of the lower left quadrant.<br />
<br />
"Radical Candor" can become an easily misimplemented and a buzzword.<br />
<br />
Debuzzwordification (credited to Mehmet) means eliminating the buzzword from our vocabulary and talking instead about the actions you want.<br />
<br />
Burnout happens more often in software than in other fields, like Avionics for example. In Avionics, there is a well-established pathway. Clear expectations. There's no challenging that pathway.<br />
<br />
Consider the Cynefin framework. https://upload.wikimedia.org/wikipedia/commons/a/ab/Cynefin_framework_2022.jpg<br />
Perhaps "burnout" comes from the "Complex" and "Chaotic" sectors.<br />
<br />
Positive feedback is hard in the "Chaotic" quadrant.<br />
<br />
There's a lot of potential to find other ways of approaching feedback, other than Radical Candor. Especially "Positive Feedback".<br />
<br />
This is a nuanced topic. Expect to have discussions about "Radical Candor" as you try to implement this on the team.<br />
<br />
Aha moment in session was "Specific Positive feedback is better than Radical Candor".</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Paul_Julius&diff=16759Paul Julius2023-10-12T18:17:10Z<p>PaulJulius: </p>
<hr />
<div>Paul, aka PJ, co-founded CITCON with [[Jeffrey Fredrick]].<br />
<br />
* http://www.linkedin.com/in/ThePJ<br />
<br />
I've spent a long time consulting on all things Agile, especially Continuous Delivery!</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Tomas_Veskrna&diff=16758Tomas Veskrna2023-10-12T18:16:01Z<p>PaulJulius: Created page with "https://www.facebook.com/tomas.veskrna.7"</p>
<hr />
<div>https://www.facebook.com/tomas.veskrna.7</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Snehadeepa_Snehanadhan&diff=16757Snehadeepa Snehanadhan2023-10-12T17:46:48Z<p>PaulJulius: Created page with "https://www.linkedin.com/in/snehashobin/"</p>
<hr />
<div>https://www.linkedin.com/in/snehashobin/</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Pavan_Assuri&diff=16756Pavan Assuri2023-10-12T17:46:06Z<p>PaulJulius: Created page with "https://www.linkedin.com/in/pavanassuri/"</p>
<hr />
<div>https://www.linkedin.com/in/pavanassuri/</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Patrick_Wiley&diff=16755Patrick Wiley2023-10-12T17:44:15Z<p>PaulJulius: Created page with "https://www.linkedin.com/in/wileypatrick/"</p>
<hr />
<div>https://www.linkedin.com/in/wileypatrick/</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Muhammad_Ahsan&diff=16754Muhammad Ahsan2023-10-12T17:34:01Z<p>PaulJulius: Created page with "https://www.linkedin.com/in/muhammad-ahsan-2b691522/"</p>
<hr />
<div>https://www.linkedin.com/in/muhammad-ahsan-2b691522/</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Dragan_Stepanovic&diff=16753Dragan Stepanovic2023-10-12T17:28:38Z<p>PaulJulius: Created page with "https://www.linkedin.com/in/dstepanovic/"</p>
<hr />
<div>https://www.linkedin.com/in/dstepanovic/</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Daniel_Bartholomae&diff=16752Daniel Bartholomae2023-10-12T17:26:28Z<p>PaulJulius: Created page with "https://linkedin.com/in/bartholomae"</p>
<hr />
<div>https://linkedin.com/in/bartholomae</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Christoph_Jauera&diff=16751Christoph Jauera2023-10-12T17:23:47Z<p>PaulJulius: Created page with "https://phabricator.wikimedia.org/p/WMDE-Fisch/"</p>
<hr />
<div>https://phabricator.wikimedia.org/p/WMDE-Fisch/</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Catalin_Drulea&diff=16750Catalin Drulea2023-10-12T17:22:54Z<p>PaulJulius: Created page with "https://www.linkedin.com/in/catalin-drulea-6073a4156/"</p>
<hr />
<div>https://www.linkedin.com/in/catalin-drulea-6073a4156/</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Ashwinkumar_Yakkundimath&diff=16749Ashwinkumar Yakkundimath2023-10-12T17:19:43Z<p>PaulJulius: Created page with "https://www.linkedin.com/in/ashwincy/"</p>
<hr />
<div>https://www.linkedin.com/in/ashwincy/</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Ashutosh_Mishra&diff=16748Ashutosh Mishra2023-10-12T17:19:07Z<p>PaulJulius: Created page with "https://www.linkedin.com/in/Connectwithashutoshm/"</p>
<hr />
<div>https://www.linkedin.com/in/Connectwithashutoshm/</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Alice_Valentini&diff=16747Alice Valentini2023-10-12T17:18:04Z<p>PaulJulius: Created page with "https://www.linkedin.com/in/alice-valentini/"</p>
<hr />
<div>https://www.linkedin.com/in/alice-valentini/</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Akash_Sawant&diff=16746Akash Sawant2023-10-12T17:17:17Z<p>PaulJulius: Created page with "https://twitter.com/sakash321"</p>
<hr />
<div>https://twitter.com/sakash321</div>PaulJuliushttp://citconf.com/wiki/index.php?title=CITCONEurope2023Registrants&diff=16745CITCONEurope2023Registrants2023-10-12T16:32:24Z<p>PaulJulius: Up to date list of registrations</p>
<hr />
<div>[[Akash Sawant]] <br/><br />
[[Alice Valentini]] <br/><br />
[[Anton Fredrick]] <br/><br />
[[Antti Pohjonen]] <br/><br />
[[Ashutosh Mishra]] <br/><br />
[[Ashwinkumar Yakkundimath]] <br/><br />
[[Branislav Smolíček]] <br/><br />
[[Catalin Drulea]] <br/><br />
[[Christoph Jauera]] <br/><br />
[[Cirilo Wortel]] <br/><br />
[[Daniel Olearčin]] <br/><br />
[[Daniel Bartholomae]] <br/><br />
[[Derek Haynes]] <br/><br />
[[Derk Geene]] <br/><br />
[[Desmond Delissen]] <br/><br />
[[Dmitry Kisler]] <br/><br />
[[Dragan Stepanovic]] <br/><br />
[[Dušan Úradník]] <br/><br />
[[Ian Davies]] <br/><br />
[[James Perry]] <br/><br />
[[Jan Bouska]] <br/><br />
[[Jana Rekittke]] <br/><br />
[[Jeffrey Fredrick]] <br/><br />
[[Joni Fofonoff]] <br/><br />
[[Juri Solovjov]] <br/><br />
[[Karina Duisenbekova]] <br/><br />
[[Lukas Lowinger]] <br/><br />
[[Maik Nogens]] <br/><br />
[[Malte-Levin Riewe]] <br/><br />
[[Manfred Linzner-Scherf]] <br/><br />
[[Marco Emrich]] <br/><br />
[[Mehmet Yildiz]] <br/><br />
[[Muhammad Sufyian]] <br/><br />
[[Muhammad Ahsan]] <br/><br />
[[Mustafa Elbehery]] <br/><br />
[[Nadya Denisenko]] <br/><br />
[[Nina Štefeková]] <br/><br />
[[Oleksii Fedorov]] <br/><br />
[[Pascal Dufour]] <br/><br />
[[Patrick Wiley]] <br/><br />
[[Paul Julius]] <br/><br />
[[Pavan Assuri]] <br/><br />
[[Peter Zsoldos]] <br/><br />
[[Radomir Sebek]] <br/><br />
[[Raul Rodriguez]] <br/><br />
[[Roland Eschenburg]] <br/><br />
[[Ronald Doelen]] <br/><br />
[[Segun Oworu]] <br/><br />
[[Sherry Khan]] <br/><br />
[[Shijesh Koodoan]] <br/><br />
[[Shujaat Ali Chand]] <br/><br />
[[Simon Schrijver]] <br/><br />
[[Simon Görtzen]] <br/><br />
[[Snehadeepa Snehanadhan]] <br/><br />
[[Stefan Robert Raus]] <br/><br />
[[Taskeen Fatima]] <br/><br />
[[Tim Wikström]] <br/><br />
[[Tomas Veskrna]] <br/><br />
[[Uthman Yusuf]] <br/><br />
[[Vansika Pareek]] <br/><br />
[[Xing Yang]] <br/><br />
[[Yashika Jayasinghe]] <br/><br />
[[Yung-Yu Chen]] <br/><br />
[[Željko Filipin]] <br/><br />
[[Zoran Regvart]] <br/></div>PaulJuliushttp://citconf.com/wiki/index.php?title=How_to_Avoid_Branching&diff=16473How to Avoid Branching2019-05-18T09:00:46Z<p>PaulJulius: </p>
<hr />
<div>== Problem Statement ==<br />
<br />
Best practices for Trunk-Based Development<br />
<br />
Goal is Continuous Integration<br />
<br />
'''Really''' we want Faster Feedback<br />
<br />
== Complications ==<br />
<br />
In monolithic codebases, it's hard to make quick changes<br />
<br />
Team members need to have the skills to make the changes<br />
<br />
The mindset gets in the way of people making a change from one monolithic build<br />
<br />
I want refactor mercilessly<br />
<br />
I want to release rapidly<br />
<br />
100s of developers, with a big legacy codebases<br />
<br />
Branches allow you to circumvent fixing underlying issues in the organization<br />
<br />
Emergent architecture, i.e. not designing your code up front, can cause a codebase that is even harder to do trunk-based development.<br />
<br />
The business wants to be able to cherry-pick features.<br />
<br />
Can find yourself in an endless "refactoring" project.<br />
<br />
Without a "prod-like" environment, there can be a resource contention that won't be solved by trunk-based development.<br />
<br />
Moving to virtualization, like cloud, can be scary for companies because they "lose control".<br />
<br />
Management can be reluctant to let a small group of people work on one thing.<br />
<br />
== Potential Solutions ==<br />
<br />
A lot of places could do trunk-based development, but there is resistance like "people will break things" all the time. We have to switch first, experience some pain, but usually shorter than usual.<br />
<br />
You might be fine with a well-functioning branching workflow. Why change? Is this the biggest problem to solve?<br />
<br />
Fix the smallest "ouch" that the team feels at the moment...eventually trunk-based development will come up.<br />
<br />
Shorten your branch lifetime. The shorter-lived branches are one step closer to trunk-based development.<br />
<br />
Merge from your branches to trunk, frequently. Or perhaps, merge from trunk to your branch, frequently.<br />
<br />
From the book "Code as a Crime Scene", they write that the area of the code that changes most frequently is probably the area that should be redesigned.<br />
<br />
Use the Strangler Pattern to gradually improve the legacy codebase.<br />
<br />
Have to build trust within the organization. Trust can be easier to gain with Continuous Integration and Continuous Delivery automating all the steps.<br />
<br />
Report the amount of wasted work, i.e. features that never get picked to be released.<br />
<br />
"Stop starting, start finishing."<br />
<br />
Focus on "system flow" optimization instead of resource optimization.<br />
<br />
Flow Lab is a simulation game to investigate system flow variables.</div>PaulJuliushttp://citconf.com/wiki/index.php?title=How_to_Avoid_Branching&diff=16472How to Avoid Branching2019-05-18T08:46:15Z<p>PaulJulius: </p>
<hr />
<div>== Problem Statement ==<br />
<br />
Best practices for Trunk-Based Development<br />
<br />
Goal is Continuous Integration<br />
<br />
'''Really''' we want Faster Feedback<br />
<br />
== Complications ==<br />
<br />
In monolithic codebases, it's hard to make quick changes<br />
<br />
Team members need to have the skills to make the changes<br />
<br />
The mindset gets in the way of people making a change from one monolithic build<br />
<br />
I want refactor mercilessly<br />
<br />
I want to release rapidly<br />
<br />
100s of developers, with a big legacy codebases<br />
<br />
Branches allow you to circumvent fixing underlying issues in the organization<br />
<br />
Emergent architecture, i.e. not designing your code up front, can cause a codebase that is even harder to do trunk-based development.<br />
<br />
The business wants to be able to cherry-pick features.<br />
<br />
Can find yourself in an endless "refactoring" project.<br />
<br />
Without a "prod-like" environment, there can be a resource contention that won't be solved by trunk-based development.<br />
<br />
Moving to virtualization, like cloud, can be scary for companies because they "lose control".<br />
<br />
== Potential Solutions ==<br />
<br />
A lot of places could do trunk-based development, but there is resistance like "people will break things" all the time. We have to switch first, experience some pain, but usually shorter than usual.<br />
<br />
You might be fine with a well-functioning branching workflow. Why change? Is this the biggest problem to solve?<br />
<br />
Fix the smallest "ouch" that the team feels at the moment...eventually trunk-based development will come up.<br />
<br />
Shorten your branch lifetime. The shorter-lived branches are one step closer to trunk-based development.<br />
<br />
Merge from your branches to trunk, frequently. Or perhaps, merge from trunk to your branch, frequently.<br />
<br />
From the book "Code as a Crime Scene", they write that the area of the code that changes most frequently is probably the area that should be redesigned.<br />
<br />
Use the Strangler Pattern to gradually improve the legacy codebase.<br />
<br />
Have to build trust within the organization. Trust can be easier to gain with Continuous Integration and Continuous Delivery automating all the steps.</div>PaulJuliushttp://citconf.com/wiki/index.php?title=How_to_Avoid_Branching&diff=16471How to Avoid Branching2019-05-18T08:44:45Z<p>PaulJulius: </p>
<hr />
<div>== Problem Statement ==<br />
<br />
Best practices for Trunk-Based Development<br />
<br />
Goal is Continuous Integration<br />
<br />
'''Really''' we want Faster Feedback<br />
<br />
== Complications ==<br />
<br />
In monolithic codebases, it's hard to make quick changes<br />
<br />
Team members need to have the skills to make the changes<br />
<br />
The mindset gets in the way of people making a change from one monolithic build<br />
<br />
I want refactor mercilessly<br />
<br />
I want to release rapidly<br />
<br />
100s of developers, with a big legacy codebases<br />
<br />
Branches allow you to circumvent fixing underlying issues in the organization<br />
<br />
Emergent architecture, i.e. not designing your code up front, can cause a codebase that is even harder to do trunk-based development.<br />
<br />
The business wants to be able to cherry-pick features.<br />
<br />
Can find yourself in an endless "refactoring" project.<br />
<br />
Without a "prod-like" environment, there can be a resource contention that won't be solved by trunk-based development.<br />
<br />
Moving to virtualization, like cloud, can be scary for companies because they "lose control".<br />
<br />
== Potential Solutions ==<br />
<br />
A lot of places could do trunk-based development, but there is resistance like "people will break things" all the time. We have to switch first, experience some pain, but usually shorter than usual.<br />
<br />
You might be fine with a well-functioning branching workflow. Why change? Is this the biggest problem to solve?<br />
<br />
Fix the smallest "ouch" that the team feels at the moment...eventually trunk-based development will come up.<br />
<br />
Shorten your branch lifetime. The shorter-lived branches are one step closer to trunk-based development.<br />
<br />
Merge from your branches to trunk, frequently. Or perhaps, merge from trunk to your branch, frequently.<br />
<br />
From the book "Code as a Crime Scene", they write that the area of the code that changes most frequently is probably the area that should be redesigned.<br />
<br />
Use the Strangler Pattern to gradually improve the legacy codebase.</div>PaulJuliushttp://citconf.com/wiki/index.php?title=How_to_Avoid_Branching&diff=16470How to Avoid Branching2019-05-18T08:41:26Z<p>PaulJulius: </p>
<hr />
<div>== Problem Statement ==<br />
<br />
Best practices for Trunk-Based Development<br />
<br />
Goal is Continuous Integration<br />
<br />
'''Really''' we want Faster Feedback<br />
<br />
== Complications ==<br />
<br />
In monolithic codebases, it's hard to make quick changes<br />
<br />
Team members need to have the skills to make the changes<br />
<br />
The mindset gets in the way of people making a change from one monolithic build<br />
<br />
I want refactor mercilessly<br />
<br />
I want to release rapidly<br />
<br />
100s of developers, with a big legacy codebases<br />
<br />
Branches allow you to circumvent fixing underlying issues in the organization<br />
<br />
Emergent architecture, i.e. not designing your code up front, can cause a codebase that is even harder to do trunk-based development.<br />
<br />
The business wants to be able to cherry-pick features.<br />
<br />
Can find yourself in an endless "refactoring" project.<br />
<br />
== Potential Solutions ==<br />
<br />
A lot of places could do trunk-based development, but there is resistance like "people will break things" all the time. We have to switch first, experience some pain, but usually shorter than usual.<br />
<br />
You might be fine with a well-functioning branching workflow. Why change? Is this the biggest problem to solve?<br />
<br />
Fix the smallest "ouch" that the team feels at the moment...eventually trunk-based development will come up.<br />
<br />
Shorten your branch lifetime. The shorter-lived branches are one step closer to trunk-based development.<br />
<br />
Merge from your branches to trunk, frequently. Or perhaps, merge from trunk to your branch, frequently.<br />
<br />
From the book "Code as a Crime Scene", they write that the area of the code that changes most frequently is probably the area that should be redesigned.<br />
<br />
Use the Strangler Pattern to gradually improve the legacy codebase.</div>PaulJuliushttp://citconf.com/wiki/index.php?title=How_to_Avoid_Branching&diff=16469How to Avoid Branching2019-05-18T08:39:23Z<p>PaulJulius: </p>
<hr />
<div>== Problem Statement ==<br />
<br />
Best practices for Trunk-Based Development<br />
<br />
Goal is Continuous Integration<br />
<br />
'''Really''' we want Faster Feedback<br />
<br />
== Complications ==<br />
<br />
In monolithic codebases, it's hard to make quick changes<br />
<br />
Team members need to have the skills to make the changes<br />
<br />
The mindset gets in the way of people making a change from one monolithic build<br />
<br />
I want refactor mercilessly<br />
<br />
I want to release rapidly<br />
<br />
100s of developers, with a big legacy codebases<br />
<br />
Branches allow you to circumvent fixing underlying issues in the organization<br />
<br />
Emergent architecture, i.e. not designing your code up front, can cause a codebase that is even harder to do trunk-based development.<br />
<br />
The business wants to be able to cherry-pick features.<br />
<br />
== Potential Solutions ==<br />
<br />
A lot of places could do trunk-based development, but there is resistance like "people will break things" all the time. We have to switch first, experience some pain, but usually shorter than usual.<br />
<br />
You might be fine with a well-functioning branching workflow. Why change? Is this the biggest problem to solve?<br />
<br />
Fix the smallest "ouch" that the team feels at the moment...eventually trunk-based development will come up.<br />
<br />
Shorten your branch lifetime. The shorter-lived branches are one step closer to trunk-based development.<br />
<br />
Merge from your branches to trunk, frequently. Or perhaps, merge from trunk to your branch, frequently.<br />
<br />
From the book "Code as a Crime Scene", they write that the area of the code that changes most frequently is probably the area that should be redesigned.</div>PaulJuliushttp://citconf.com/wiki/index.php?title=How_to_Avoid_Branching&diff=16468How to Avoid Branching2019-05-18T08:37:58Z<p>PaulJulius: </p>
<hr />
<div>== Problem Statement ==<br />
<br />
Best practices for Trunk-Based Development<br />
<br />
Goal is Continuous Integration<br />
<br />
'''Really''' we want Faster Feedback<br />
<br />
== Complications ==<br />
<br />
In monolithic codebases, it's hard to make quick changes<br />
<br />
Team members need to have the skills to make the changes<br />
<br />
The mindset gets in the way of people making a change from one monolithic build<br />
<br />
I want refactor mercilessly<br />
<br />
I want to release rapidly<br />
<br />
100s of developers, with a big legacy codebases<br />
<br />
Branches allow you to circumvent fixing underlying issues in the organization<br />
<br />
Emergent architecture, i.e. not designing your code up front, can cause a codebase that is even harder to do trunk-based development.<br />
<br />
The business wants to be able to cherry-pick features.<br />
<br />
== Potential Solutions ==<br />
<br />
A lot of places could do trunk-based development, but there is resistance like "people will break things" all the time. We have to switch first, experience some pain, but usually shorter than usual.<br />
<br />
You might be fine with a well-functioning branching workflow. Why change? Is this the biggest problem to solve?<br />
<br />
Fix the smallest "ouch" that the team feels at the moment...eventually trunk-based development will come up.<br />
<br />
Shorten your branch lifetime. The shorter-lived branches are one step closer to trunk-based development.<br />
<br />
Merge from your branches to trunk, frequently. Or perhaps, merge from trunk to your branch, frequently.</div>PaulJuliushttp://citconf.com/wiki/index.php?title=How_to_Avoid_Branching&diff=16467How to Avoid Branching2019-05-18T08:35:24Z<p>PaulJulius: </p>
<hr />
<div>== Problem Statement ==<br />
<br />
Best practices for Trunk-Based Development<br />
<br />
Goal is Continuous Integration<br />
<br />
'''Really''' we want Faster Feedback<br />
<br />
== Complications ==<br />
<br />
In monolithic codebases, it's hard to make quick changes<br />
<br />
Team members need to have the skills to make the changes<br />
<br />
The mindset gets in the way of people making a change from one monolithic build<br />
<br />
I want refactor mercilessly<br />
<br />
I want to release rapidly<br />
<br />
100s of developers, with a big legacy codebases<br />
<br />
Branches allow you to circumvent fixing underlying issues in the organization<br />
<br />
Emergent architecture, i.e. not designing your code up front, can cause a codebase that is even harder to do trunk-based development.<br />
<br />
<br />
== Potential Solutions ==<br />
<br />
A lot of places could do trunk-based development, but there is resistance like "people will break things" all the time. We have to switch first, experience some pain, but usually shorter than usual.<br />
<br />
You might be fine with a well-functioning branching workflow. Why change? Is this the biggest problem to solve?<br />
<br />
Fix the smallest "ouch" that the team feels at the moment...eventually trunk-based development will come up.<br />
<br />
Shorten your branch lifetime. The shorter-lived branches are one step closer to trunk-based development.<br />
<br />
Merge from your branches to trunk, frequently. Or perhaps, merge from trunk to your branch, frequently.</div>PaulJuliushttp://citconf.com/wiki/index.php?title=How_to_Avoid_Branching&diff=16466How to Avoid Branching2019-05-18T08:31:21Z<p>PaulJulius: </p>
<hr />
<div>== Problem: ==<br />
<br />
Best practices for Trunk-Based Development<br />
<br />
Goal is Continuous Integration<br />
<br />
'''Really''' we want Faster Feedback<br />
<br />
== Complications: ==<br />
<br />
In monolithic codebases, it's hard to make quick changes<br />
<br />
Team members need to have the skills to make the changes<br />
<br />
The mindset gets in the way of people making a change from one monolithic build<br />
<br />
I want refactor mercilessly<br />
<br />
I want to release rapidly<br />
<br />
100s of developers, with a big legacy codebases<br />
<br />
Branches allow you to circumvent fixing underlying issues in the organization<br />
<br />
== Potential Solutions: ==<br />
<br />
A lot of places could do trunk-based development, but there is resistance like "people will break things" all the time. We have to switch first, experience some pain, but usually shorter than usual.<br />
<br />
You might be fine with a well-functioning branching workflow. Why change? Is this the biggest problem to solve?<br />
<br />
Fix the smallest "ouch" that the team feels at the moment...eventually trunk-based development will come up.<br />
<br />
Shorten your branch lifetime. The shorter-lived branches are one step closer to trunk-based development.</div>PaulJuliushttp://citconf.com/wiki/index.php?title=How_to_Avoid_Branching&diff=16465How to Avoid Branching2019-05-18T08:27:40Z<p>PaulJulius: </p>
<hr />
<div>== Problem: ==<br />
<br />
Best practices for Trunk-Based Development<br />
<br />
Goal is Continuous Integration<br />
<br />
'''Really''' we want Faster Feedback<br />
<br />
== Complications: ==<br />
<br />
In monolithic codebases, it's hard to make quick changes<br />
<br />
Team members need to have the skills to make the changes<br />
<br />
The mindset gets in the way of people making a change from one monolithic build<br />
<br />
I want refactor mercilessly<br />
<br />
I want to release rapidly<br />
<br />
100s of developers, with a big legacy codebases<br />
<br />
Branches allow you to circumvent fixing underlying issues in the organization<br />
<br />
== Potential Solutions: ==<br />
<br />
A lot of places could do trunk-based development, but there is resistance like "people will break things" all the time. We have to switch first, experience some pain, but usually shorter than usual.<br />
<br />
You might be fine with a well-functioning branching workflow. Why change? Is this the biggest problem to solve?</div>PaulJuliushttp://citconf.com/wiki/index.php?title=How_to_Avoid_Branching&diff=16464How to Avoid Branching2019-05-18T08:24:33Z<p>PaulJulius: </p>
<hr />
<div>== Problem: ==<br />
<br />
Best practices for Trunk-Based Development<br />
<br />
Goal is Continuous Integration<br />
<br />
Really we want Faster Feedback<br />
<br />
== Complications: ==<br />
<br />
In monolithic codebases, it's hard to make quick changes<br />
<br />
Team members need to have the skills to make the changes<br />
<br />
The mindset gets in the way of people making a change from one monolithic build<br />
<br />
I want refactor mercilessly<br />
<br />
I want to release rapidly<br />
<br />
100s of developers, with a big legacy codebases<br />
<br />
Branches allow you to circumvent fixing underlying issues in the organization<br />
<br />
A lot of places could do trunk-based development, but there is resistance like "people will break things" all the time. We have to switch first, experience some pain, but usually shorter than usual.<br />
<br />
== Potential Solutions: ==<br />
<br />
Baz</div>PaulJuliushttp://citconf.com/wiki/index.php?title=How_to_Avoid_Branching&diff=16463How to Avoid Branching2019-05-18T08:21:51Z<p>PaulJulius: </p>
<hr />
<div>== Problem: ==<br />
<br />
Best practices for Trunk-Based Development<br />
<br />
Goal is Continuous Integration<br />
<br />
Really we want Faster Feedback<br />
<br />
== Complications: ==<br />
<br />
In monolithic codebases, it's hard to make quick changes<br />
<br />
Team members need to have the skills to make the changes<br />
<br />
The mindset gets in the way of people making a change from one monolithic build<br />
<br />
I want refactor mercilessly<br />
<br />
I want to release rapidly<br />
<br />
100s of developers, with a big legacy codebases<br />
<br />
<br />
<br />
== Potential Solutions: ==<br />
<br />
Baz</div>PaulJuliushttp://citconf.com/wiki/index.php?title=How_to_Avoid_Branching&diff=16462How to Avoid Branching2019-05-18T08:18:15Z<p>PaulJulius: </p>
<hr />
<div>== Problem: ==<br />
<br />
Best practices for Trunk-Based Development<br />
<br />
Goal is Continuous Integration<br />
<br />
Really we want Faster Feedback<br />
<br />
== Complications: ==<br />
<br />
In monolithic codebases, it's hard to make quick changes<br />
<br />
Team members need to have the skills to make the changes<br />
<br />
<br />
== Potential Solutions: ==<br />
<br />
Baz</div>PaulJuliushttp://citconf.com/wiki/index.php?title=How_to_Avoid_Branching&diff=16461How to Avoid Branching2019-05-18T08:14:22Z<p>PaulJulius: Created page with "Problem: Foo Complications: Bar Potential Solutions: Baz"</p>
<hr />
<div>Problem:<br />
<br />
Foo<br />
<br />
Complications:<br />
<br />
Bar<br />
<br />
Potential Solutions:<br />
<br />
Baz</div>PaulJuliushttp://citconf.com/wiki/index.php?title=CITCONEurope2019Sessions&diff=16460CITCONEurope2019Sessions2019-05-18T08:13:43Z<p>PaulJulius: </p>
<hr />
<div>10:00<br />
<br />
Thierry - [[How to Avoid Branching]]</div>PaulJuliushttp://citconf.com/wiki/index.php?title=CITCONEurope2019Sessions&diff=16459CITCONEurope2019Sessions2019-05-18T08:13:26Z<p>PaulJulius: Created page with "10:00 Thierry - [How to Avoid Branching]"</p>
<hr />
<div>10:00<br />
<br />
Thierry - [How to Avoid Branching]</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Main_Page&diff=16458Main Page2019-05-18T08:12:02Z<p>PaulJulius: /* CITCON Europe 2019 */</p>
<hr />
<div>Welcome to the Continuous Integration and Testing Conference's Wiki.<br />
<br />
Edit is the same as Wikipedia: [http://en.wikipedia.org/wiki/Wikipedia:Cheatsheet Cheatsheet]<br />
<br />
Yahoo Group and mailing list: http://tech.groups.yahoo.com/group/citcon/<br />
<br />
Continuous Integration and Testing related blogs: http://feeds.feedburner.com/CitconBlogs (send an email to the CITCON mailing list to have your blog added)<br />
<br />
'''Blog entries, pictures, etc''': [[OnTheWeb | CITCON mentions on the web]]<br />
<br />
Meta pages on our process for [[ConferencePlanning|running the conference]]<br />
<br />
== CITCON Europe 2019 ==<br />
<br />
[http://citconf.com/ghent2019 CITCON Europe 2019], May 17th & 18th, in Ghent, Belgium<br />
<br />
[[CITCONEurope2019Registrants | Registrants]]<br />
[[CITCONEurope2019Sessions | Sessions]]<br />
<br />
== CITCON Europe 2018 ==<br />
<br />
[http://citconf.com/vienna2018 CITCON Europe 2018], April 20th & 21st, in Vienna, Austria<br />
<br />
[[CITCONEurope2018Registrants | Registrants]]<br />
<br />
== CITCON Europe 2017 ==<br />
<br />
[http://citconf.com/amsterdam2017 CITCON Europe 2017], May 19th & 20th, in Amsterdam, The Netherlands<br />
<br />
[[CITCONEurope2017Sessions | Sessions]]<br />
<br />
[[CITCONEurope2017Registrants | Registrants]]<br />
<br />
== CITCON North America 2016 ==<br />
<br />
[http://citconf.com/newyork2016 CITCON NA 2016], December 9th & 10th, in New York, New York<br />
<br />
[[CITCONNA2016Sessions | Sessions]]<br />
<br />
[[CITCONNA2016Registrants | Registrants]]<br />
<br />
== CITCON ANZ 2016 Perth ==<br />
<br />
[http://citconf.com/perth2016/index.html CITCON ANZ 2016], August 5th & 6th, in Perth, Australia<br />
<br />
[[CITCONANZ2016Sessions | Sessions]]<br />
<br />
[[CITCONANZ2016Registrants | Registrants]]<br />
<br />
[[CITCONANZ2016Planning | Planning]]<br />
<br />
== CITCON Europe 2016 Cluj-Napoca ==<br />
<br />
[http://citconf.com/cluj2016/index.html CITCON Europe 2016], April 15th & 16th, in Cluj-Napoca, Romania<br />
<br />
[[CITCONEurope2016Registrants | Registrants]]<br />
<br />
[[CITCONEurope2016Sessions | Sessions]]<br />
<br />
== CITCON North America 2015 Ann Arbor ==<br />
<br />
[http://www.citconf.com/annarbor2015/index.html CITCON North America 2015], October 2nd & 3rd, in Ann Arbor, Michigan<br />
<br />
[[CITCONNorthAmerica2015Registrants | Registrants]]<br />
<br />
[[CITCONNorthAmerica2015Sessions | Sessions]]<br />
<br />
[[CITCONNorthAmerica2015ReadingList | Reading List]]<br />
<br />
== CITCON Europe 2015 Helsinki ==<br />
<br />
[http://www.citconf.com/helsinki2015 CITCON Europe 2015], September 11th & 12th, in Helsinki, Finland<br />
<br />
[[CITCONEurope2015Registrants | Registrants]]<br />
<br />
[[CITCONEurope2015Sessions | Sessions]]<br />
<br />
== CITCON Asia 2015 Hong Kong ==<br />
<br />
[[CITCONAsia2014Registrants | Registrants]]<br />
<br />
[[CITCONAsia2014Planning | Planning]]<br />
<br />
[[CITCONAsia2015Sessions | Sessions]]<br />
<br />
== CITCON North America 2014 Austin ==<br />
<br />
[http://www.citconf.com/austin2014 CITCON North America 2014] in Austin, Texas, October 17 & 18, 2014<br />
<br />
[[CITCONNorthAmerica2014Registrants | Registrants]]<br />
<br />
[[CITCONNorthAmerica2014Planning | Planning]]<br />
<br />
== CITCON Europe 2014 Zagreb ==<br />
<br />
[[CITCONEurope2014Registrants | Registrants]]<br />
<br />
[[CITCONEurope2014Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONEurope2014Planning | Planning]]<br />
<br />
== CITCON ANZ 2014 Auckland ==<br />
<br />
[[CITCONANZ2014Registrants | Registrants]]<br />
<br />
[[CITCONANZ2014Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONANZ2014Planning | Planning]]<br />
<br />
== CITCON Europe 2013 Turin ==<br />
<br />
[[CITCONEurope2013Registrants | Registrants]]<br />
<br />
[[CITCONEurope2013Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON North America 2013 Boston ==<br />
<br />
[[CITCONNA2013Registrants | Registrants]]<br />
<br />
[[CITCONNA2013Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON ANZ 2013 Sydney ==<br />
<br />
[[CITCONANZ2013Registrants | Registrants]]<br />
<br />
[[CITCONANZ2013Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONANZ2013Feedback | Feedback]]<br />
<br />
== CITCON Europe 2012 Budapest ==<br />
<br />
[[CITCONEurope2012Lodging | Lodging suggestions]]<br />
<br />
[[CITCONEurope2012Registrants | Registrants]]<br />
<br />
[[CITCONEurope2012Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONEurope2012Feedback | Feedback]]<br />
<br />
<br />
== CITCON North America 2012 Portland ==<br />
<br />
[[CITCONNA2012Registrants | Registrants]]<br />
<br />
[[CITCONNA2012Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONNA2012Feedback | Feedback]]<br />
<br />
== CITCON Asia 2012 Singapore ==<br />
<br />
[[CITCONAsia2012Registrants | Registrants]]<br />
<br />
[[CITCONAsia2012Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONAsia2012Feedback | Feedback]]<br />
<br />
== CITCON Europe 2011 London ==<br />
<br />
[[CITCONEurope2011Registrants | Registrants]]<br />
<br />
[[CITCONEurope2011Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONEurope2011Feedback | Feedback]]<br />
<br />
== CITCON Europe 2010 London ==<br />
<br />
[[CITCONEurope2010Registrants | Registrants]]<br />
<br />
[[CITCONEurope2010Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONEurope2010Feedback | Feedback]]<br />
<br />
== CITCON ANZ 2010 Wellington ==<br />
<br />
[[CITCONANZ2010Registrants | Registrants]]<br />
<br />
[[CITCONANZ2010Sessions | Sessions ]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONANZ2010Feedback | Feedback]]<br />
<br />
== CITCON US 2010 Raleigh/Durham ==<br />
<br />
[[CITCONUS2010Registrants | Registrants]]<br />
<br />
[[CITCONUS2010Sessions | Sessions ]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON Europe 2009 Paris ==<br />
<br />
[[CITCONEurope2009Registrants | Registrants]]<br />
<br />
[[CITCONEurope2009Lodging | Accomodation and practical information for participants]]<br />
<br />
[[CITCONEurope2009Sessions | Sessions ]]<br />
<br />
[http://savingbletchleypark.org/ Save our digital heritage - Bletchley Park] - (Friday Night Announcement)<br />
<br />
[http://www.devopsdays.org/programme/ DevOpsDays] - If you liked the pipeline, virtual and cloud session, this will interest you<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON Asia/Pacific 2009 Brisbane ==<br />
<br />
[[CITCONAsiaPacific2009Registrants | Registrants]]<br />
<br />
[[CITCONAsiaPacific2009Accommodation | Accommodation for Delegates]]<br />
<br />
[[CITCONAsiaPacific2009Sessions|Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON North America 2009 Minneapolis-St. Paul ==<br />
<br />
Pre-Events<br />
[[Gradle Event]] Thursday Evening, April 23rd.<br />
<br />
[[CITCONNA2009Registrants | Registrants]]<br />
<br />
[[CITCONNA2009Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITCONNorthAmerica2009SocialPlanning | Social Events and Twitter Details]]<br />
<br />
== CITCON Europe 2008 Amsterdam Netherlands ==<br />
<br />
[[CITCONEurope2008Registrants | Registrants]]<br />
<br />
[[CITCONEurope2008Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON Asia-Pacific 2008 Melbourne Australia ==<br />
<br />
[[CITCONAsiaPacific2008Registrants | Registrants]]<br />
<br />
[[CITCONAsiaPacific2008Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON North America 2008 Denver ==<br />
<br />
[[CITCONDenver2008Registrants | Registrants]]<br />
<br />
[[CITCONDenver2008Sessions | Sessions]] <br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON Europe 2007 Brussels ==<br />
<br />
[[CITCONBrussels2007Registrants | Registrants]]<br />
<br />
[[CITCONBrussels2007Sessions | Sessions]] <br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON Asia-Pacific 2007 Sydney Australia ==<br />
<br />
[[CITCONAsiaPacific2007Registrants | Registrants]]<br />
<br />
[[CITCONAsiaPacific2007Sessions | Sessions]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON North America 2007 Dallas Texas ==<br />
<br />
[[CitConNa2007Registrants | Registrants]]<br />
<br />
[[CitConNa2007Sessions | Sessions]]<br />
<br />
[[CitConNa2007Observations | Open Information Format Observations]]<br />
<br />
[[CitConNa2007Quotes | Quotes]]<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
[[CITConNA2007Feedback | Feedback]]<br />
<br />
== CITCON Europe 2006 London England ==<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]<br />
<br />
== CITCON North America 2006 Chicago Illinois ==<br />
<br />
[[OnTheWeb]]<br />
<br />
[[Photos]]</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Untestable_code&diff=16288Untestable code2016-08-06T05:27:13Z<p>PaulJulius: </p>
<hr />
<div><br />
== Untesttable Code? Bullshit ==<br />
<br />
'''Testing Talk at CITCON Perth'''<br />
''August 5, 2016''<br />
<br />
Is this the right title?<br />
<br />
<br />
<br />
What does PJ mean when he says "Unit Testing"?<br />
: Michael Feather's definition for unit testing<br />
: http://www.artima.com/weblogs/viewpost.jsp?thread=126923<br />
<br />
Unit tests for only Public methods?<br />
If you are testing the public methods, then you should be able to cover the private methods<br />
<br />
PJ follows a very strict TDD workflow:<br />
1. Write a broken unit<br />
2. Just enough code to make the test pass<br />
a. PJ will proactively unecessary code<br />
3. Refactor<br />
4. Repeat<br />
<br />
Do you refactor just production code?<br />
<br />
No, PJ refactors everything. In fact, he's been know to say that the unit test suite is more valuable than the production code. Because given a "good unit test suite", I can recreate the production code. However, given the production only, I cannot usually create a "good unit test suite".<br />
<br />
Do you use coverage checking?<br />
Yes, always. As part of the CI pipeline.<br />
<br />
Do you break a build on coverage?<br />
Yes. I always break the build if the covereage goes down from the last successful <br />
<br />
Principle: A broken build is a promise to have a discussion.<br />
<br />
Do you delete unit tests?<br />
<br />
Yes. I frequently refactor unit tests and elimate specifc tests because they have become redundant.<br />
<br />
Since I write my unit tests in a BDD style, I sometimes leave redundant tests in place just for their documentation value.<br />
<br />
Is BDD too high level for unit tests?<br />
No. It depends on what level of Behaviour you are expressing. In the unit test scenario, I am usually expressing the behavior of a function/method/package. Whereas in testing the overall function of an application/service/module/plugin the language is usually closer to the domain language. <br />
<br />
If you have a big bucket of code (legacy code), should we go about creating unit tests for all of it?<br />
No. Generate a test suite that expresses the current behavior.<br />
<br />
In practice, PJ creates unit tests for the new features/bug fixes that he implements.<br />
<br />
<br />
<br />
Example:<br />
<br />
Tibco plugins<br />
<br />
Message Oriented Middleware - Close to no coding. Dragging and dropping widgets.<br />
System Integration orchestration.<br />
<br />
PJ was writing widgets back in 2000.<br />
<br />
How to TDD for a System Integration platform that is not inherently "code" based.<br />
<br />
<br />
PJ follows a very strict ATDD workflow:<br />
1. Write a broken acceptance test<br />
2. Just enough code to make the test pass<br />
a. PJ will proactively unecessary code<br />
3. Refactor<br />
4. Repeat<br />
<br />
PJ likes Cucumber, Lettuce, Specflow (for .Net), Gherkin is the language, Cuke for Nuke<br />
<br />
Acceptance test format:<br />
<br />
Given [a certain state exists already]<br />
When [something happens]<br />
Then [the state should be...]<br />
<br />
<br />
We are going to use TIBCO to integrate our Payroll system and our Reporting system<br />
<br />
Given that it is the end of the month<br />
When payroll has been finalized<br />
Then a report showing all the employees that have been paid exists.<br />
<br />
PJ will run the 3 lines above through Cucumber.<br />
The tool prints out 'Hey you are missing code that describes "that it is the end of the month"'<br />
It also usually provides a "code template" for me to fill in.<br />
<br />
That is the end of the month<br />
We need to be able to simulate "end of the month"<br />
or perhaps we want to change the clause to "Given that payroll as been processed"<br />
<br />
We are running out of time to finish this example...<br />
<br />
A note: Many companies are now using more "monitoring" to test that this happened correctly. However, we will use tests to make sure that the pieces, like putting the message onto the tibco MOM.<br />
<br />
Monitoring is more valuable than testing!<br />
Because, testing might indicate that something works, but it still may fail in production.</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Untestable_code&diff=16287Untestable code2016-08-06T05:24:36Z<p>PaulJulius: </p>
<hr />
<div><br />
== Untesttable Code? Bullshit ==<br />
<br />
'''Testing Talk at CITCON Perth'''<br />
''August 5, 2016''<br />
<br />
Is this the right title?<br />
(Didn't settle on this answer. Tim fill in...)<br />
<br />
What does PJ mean when he says "Unit Testing"?<br />
: Michael Feather's definition for unit testing<br />
: http://www.artima.com/weblogs/viewpost.jsp?thread=126923<br />
<br />
Unit tests for only Public methods?<br />
If you are testing the public methods, then you should be able to cover the private methods<br />
<br />
PJ follows a very strict TDD workflow:<br />
1. Write a broken unit<br />
2. Just enough code to make the test pass<br />
a. PJ will proactively unecessary code<br />
3. Refactor<br />
4. Repeat<br />
<br />
Do you refactor just production code?<br />
<br />
No, PJ refactors everything. In fact, he's been know to say that the unit test suite is more valuable than the production code. Because given a "good unit test suite", I can recreate the production code. However, given the production only, I cannot usually create a "good unit test suite".<br />
<br />
Do you use coverage checking?<br />
Yes, always. As part of the CI pipeline.<br />
<br />
Do you break a build on coverage?<br />
Yes. I always break the build if the covereage goes down from the last successful <br />
<br />
Principle: A broken build is a promise to have a discussion.<br />
<br />
Do you delete unit tests?<br />
<br />
Yes. I frequently refactor unit tests and elimate specifc tests because they have become redundant.<br />
<br />
Since I write my unit tests in a BDD style, I sometimes leave redundant tests in place just for their documentation value.<br />
<br />
Is BDD too high level for unit tests?<br />
No. It depends on what level of Behaviour you are expressing. In the unit test scenario, I am usually expressing the behavior of a function/method/package. Whereas in testing the overall function of an application/service/module/plugin the language is usually closer to the domain language. <br />
<br />
If you have a big bucket of code (legacy code), should we go about creating unit tests for all of it?<br />
No. Generate a test suite that expresses the current behavior.<br />
<br />
In practice, PJ creates unit tests for the new features/bug fixes that he implements.<br />
<br />
<br />
<br />
Example:<br />
<br />
Tibco plugins<br />
<br />
Message Oriented Middleware - Close to no coding. Dragging and dropping widgets.<br />
System Integration orchestration.<br />
<br />
PJ was writing widgets back in 2000.<br />
<br />
How to TDD for a System Integration platform that is not inherently "code" based.<br />
<br />
<br />
PJ follows a very strict ATDD workflow:<br />
1. Write a broken acceptance test<br />
2. Just enough code to make the test pass<br />
a. PJ will proactively unecessary code<br />
3. Refactor<br />
4. Repeat<br />
<br />
PJ likes Cucumber, Lettuce, Specflow (for .Net), Gherkin is the language, Cuke for Nuke<br />
<br />
Acceptance test format:<br />
<br />
Given [a certain state exists already]<br />
When [something happens]<br />
Then [the state should be...]<br />
<br />
<br />
We are going to use TIBCO to integrate our Payroll system and our Reporting system<br />
<br />
Given that it is the end of the month<br />
When payroll has been finalized<br />
Then a report showing all the employees that have been paid exists.<br />
<br />
PJ will run the 3 lines above through Cucumber.<br />
The tool prints out 'Hey you are missing code that describes "that it is the end of the month"'<br />
It also usually provides a "code template" for me to fill in.<br />
<br />
That is the end of the month<br />
We need to be able to simulate "end of the month"<br />
or perhaps we want to change the clause to "Given that payroll as been processed"<br />
<br />
We are running out of time to finish this example...<br />
<br />
A note: Many companies are now using more "monitoring" to test that this happened correctly. However, we will use tests to make sure that the pieces, like putting the message onto the tibco MOM.<br />
<br />
Monitoring is more valuable than testing!<br />
Because, testing might indicate that something works, but it still may fail in production.</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Untestable_code&diff=16285Untestable code2016-08-06T05:21:10Z<p>PaulJulius: </p>
<hr />
<div><br />
== Untesttable Code? Bullshit ==<br />
<br />
'''Testing Talk at CITCON Perth'''<br />
''August 5, 2016''<br />
<br />
Is this the right title?<br />
<br />
Michael Feather's definition for unit testing<br />
http://www.artima.com/weblogs/viewpost.jsp?thread=126923<br />
<br />
Unit tests for only Public methods?<br />
If you are testing the public methods, then you should be able to cover the private methods<br />
<br />
PJ follows a very strict TDD workflow:<br />
1. Write a broken unit<br />
2. Just enough code to make the test pass<br />
a. PJ will proactively unecessary code<br />
3. Refactor<br />
4. Repeat<br />
<br />
Do you refactor just production code?<br />
<br />
No, PJ refactors everything. In fact, he's been know to say that the unit test suite is more valuable than the production code. Because given a "good unit test suite", I can recreate the production code. However, given the production only, I cannot usually create a "good unit test suite".<br />
<br />
Do you use coverage checking?<br />
Yes, always. As part of the CI pipeline.<br />
<br />
Do you break a build on coverage?<br />
Yes. I always break the build if the covereage goes down from the last successful <br />
<br />
Principle: A broken build is a promise to have a discussion.<br />
<br />
Do you delete unit tests?<br />
<br />
Yes. I frequently refactor unit tests and elimate specifc tests because they have become redundant.<br />
<br />
Since I write my unit tests in a BDD style, I sometimes leave redundant tests in place just for their documentation value.<br />
<br />
Is BDD too high level for unit tests?<br />
No. It depends on what level of Behaviour you are expressing. In the unit test scenario, I am usually expressing the behavior of a function/method/package. Whereas in testing the overall function of an application/service/module/plugin the language is usually closer to the domain language. <br />
<br />
If you have a big bucket of code (legacy code), should we go about creating unit tests for all of it?<br />
No. Generate a test suite that expresses the current behavior.<br />
<br />
In practice, PJ creates unit tests for the new features/bug fixes that he implements.<br />
<br />
<br />
<br />
Example:<br />
<br />
Tibco plugins<br />
<br />
Message Oriented Middleware - Close to no coding. Dragging and dropping widgets.<br />
System Integration orchestration.<br />
<br />
PJ was writing widgets back in 2000.<br />
<br />
How to TDD for a System Integration platform that is not inherently "code" based.<br />
<br />
<br />
PJ follows a very strict ATDD workflow:<br />
1. Write a broken acceptance test<br />
2. Just enough code to make the test pass<br />
a. PJ will proactively unecessary code<br />
3. Refactor<br />
4. Repeat<br />
<br />
PJ likes Cucumber, Lettuce, Specflow (for .Net), Gherkin is the language, Cuke for Nuke<br />
<br />
Acceptance test format:<br />
<br />
Given [a certain state exists already]<br />
When [something happens]<br />
Then [the state should be...]<br />
<br />
<br />
We are going to use TIBCO to integrate our Payroll system and our Reporting system<br />
<br />
Given that it is the end of the month<br />
When payroll has been finalized<br />
Then a report showing all the employees that have been paid exists.<br />
<br />
PJ will run the 3 lines above through Cucumber.<br />
The tool prints out 'Hey you are missing code that describes "that it is the end of the month"'<br />
It also usually provides a "code template" for me to fill in.<br />
<br />
That is the end of the month<br />
We need to be able to simulate "end of the month"<br />
or perhaps we want to change the clause to "Given that payroll as been processed"<br />
<br />
We are running out of time to finish this example...<br />
<br />
A note: Many companies are now using more "monitoring" to test that this happened correctly. However, we will use tests to make sure that the pieces, like putting the message onto the tibco MOM.<br />
<br />
Monitoring is more valuable than testing!<br />
Because, testing might indicate that something works, but it still may fail in production.</div>PaulJuliushttp://citconf.com/wiki/index.php?title=The_Future_of_Continuous_Delivery&diff=16282The Future of Continuous Delivery2016-08-06T04:29:13Z<p>PaulJulius: Created page with " 11:15 AM Session The Future of Continuous Delivery Always wondering "where could this thing go", like now that we are doing "Continuous Delivery" where could go next. Saw..."</p>
<hr />
<div><br />
11:15 AM Session<br />
<br />
The Future of Continuous Delivery<br />
<br />
Always wondering "where could this thing go", like now that we are doing "Continuous Delivery" where could go next.<br />
<br />
Saw lots of quality checks getting inserted into the pipeline.<br />
<br />
Could start extending to industry standard connection points, like testing for specific aspects. For example, testing for <br />
<br />
Cloud, actually SaaS, can be a big pain in the butt, because things change in the SaaS without warning.<br />
<br />
Premise: Enhance the Continuous Delivery Pipeline to incorporate expertise available on a global scale.<br />
<br />
Each contact point must be able to create:<br />
Environment<br />
Testing<br />
Demonstration Environment<br />
<br />
Each of these contact points is referred to as an "Animation".<br />
<br />
Analogies from the physical world, like IKEA flatbox, perhaps don't translate well to the Continuous Delivery world.<br />
<br />
At BankWest Runway 1, <br />
<br />
Mode 2 Runway, full feature delivery<br />
<br />
3rd Runway, Public cloud<br />
<br />
Perhaps the lack of standardized interfaces, like we have in the real world, cause us trouble.<br />
LDAP is an example of an interface<br />
<br />
Some companies wire together lots of small services together, but can they truly test it.<br />
<br />
This conversation is about "Where other people see Continuous Delivery going?"<br />
<br />
SaaS, as in when it is hosted elsewhere.<br />
<br />
3 different levels of progress in CD<br />
1. Basic<br />
2. Infrastructure as a Service/Platform as a Service<br />
3. Software as a Service<br />
<br />
One issue: when the continuous delivery pipeline broke [at a bank] and caused the group to have to manually deploy. That felt very risky. Need fully industrialized infrastructure.<br />
<br />
Centers of Excellence: connect consumers to small businesses, e.g. Uber, AirBNB, IntentMedia<br />
<br />
Understanding where a company's seams exists.<br />
<br />
Open Shift https://www.openshift.com<br />
<br />
Example that PJ whiteboarded:<br />
<br />
<insert photo><br />
<br />
An advertising company could deliver seperate builds to partners which they choose if/when to enable. That would be a working example of operating as a future "Center of Excellence".</div>PaulJuliushttp://citconf.com/wiki/index.php?title=CITCONANZ2016Sessions&diff=16281CITCONANZ2016Sessions2016-08-06T04:24:54Z<p>PaulJulius: </p>
<hr />
<div><br />
Back to the [[Main Page]]<br />
<br />
Picture of agenda board as of ~10 am: https://twitter.com/Jtf/status/761742821426499585/photo/1<br />
<br />
== 10:00 Topics ==<br />
<br />
# [[Untestable code]]<br />
# [[BDD]]<br />
# (none)<br />
# [[Future of test automation]]<br />
# [[Docker and container management in continuous delivery]]<br />
<br />
== 11:15 Topics ==<br />
<br />
# [[]]<br />
# [[]]<br />
# [[]]<br />
# [[]]<br />
# [[The Future of Continuous Delivery]]<br />
<br />
== Lunch Topics ==<br />
<br />
# [[]]<br />
# [[]]<br />
# [[]]<br />
# [[]]<br />
# [[]]<br />
<br />
== 2:00 Topics ==<br />
<br />
# [[]]<br />
# [[]]<br />
# [[]]<br />
# [[]]<br />
# [[]]<br />
<br />
== 3:15 Topics ==<br />
<br />
# [[]]<br />
# [[]]<br />
# [[]]<br />
# [[]]<br />
# [[]]<br />
<br />
== 4:30 Topics ==<br />
<br />
# [[]]<br />
# [[]]<br />
# [[]]<br />
# [[]]<br />
# [[]]<br />
<br />
== Closing Session ==<br />
<br />
[[CITCONANZ2016AhaMoments|A-Ha Moments]] <br />
<br />
== Table View ==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Room name<br />
! 10:00<br />
! 11:15<br />
! 2:00<br />
! 3:15<br />
! 4:30<br />
|-<br />
| P456<br />
| [[Untestable code]]<br />
| [[...]]<br />
| [[...]]<br />
| [[...]]<br />
| [[...]]<br />
|-<br />
| P3<br />
| [[BDD]]<br />
| [[...]]<br />
| [[...]]<br />
| [[...]]<br />
| [[...]]<br />
|-<br />
| P2<br />
| (none)<br />
| [[...]]<br />
| [[...]]<br />
| [[...]]<br />
| [[...]]<br />
|-<br />
| P1<br />
| [[Future of test automation]]<br />
| [[...]]<br />
| [[...]]<br />
| [[...]]<br />
| [[...]]<br />
|-<br />
| Cafe<br />
| [[Docker and container management in continuous delivery]]<br />
| [[...]]<br />
| [[...]]<br />
| [[...]]<br />
| [[...]]<br />
|}</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Untestable_code&diff=16280Untestable code2016-08-06T03:11:23Z<p>PaulJulius: Created page with " Untesttable Code? Bullshit Testing Talk at CITCON Perth August 5, 2016 Is this the right title? Michael Feather's definition for unit testing http://www.artima.com/weblogs/..."</p>
<hr />
<div><br />
Untesttable Code? Bullshit<br />
Testing Talk at CITCON Perth<br />
August 5, 2016<br />
<br />
Is this the right title?<br />
<br />
Michael Feather's definition for unit testing<br />
http://www.artima.com/weblogs/viewpost.jsp?thread=126923<br />
<br />
Unit tests for only Public methods?<br />
If you are testing the public methods, then you should be able to cover the private methods<br />
<br />
PJ follows a very strict TDD workflow:<br />
1. Write a broken unit<br />
2. Just enough code to make the test pass<br />
a. PJ will proactively unecessary code<br />
3. Refactor<br />
4. Repeat<br />
<br />
Do you refactor just production code?<br />
<br />
No, PJ refactors everything. In fact, he's been know to say that the unit test suite is more valuable than the production code. Because given a "good unit test suite", I can recreate the production code. However, given the production only, I cannot usually create a "good unit test suite".<br />
<br />
Do you use coverage checking?<br />
Yes, always. As part of the CI pipeline.<br />
<br />
Do you break a build on coverage?<br />
Yes. I always break the build if the covereage goes down from the last successful <br />
<br />
Principle: A broken build is a promise to have a discussion.<br />
<br />
Do you delete unit tests?<br />
<br />
Yes. I frequently refactor unit tests and elimate specifc tests because they have become redundant.<br />
<br />
Since I write my unit tests in a BDD style, I sometimes leave redundant tests in place just for their documentation value.<br />
<br />
Is BDD too high level for unit tests?<br />
No. It depends on what level of Behaviour you are expressing. In the unit test scenario, I am usually expressing the behavior of a function/method/package. Whereas in testing the overall function of an application/service/module/plugin the language is usually closer to the domain language. <br />
<br />
If you have a big bucket of code (legacy code), should we go about creating unit tests for all of it?<br />
No. Generate a test suite that expresses the current behavior.<br />
<br />
In practice, PJ creates unit tests for the new features/bug fixes that he implements.<br />
<br />
<br />
<br />
Example:<br />
<br />
Tibco plugins<br />
<br />
Message Oriented Middleware - Close to no coding. Dragging and dropping widgets.<br />
System Integration orchestration.<br />
<br />
PJ was writing widgets back in 2000.<br />
<br />
How to TDD for a System Integration platform that is not inherently "code" based.<br />
<br />
<br />
PJ follows a very strict ATDD workflow:<br />
1. Write a broken acceptance test<br />
2. Just enough code to make the test pass<br />
a. PJ will proactively unecessary code<br />
3. Refactor<br />
4. Repeat<br />
<br />
PJ likes Cucumber, Lettuce, Specflow (for .Net), Gherkin is the language, Cuke for Nuke<br />
<br />
Acceptance test format:<br />
<br />
Given [a certain state exists already]<br />
When [something happens]<br />
Then [the state should be...]<br />
<br />
<br />
We are going to use TIBCO to integrate our Payroll system and our Reporting system<br />
<br />
Given that it is the end of the month<br />
When payroll has been finalized<br />
Then a report showing all the employees that have been paid exists.<br />
<br />
PJ will run the 3 lines above through Cucumber.<br />
The tool prints out 'Hey you are missing code that describes "that it is the end of the month"'<br />
It also usually provides a "code template" for me to fill in.<br />
<br />
That is the end of the month<br />
We need to be able to simulate "end of the month"<br />
or perhaps we want to change the clause to "Given that payroll as been processed"<br />
<br />
We are running out of time to finish this example...<br />
<br />
A note: Many companies are now using more "monitoring" to test that this happened correctly. However, we will use tests to make sure that the pieces, like putting the message onto the tibco MOM.<br />
<br />
Monitoring is more valuable than testing!<br />
Because, testing might indicate that something works, but it still may fail in production.</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Administrating_the_CITCONF.COM_website&diff=16245Administrating the CITCONF.COM website2016-05-17T02:58:08Z<p>PaulJulius: Details on how to upgrade the wiki</p>
<hr />
<div>==To upgrade the wiki==<br />
<br />
Commands, after sshing into the account:<br />
<pre><br />
> mkdir wiki-may-16-2016<br />
> cp -R citconf.com/wiki/* wiki-may-16-2016/<br />
> wget https://releases.wikimedia.org/mediawiki/1.26/mediawiki-1.26.2.tar.gz<br />
> mkdir citconf.com/wiki.new && cd $_<br />
> wget https://releases.wikimedia.org/mediawiki/1.26/mediawiki-1.26.2.tar.gz | tar -xvz --strip 1<br />
> cp ../wiki/LocalSettings.php .<br />
> cp -R ../wiki/images/* images/<br />
> curl https://extdist.wmflabs.org/dist/extensions/googleAnalytics-REL1_26-d832801.tar.gz | tar -xvz -C extensions<br />
> curl https://extdist.wmflabs.org/dist/extensions/ConfirmAccount-REL1_26-d6e2f46.tar.gz | tar -xvz -C extensions<br />
> cp -R ../wiki/extensions/recaptcha ./extensions<br />
</pre><br />
<br />
Then browse to http://citconf.com/wiki.new and look for problems<br />
<br />
If all is well:<br />
<pre><br />
> cd ..<br />
> mv wiki wiki.old.may.16.2016<br />
> mv wiki.new wiki<br />
</pre></div>PaulJuliushttp://citconf.com/wiki/index.php?title=ConferencePlanning&diff=16244ConferencePlanning2016-05-17T02:56:39Z<p>PaulJulius: Linking to a new set of info.</p>
<hr />
<div>For details on administering this wiki and website, look at [[Administering the CITCONF.COM website]]<br />
==How to Run a CITCON==<br />
The organizers use a pretty straight forward process for running the CITCON conferences. Below are the details.<br />
<br />
JTF and PJ are known for their classic opening speech for the conference. They have been doing the same speech since nearly the inception of CITCON. [[Opening Speech|More details...]]<br />
<br />
==Date & Location selection==<br />
<br />
* happens on the organization mailing lists<br />
* location requirements:<br />
** should have good (international) connections (airport, international railway stations, etc.)<br />
* date considerations<br />
** check for other conferences happening in the area - could hurt if there is a similar event just a week ago (or even on the same day), both when competing for sponsors & attendees. Impossible to achieve perfect schedule, but some places to check are<br />
*** meetup.com<br />
*** lanyard<br />
<br />
==Venue Search==<br />
Finding a suitable venue for CITCON can be challenging. It takes some creative searching. As a non-profit conference, we try to minimize the venue cost as much as possible. That tends to be the biggest hurdle. Here are the criteria for a venue that would typically be good for hosting a CITCON event.<br />
<br />
===Physical requirements===<br />
<br />
* One larger room, and 3 or 4 smaller rooms<br />
** We usually have one large room that can accomodate everyone at the conference (125) with 3 or 4 smaller rooms for breakout sessions that run in parallel.<br />
** We arrange the chairs in circles, instead of traditional classroom style. That changes the number of people that fit into one room.<br />
** We frequently use concentric circles to increase the capacity in the room.<br />
<br />
===Where to find to find no cost/very low cost venues===<br />
Frequently we try to seek out a venue that would be "sponsored" by the company that owns the space. For example, [http://www.citconf.com/singapore2012/ Bank of America/Merrill Lynch in Singapore].<br />
<br />
* Look at existing communities and the venues they have used<br />
** coderetreat.org<br />
** meetup.com<br />
** classic user groups<br />
** free to attend conferences<br />
** etc.<br />
* educational institutions<br />
** Second tier but upcoming universities - established leading colleges are not only renting place, but also endorse you via their reputation, and thus for a(n often significan) cost. It works in the reverse with the next group of unis that would benefit from hosting a conference<br />
** high schools with an emphasis on IT in their curriculum<br />
* (tech) training companies - they already have the venue & the experience and hosting is a kind of advertisement for them<br />
* big companies with big offices that are keen on hiring/building a cool IT company image<br />
* startup hubs/centers, coworking spaces - especially ones that already run events<br />
* might be worth asking headhunters if you know any that are more than just staffing agencies if they know of such a company<br />
* ask local commerce chambers and/or municipal/governmental Tourism, Events and Economic Development offices if they have any suggestions<br />
<br />
===Nice to haves for a venue===<br />
<br />
* they have run events before<br />
* they have an established catering firm they work with<br />
<br />
===Choosing a venue===<br />
<br />
* probably any venue you consider describing to the list is gonna be good enough. <br />
* having a floor plan helps the committee<br />
* choosing between multiple potential venues (unless the price difference is enermous): go with the one<br />
** where the venue people have been more enthusiastic about hosting the conference<br />
** which felt more responsive during the talks/emails<br />
<br />
<br />
===Once a venue has been confirmed===<br />
<br />
* establish a point of contact at the venue for logistics.<br />
* have local venue coordinator send and introductory email to the logistical point of contact and the sponsor@citconf.com mailing list, including the conference organizers. <br />
* conference organizers will send the following email to the logistical contact at the venue:<br />
<br />
Thanks for hosting CITCON (Year and City)! <br />
<br />
We are excited to work with you on this event. As a venue sponsor (Venue Name) receives all of the benefits of a full conference sponsor. <br />
<br />
Could you please send us both a web ready logo (jpeg, tif, or gif) and a print quality logo (eps or ai)? We will use these on the conference website, posters, and T- shirts. Also, can you please lets us know what web address you would like your logo to link to. <br />
<br />
Here are a few things we would like to check on to get started:<br />
<br />
1. Do you have any preferred catering vendors? <br />
<br />
2. Are you willing to receive delegate give away items from event sponsors and hold them until the event? (They wouldn't arrive until shortly before the day of the event.) If so, to what address and to whose attention should these item be sent?<br />
<br />
3. What items A/V and other items are available for conference use? i.e. projectors, microphone/sound system, white boards, ect. <br />
<br />
4. Is access to the building limited, is there security, will we need cards or pass codes? Is security aware that we are going be there (e.g.: if normally they don't provide weekend personnel, they might need to do so 'coz of the conf. See Helsinki)<br />
<br />
Thanks again for your help!<br />
<br />
==Catering==<br />
<br />
The easiest solution is when the venue already has a catering firm they routinely work with. <br />
<br />
If that's not the case, just search for location name & catering, and ask them for a quote.<br />
<br />
Also, while the word "catering" is used, it doesn't have to mean waiters - delivered food with plastic utensils can be just as OK<br />
<br />
While it helps if the vendor's people speak English, as long as one of the CITCON volunteers can communicate with them, it's OK. <br />
<br />
For examples, see [[Menu from CITCON Sydney 2013]] and [[Menu from CITCON Budapest 2012]].<br />
<br />
===Quotes===<br />
<br />
* give them our budget - be sure to explicitly say whether the amount is net or gross<br />
* also, emphasize that you want the quote with the final number - most firms do this, but just to be on the safe side<br />
* tell them that registration only closes about a week before the event, and its implications<br />
** ask for multiple quote variations (different menus) - tell them the current number of registrants and the maximum amount of people<br />
** you'll finalize the order amounts one week prior to the event<br />
** ask for a complete breakdown of items included, have them specify any potential food allergy items i.e. shell fish, gluten free, peanuts, tree nuts, etc.<br />
* what we need the quote for<br />
** Friday evening reception (19:30-21:00)<br />
***delivery time 19:30<br />
*** i.e. finger-food, canapés, hors d'ourves, pizza <br />
**** plates, napkins and utensils need to be included<br />
*** soft drinks, coffee, water<br />
**** cups and ice need to be included<br />
*** beers (and maybe some wine)<br />
**** glasses need to be provided<br />
** Saturday morning breakfast (9:00-10:00)<br />
*** delivery time 8:30<br />
*** i.e. danishes, croissants, muffins, fruit<br />
**** plates, napkins and utensils need to be included<br />
*** coffee, tea, juices, water <br />
**** cups and ice need to be included<br />
** Saturday beverage service - all day<br />
*** coffee and tea<br />
**** cups need to be included<br />
*** snacks are a plus but not required<br />
** Saturday lunch (12:30-14:00)<br />
*** delivery time 12:00<br />
*** i.e. sandwiches, pizza, full catering including hot food<br />
**** a full meal is required, i.e. chips/crisps or fruit should be included with sandwiches<br />
**** plates, napkins and utensils need to be included<br />
*** soft drinks<br />
**** ice needs to be included<br />
<br />
===Invoices, Payment===<br />
<br />
* non-English invoices are fine<br />
* Invoices should be addressed to the OIF (Open Information Foundation, PO Box 1812, North Sioux City, SD 57049)<br />
* available payment options are credit card, bank transfer, cash (in this order of preference)<br />
<br />
===Event logistics===<br />
<br />
* make sure the catering and the venue people know each others contact details (get permission from both sides)<br />
* be sure they have discussed the logistics (will there be someone in the morning at the venue when the catering people show up? Or can they enter the building?)<br />
<br />
==Swag==<br />
<br />
* traditionally, there have only been T-shirts<br />
** taken care of by PJ/Amy<br />
** color voting happens on the organization mailing list (everyone on the list can vote, not just the current organizers)<br />
* stickers<br />
** from 2015 on<br />
** taken care of by PJ/Amy<br />
<br />
==During the event==<br />
<br />
===Tweetwall===<br />
<br />
In the main hall. Normally we use visible tweets, using the following link [http://visibletweets.com/#query=citcon&animation=1 http://visibletweets.com/#query=citcon&animation=1]<br />
<br />
==Conference Registration==<br />
Once the website has been setup, for example [http://www.citconf.com/sydney2013/ the Sydney 2013 site], the organizers decide when to open registration. Once agreed upon, the following steps are followed to create the [http://www.eventwax.com/ EventWax] event and link it in to the CITCON conference site.<br />
<br />
===Create Event===<br />
# Log in to https://citcon.eventwax.com/admin/account/login<br />
#* For obvious reasons, the username and password are not included on this page. Email the committee mailing list to get authorization to do this.<br />
# Click the "Events" drop down and select "New Event".<br />
# Fill in the Event Name, e.g. "CITCON Sydney 2013".<br />
# Fill in the Venue, e.g. "Sydney Marriott".<br />
# Fill the Capacity, e.g. 150<br />
#* We have traditionally always set the capacity to 150. That allows 150 people to register. We expect about one-third no-show. So, we expect about 100 people to attend the conference. Sometimes it is more. Sometimes it is less.<br />
# Set the Currency, e.g. "Australian Dollars"<br />
# Status should be defaulted to "Open".<br />
# Set the Timezone, e.g. "Australia - Sydney".<br />
# Set the Start Date, e.g. "Feb 8, 2013".<br />
# Set the End Date, e.g. "Feb 9, 2013".<br />
# Set the Start Time, e.g. "18:00".<br />
# Set the End Time, e.g. "19:00".<br />
# Click Create Event.<br />
#* The new event should now be listed in the upcoming events on the [https://citcon.eventwax.com/admin admin page].<br />
<br />
===Create Tickets===<br />
# Click on the link for the new event.<br />
# Click the Edit Event tab.<br />
# Click the Ticket Setup tab.<br />
# Change the name for the "Standard Ticket" to "Registration Only".<br />
# Add another ticket type named "Registration + Donation - Generous Amount - Cover Costs Plus Some" set to $100 (local currency units, i.e. 100 pounds, 100 Australia dollars, etc).<br />
# Add another ticket type named "Registration + Donation - Cover Full Costs of One Participant" set to $65 (...see note above about currency units...).<br />
# Add another ticket type named "Registration + Donation - Cover Food Costs of One Participant" set to $32.<br />
# Add another ticket type named "Registration + Donation - Cover TShirt Cost of One Participant" set to $9.<br />
# For all tickets, set the start time to the time when you want people to begin being able to purchase those tickets, e.g. Now.<br />
# For all tickets, set the end time to the time when you want people to stop being able to purchase those tickets, e.g. the Friday one week prior to the start of the conference at 23:45.<br />
# Add any details you like to the "Fine Print", e.g. "* Note that the date for the event MAY change. In the event of a date change, the organizers will attempt to notify all ticket holders as soon as possible."<br />
# Click Update Event.<br />
<br />
===Adjust Promotional Pages===<br />
# Click the Promotional Webpages tab.<br />
# Set "Use EventWax hosted landing page?" to No.<br />
# Change the Return URL to an appropriate page on the CITCON conference site, e.g. http://citconf.com/sydney2013/register_success.php<br />
# In the Ticket Order Form section, click Add Field.<br />
# Name it "Tshirt Size (USA Sizes)".<br />
# Change the Type to Drop Down.<br />
# Check the Required box.<br />
# Set the Options to "Small, Medium, Large, X-Large, XX-Large, XXX-Large, No Shirt"<br />
# Click Update Event.<br />
<br />
===Change the Logo===<br />
# Click the Event Dashboard tab.<br />
# Under Upload New Logo click the Choose File button.<br />
# Upload the logo found at http://citconf.com/_Images/logos/001.png<br />
<br />
===Link the Event Registration to the Conference Site===<br />
This section assumes that you are familiar with editing the website. If not, then email the committee mailing list for help.<br />
# Copy the contents of the file "register.wasopen.php" and paste it into "register.php".<br />
# Confirm that the registration URL matches what was listed on on the EventWax Promotional Webpages, e.g. https://citcon.eventwax.com/citcon-sydney-2013/register<br />
# Double check the rest of the page. Add any comments that are important, e.g. <code>&lt;p&gt;NOTE: The venue for CITCON Syndey has NOT been finalized...</code><br />
# Commit the change and double check the live site, e.g. http://www.citconf.com/sydney2013/register.php<br />
<br />
<br />
==Marketing for attendees==<br />
<br />
Some of the groups & communities below are the same as the ones mentioned in the venue search - not surprisingly :)<br />
<br />
* email usergroup/meetup leaders to announce on their groups ([http://sethgodin.typepad.com/ permission marketing a'la Seth Godin])<br />
* Linkedin, xing (in German speaking areas the latter is more popular)<br />
* reach out to other events' hosts (e.g.: coderetreat, devopsdays, etc.)<br />
* past relevant conferences in the area (see how far to reach out below)<br />
* exchange advertisments/mentions with other upcoming conferences in the area<br />
* twitter - always make it personal, and take it offline (email) once rapport is established<br />
* reach out to topical podcasts (e.g.: [https://twitter.com/foodfightshow @foodfightshow], [https://twitter.com/ShipShowPodcast @ShipShowPodcast], and probably a ton of others)<br />
<br />
it requires a bit more work than just broadcasting your message (aka tweeting into the void), but not much much more, and once you get the hang of it, you can do a lot in a week, even if you make a daily quota of reaching out to 2-3 people<br />
<br />
===How far to reach out for attendees?===<br />
<br />
Not sure about the rest of the world, but in Europe people are quite happy to travel, so having people from Finland attend the conference in Budapest is normal. Starting with the venue location, advertise in an ever growing radius</div>PaulJuliushttp://citconf.com/wiki/index.php?title=Pairing_Done_Right&diff=16236Pairing Done Right2016-04-21T21:31:33Z<p>PaulJulius: Created page with "PJ aka Paul Julius has been presenting on Pair Programming techniques since 2007. The slides for his talk can be found here: https://docs.google.com/presentation/d/1v..."</p>
<hr />
<div>[[PJ]] aka [[Paul Julius]] has been presenting on Pair Programming techniques since 2007. The slides for his talk can be found here:<br />
<br />
https://docs.google.com/presentation/d/1vtWd_1pfLMFXPcdEWH9JZzF3SaBkvWwZE-RwuDyVMyg</div>PaulJuliushttp://citconf.com/wiki/index.php?title=CITCONEurope2016Sessions&diff=16235CITCONEurope2016Sessions2016-04-21T21:30:32Z<p>PaulJulius: /* 3:15 Topics */</p>
<hr />
<div><br />
Back to the [[Main Page]]<br />
<br />
<br />
<br />
<br />
<br />
<br />
Back to the [[Main Page]]<br />
<br />
== 10:00 Topics ==<br />
<br />
# [[HowCanWeBecomeBetterTesters | How Can We Become Better Testers]]<br />
# [[self organizing teams]]<br />
# [[vm management solutions]]<br />
# [[status updates for automated tests to non-technical people]]<br />
# [[LearningMindset | Learning Mindset]]<br />
<br />
== 11:15 Topics ==<br />
<br />
# [[automated gui tests]]<br />
# [[security]]<br />
# [[test data generation]]<br />
# [[frustrated?]]<br />
# [[ask me anything Jenkins]]<br />
<br />
== Lunch Topics ==<br />
<br />
# [[]]<br />
# [[]]<br />
# [[Monorepos]]<br />
# [[]]<br />
# [[]]<br />
<br />
== 2:00 Topics ==<br />
<br />
# [[learn docker]]<br />
# [[tdd for people]]<br />
# [[how do you make CI more fun]]<br />
# [[continuously delivery side effects]]<br />
# [[selenium + JavaScript]]<br />
<br />
== 3:15 Topics ==<br />
<br />
# [[Testing your organization]]<br />
# [[Pairing Done Right]]<br />
# [[]]<br />
# [[]]<br />
# [[]]<br />
<br />
== 4:30 Topics ==<br />
<br />
# [[elephant carpachio]]<br />
# [[]]<br />
# [[]]<br />
# [[]]<br />
# [[]]<br />
<br />
== Closing Session ==<br />
<br />
[[CITCONEurope2016AhaMoments|A-Ha Moments]] <br />
<br />
== Table View ==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Room name<br />
! 10:00<br />
! 11:15<br />
! 2:00<br />
! 3:15<br />
! 4:30<br />
|-<br />
| Room 1<br />
| [[...]]<br />
| [[...]]<br />
| [[...]]<br />
| [[...]]<br />
| [[...]]<br />
|-<br />
| Room 2<br />
| [[]]<br />
| [[]]<br />
| [[...]]<br />
| [[...]]<br />
| [[...]]<br />
|-<br />
| Room 3<br />
| [[...]]<br />
| [[...]]<br />
| [[...]]<br />
| [[...]]<br />
| [[...]]<br />
|-<br />
| Lounge<br />
| [[...]]<br />
| [[...]]<br />
| [[...]]<br />
| [[...]]<br />
| [[...]]<br />
|-<br />
| Far Corner<br />
| [[...]]<br />
| [[...]]<br />
| [[...]]<br />
| [[...]]<br />
| [[...]]<br />
|}</div>PaulJulius