<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://citconf.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=83.244.178.146</id>
	<title>CitconWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://citconf.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=83.244.178.146"/>
	<link rel="alternate" type="text/html" href="https://citconf.com/wiki/index.php?title=Special:Contributions/83.244.178.146"/>
	<updated>2026-04-24T18:32:13Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.11</generator>
	<entry>
		<id>https://citconf.com/wiki/index.php?title=Using_KPIs/Getting_a_data-driven_org.&amp;diff=7974</id>
		<title>Using KPIs/Getting a data-driven org.</title>
		<link rel="alternate" type="text/html" href="https://citconf.com/wiki/index.php?title=Using_KPIs/Getting_a_data-driven_org.&amp;diff=7974"/>
		<updated>2010-11-23T09:23:35Z</updated>

		<summary type="html">&lt;p&gt;83.244.178.146: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* 2.5 years of dev got a release out every fortnight&lt;br /&gt;
* 27 financial projects 5 made money, 2 made most of it&lt;br /&gt;
* this didn&amp;#039;t change anyone&amp;#039;s mind&lt;br /&gt;
* Maybe was too aggressive&lt;br /&gt;
* Maybe it was embarrassing&lt;br /&gt;
&lt;br /&gt;
* Don&amp;#039;t see a correlation between the quality of the project and the value it brings&lt;br /&gt;
* Building the wrong thing&lt;br /&gt;
&lt;br /&gt;
* Accountability is missing?&lt;br /&gt;
* Arguments for value wanted from one side, but not provided by the other side&lt;br /&gt;
&lt;br /&gt;
* Accountability doesn&amp;#039;t change things&lt;br /&gt;
* PM a project that doesn&amp;#039;t have market&lt;br /&gt;
* If he said there was no market then he has no job&lt;br /&gt;
&lt;br /&gt;
Maybe it has to happen early.  During the initial phases decide what needs to happen&lt;br /&gt;
&lt;br /&gt;
* What to do &amp;quot;Agile&amp;quot; to obfuscate accountability&lt;br /&gt;
* &amp;quot;Agile&amp;quot; separates accountability into team and product owner&lt;br /&gt;
* Team is only accountable for implementing what they are told&lt;br /&gt;
* Product owner &lt;br /&gt;
&lt;br /&gt;
A/B testing: 1/3 of the time the change makes not diff. 1/3 they make a negative diff. 1/3 of the time it works&lt;br /&gt;
&lt;br /&gt;
What are you accountable for&lt;br /&gt;
* In an organization you cannot make mistakes&lt;br /&gt;
* Everything is success!&lt;br /&gt;
* Do things that are safe!&lt;br /&gt;
* Or I can blame you!&lt;br /&gt;
&lt;br /&gt;
Accountability: things can be traced back to the root cause. Making the problem yours.&lt;br /&gt;
&lt;br /&gt;
Why not have an information radiator about how you are doing (products selling, etc.)&lt;br /&gt;
&lt;br /&gt;
Management doesn&amp;#039;t want to take responsibility for stopping a project or continuing it.&lt;br /&gt;
Having some measurements even if they are gamed is probably better than nothing.  Maybe gut feeling is better than nothing.&lt;br /&gt;
Design companies have more of that. Microsoft version of design: user groups and testing vs. Apple: gut feeling and &amp;quot;good&amp;quot; designers&lt;br /&gt;
&lt;br /&gt;
Do we make decisions rationaly. Is there a rationale for every decision. Decision models: &amp;quot;garbage can&amp;quot; model:&lt;br /&gt;
&lt;br /&gt;
    Problems&lt;br /&gt;
    Participants&lt;br /&gt;
    Solutions&lt;br /&gt;
&lt;br /&gt;
Vs.&lt;br /&gt;
&lt;br /&gt;
    Problem connected to causes&lt;br /&gt;
&lt;br /&gt;
The moment someone feels responsible is where you start improving.&lt;br /&gt;
&lt;br /&gt;
 The data is a placeholder for conversation. Maybe an uncomfortable conversation, but it is a starting point.&lt;br /&gt;
&lt;br /&gt;
Defensive reaction to being told about responsibility. &lt;br /&gt;
&lt;br /&gt;
 Responsibility Virus: google for it, you&amp;#039;ll find a pdf&lt;br /&gt;
&lt;br /&gt;
Culture where people can talk about this. Talk with teammates. Don&amp;#039;t worry about getting shot down.&lt;br /&gt;
Collect data that one thinks should be measured.&lt;br /&gt;
Maybe just voice concerns. Suggest improvements.&lt;br /&gt;
&lt;br /&gt;
The under-responsible to over-responsible cycle: under-responsible -&amp;gt; fail -&amp;gt; over-responsible -&amp;gt; fail -&amp;gt; repeat&lt;br /&gt;
&lt;br /&gt;
Being silent and not raising an issue is complicit. Some people stay under-responsible because they don&amp;#039;t know how to communicate well.  There is no external encouragement to share reservations.  Responsibility of the management to elicit these things?&lt;br /&gt;
&lt;br /&gt;
Look for ways to minimize defensiveness by looking for problems and communicating&lt;br /&gt;
&lt;br /&gt;
Great question for retrospectives: &lt;br /&gt;
&lt;br /&gt;
 What is un-discussable right now?&lt;/div&gt;</summary>
		<author><name>83.244.178.146</name></author>
	</entry>
	<entry>
		<id>https://citconf.com/wiki/index.php?title=Beyond_Basic_TDD&amp;diff=7952</id>
		<title>Beyond Basic TDD</title>
		<link rel="alternate" type="text/html" href="https://citconf.com/wiki/index.php?title=Beyond_Basic_TDD&amp;diff=7952"/>
		<updated>2010-11-09T17:26:32Z</updated>

		<summary type="html">&lt;p&gt;83.244.178.146: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The session started with a question from [[Waseem Taj]], who observed that the traditional red, green, refactor TDD cycle did not always result in well designed solutions.&lt;br /&gt;
[[Jeffrey Fredrick]] noted that Kent Beck recently revoked his original thoughts on emergent design, with the realisation that you have to actually be a good designer for this to work.&lt;br /&gt;
The general consensus was that you must keep refactoring until the design is right, and have the courage to say &amp;quot;we need to do more.&amp;quot; -- &amp;#039;&amp;#039;&amp;#039;Refactor Mercilessly&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The discussion turned to Kent Beck’s [http://c2.com/cgi/wiki?XpSimplicityRules Four rules of simple code], and particularly to the need to &amp;#039;&amp;#039;&amp;#039;express intent in your tests&amp;#039;&amp;#039;&amp;#039;. Ask yourself &amp;quot;what does this class need to do,&amp;quot; not &amp;quot;what methods should it have.&amp;quot; When pairing, one person should be ensuring that the design is moving in the right direction. Good pairing partners are relentless in their insistence on refactoring.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The conversation turned focus on going beyond TDD, with [[Gojko Adzic]] posing the question &amp;quot;What do we need to teach TDD practitioners to get them to the next level?&amp;quot; He mentioned several concepts:&lt;br /&gt;
* Evolutionary Design&lt;br /&gt;
* Exposing Design Presumptions&lt;br /&gt;
* Hexagonal Architecture&lt;br /&gt;
* Naming Conventions&lt;br /&gt;
&lt;br /&gt;
The initial reaction was that it was extremely difficult to teach advanced TDD techniques, and that experiencing the benefits first hand by paring with a practitioner was the only realistic way. [[Steve Freeman]] said that &amp;quot;until you experience the whole rigorous TDD, refactor cycle, you will never get it.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Several ideas for learning were proposed.&lt;br /&gt;
* Have a sandpit codebase, or a pet project (one that actually goes live somewhere so that it isn&amp;#039;t entirely fictional) People can often translate from an example to their real code.&lt;br /&gt;
* Code dojos&lt;br /&gt;
* Have the right to experiment and to throw away those experiments.&lt;br /&gt;
* Apprenticeships and staff swaps&lt;br /&gt;
* Give an exercise to express a difficult intent in a test (e.g. write a test for the generation of a random number)&lt;br /&gt;
* Try writing your test&amp;#039;s assertion first&lt;br /&gt;
* Show how to do things badly (refuctoring)&lt;br /&gt;
* Try reversing refactorings to see if they still apply.&lt;br /&gt;
* Write code in the test and refactor it out (&amp;quot;TDD as you meant it&amp;quot;).&lt;br /&gt;
* Stop after 15 minutes and Ask yourself: &amp;quot;Can I check in now?&amp;quot;. If the answer is no, ask: &amp;quot;Will I be able to check in after another 15 minutes?&amp;quot; If the answer is still no, then ask why, and consider reverting.&lt;br /&gt;
* Get the whole team to work on the same area of code simultaneously. This encourages frequent check-ins to avoid merge conflicts (only those who commit often will &amp;#039;win&amp;#039;).&lt;br /&gt;
* Do a visualisation of bugs raised and fixed, allowing developers to get experience-points for cleaner code.&lt;br /&gt;
* Try measuring a different code metric each week. Changing the metric frequently discourages &amp;#039;gaming&amp;#039; the system. This encourages conversation about aspects of the code.&lt;br /&gt;
&lt;br /&gt;
[[Gojko Adzic]] provides a detailed write-up here: http://gojko.net/2010/11/09/beyond-basic-tdd/&lt;/div&gt;</summary>
		<author><name>83.244.178.146</name></author>
	</entry>
</feed>