Game of Life / TDD ideas

classic Classic list List threaded Threaded
18 messages Options
Reply | Threaded
Open this post in threaded view
|

Game of Life / TDD ideas

David Read
Those of us at last week's London Python Dojo had fun hacking together little animated Game of Life simulators. My team's data model was based on a set of the alive cells, rather than the world as an array / list of lists, and its a choice I pushed for having recently read an extremely relevant blog post: http://emilybache.blogspot.com/2011/12/global-day-of-code-retreat.html I mentioned it to some of the people in the pub afterwards and wondered if the rest of you would be interested.

Emily runs Python Dojos in Gothenburg and provides "clean code" training for companies, so practises doing problems like Game of Life time after time. She aims for clarity / pythonic-ness and practising different coding methods to get high quality.

I was particularly interested to watch her screen cast https://s3.amazonaws.com/ryanbigg_screencasts/Game+of+Life+-+Full.mov where she goes through her practised version of Game of Life whilst demonstrating several of the latest ideas in the TDD world. It's quite different to most people's ways of thinking / coding, and perhaps won't be to everyone's tastes, but it's definitely food for thought!

Dave

_______________________________________________
python-uk mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-uk
Reply | Threaded
Open this post in threaded view
|

Re: Game of Life / TDD ideas

Nicholas H.Tollervey
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hey David,

On 07/02/12 11:36, David Read wrote:
> Those of us at last week's London Python Dojo had fun hacking
> together

A shame I missed it :-(

> little animated Game of Life simulators. My team's data model was
> based on a set of the alive cells, rather than the world as an
> array / list of lists, and its a choice I pushed for having
> recently read an extremely relevant blog post:
> http://emilybache.blogspot.com/2011/12/global-day-of-code-retreat.html
> I mentioned it to some of the people in the pub afterwards and
> wondered if the rest of you would be interested.
>
> Emily r
> <http://emilybache.blogspot.com/2011/12/global-day-of-code-retreat.html>uns
>
>
Python Dojos in Gothenburg and provides "clean code" training for

> companies, so practises doing problems like Game of Life time
> after time. She aims for clarity / pythonic-ness and practising
> different coding methods to get high quality.
>
> I was particularly interested to watch her screen cast
> https://s3.amazonaws.com/ryanbigg_screencasts/Game+of+Life+-+Full.mov
> where she goes through her practised version of Game of Life
> whilst demonstrating several of the latest ideas in the TDD world.
> It's quite different to most people's ways of thinking / coding,
> and perhaps won't be to everyone's tastes, but it's definitely food
> for thought!
>

It's definitely an interesting read. I especially liked the Norvig quote:

"you can test all you want and if you don’t know how to approach the
problem, you’re not going to get a solution"

Which chimes with Rich Hickey's (creator of Clojure) "Hammock Driven
Development" (see:
http://blip.tv/clojure/hammock-driven-development-4475586 - definitely
worth a watch all the way through). I.e without thought, wisdom,
exploration or time to reflect on a problem it doesn't matter what *DD
you're practising you're not going to get good results. He also warns
against what he terms "guard-rail" development in
http://www.infoq.com/presentations/Simple-Made-Easy (around the
14-18min mark) and again emphasises simplicity and understanding
trumps methodology.

Given the high-energy coding that happens at the dojo I'm currently
trying to think of a way to preserve the enthusiasm whilst allowing
participants a chance to reflect on the problem without jumping in to
create an unholy mess of spaghetti code. As you may know, I feel very
uncomfortable promoting "one true way" to do development since I think
it's essential that people discover what works best for them after
reflection and exploration of lots of different solutions rather than
forming habits due to a "that's just how it should be done" mentality.

In any case I was going to suggest a 15minute design-time followed by
a "stand up and explain" session of each group having 1 minute to
explain what they're going to code (erm, sort of lightning-lightning
talks). Of course groups could copy / learn from other's designs.
Let's see what happens next time. :-)

Thanks Dave for leading me to the blog post. Definitely food for thought!

N.

> Dave
>
>
> _______________________________________________ python-uk mailing
> list [hidden email]
> http://mail.python.org/mailman/listinfo/python-uk

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJPMSoDAAoJEP0qBPaYQbb6yHYIAJkpEBw8bmomohRllMTgZMpN
TI4IOeccXW6mi3eAclKNTl95mNa0MEpGD0P0ct/I5xGpsuNHaot9nuGIshqMqGwr
/PkDqSFCBZF33aOeECBb9cEjAzef+Bg+LQJBMrqM5X2rLmRcUonfmE8uORnG0Fsu
f6hHlVCTPdukbHNZbuhNPg/xh1gAbG3q4gsZ1fJdzjRawvnGZcX/t/IqC8a6dT6F
mlK7pI6WYtRu+Hd1W92lRuoV4Nq80dq1c2jKMXTUHqWVbO+ZxYDXX39Y46UruJq/
1+kXjjYhichH8F13APScdeaUCiWArDhziORK4bCf5OlcfWb726Ku5Ja1n3Qi1Ls=
=6fp4
-----END PGP SIGNATURE-----
_______________________________________________
python-uk mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-uk
Reply | Threaded
Open this post in threaded view
|

Re: Game of Life / TDD ideas

Jonathan Hartley
On 07/02/2012 13:41, Nicholas H.Tollervey wrote:
> [snip]
> I feel very uncomfortable promoting "one true way" to do development
> since I think it's essential that people discover what works best for
> them after reflection and exploration of lots of different solutions
> rather than forming habits due to a "that's just how it should be
> done" mentality.
 > [snip]


I agree with that, but I also feel that there is value in sometimes
devoting time to push a practice like hardcore TDD, because it's
something that a lot of people have little exposure to. They think they
understand it, because it sounds simple on the surface, but they never
get chance, or lack the experience and determination, to actually try it
out in depth, and hence people underestimate its value.

I spent years in the 100% TDD nirvana of Resolver Systems, but even then
I was blown away by the insights I gained from the studious and
disciplined practices of attending an Emily Bache workshop.

The danger of not pushing "one true way" is that one might end up
pushing none, and so devolving into an unstructured free-for-all (which
is fun, but perhaps is only part of what a Dojo could be?)

This gives me an idea for a future Dojo night. Separate post...

     Jonathan

--
Jonathan Hartley    [hidden email]    http://tartley.com
Made of meat.       +44 7737 062 225       twitter/skype: tartley


_______________________________________________
python-uk mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-uk
Reply | Threaded
Open this post in threaded view
|

Re: Game of Life / TDD ideas

Tim Golden-4
On 07/02/2012 15:44, Jonathan Hartley wrote:

> On 07/02/2012 13:41, Nicholas H.Tollervey wrote:
>> [snip]
>> I feel very uncomfortable promoting "one true way" to do development
>> since I think it's essential that people discover what works best for
>> them after reflection and exploration of lots of different solutions
>> rather than forming habits due to a "that's just how it should be
>> done" mentality.
>  > [snip]
>
>
> I agree with that, but I also feel that there is value in sometimes
> devoting time to push a practice like hardcore TDD, because it's
> something that a lot of people have little exposure to. They think they
> understand it, because it sounds simple on the surface, but they never
> get chance, or lack the experience and determination, to actually try it
> out in depth, and hence people underestimate its value.

> The danger of not pushing "one true way" is that one might end up
> pushing none, and so devolving into an unstructured free-for-all (which
> is fun, but perhaps is only part of what a Dojo could be?)
>
> This gives me an idea for a future Dojo night. Separate post...
>
> Jonathan
>

FWIW I agree with Jonathan here in that it's definitely worth
*demonstrating* or *advocating* the benefits of one approach or
another (even, perhaps, to the extent on focusing on it for
the whole of one Dojo) without necessarily *mandating* its use
throughout.


To give a slightly less contentious example, I would be very
much in favour of someone demonstrating the best practice for
a non-trivial Git workflow. DVCS isn't the only way to go;
even if it is, Git isn't the only player in that arena. But
seeing someone competent demonstrate its value would give
the uncertain some guidance and might offer even the experienced
some insight.

TJG

_______________________________________________
python-uk mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-uk
Reply | Threaded
Open this post in threaded view
|

Re: Game of Life / TDD ideas

David Read
In reply to this post by Nicholas H.Tollervey


On 7 February 2012 13:41, Nicholas H.Tollervey <[hidden email]> wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hey David,

On 07/02/12 11:36, David Read wrote:
> Those of us at last week's London Python Dojo had fun hacking
> together

A shame I missed it :-(

> little animated Game of Life simulators. My team's data model was
> based on a set of the alive cells, rather than the world as an
> array / list of lists, and its a choice I pushed for having
> recently read an extremely relevant blog post:
> http://emilybache.blogspot.com/2011/12/global-day-of-code-retreat.html
> I mentioned it to some of the people in the pub afterwards and
> wondered if the rest of you would be interested.
>
> Emily r
> <http://emilybache.blogspot.com/2011/12/global-day-of-code-retreat.html>uns
>
>
Python Dojos in Gothenburg and provides "clean code" training for
> companies, so practises doing problems like Game of Life time
> after time. She aims for clarity / pythonic-ness and practising
> different coding methods to get high quality.
>
> I was particularly interested to watch her screen cast
> https://s3.amazonaws.com/ryanbigg_screencasts/Game+of+Life+-+Full.mov
> where she goes through her practised version of Game of Life
> whilst demonstrating several of the latest ideas in the TDD world.
> It's quite different to most people's ways of thinking / coding,
> and perhaps won't be to everyone's tastes, but it's definitely food
> for thought!
>

It's definitely an interesting read. I especially liked the Norvig quote:

"you can test all you want and if you don’t know how to approach the
problem, you’re not going to get a solution"

Which chimes with Rich Hickey's (creator of Clojure) "Hammock Driven
Development" (see:
http://blip.tv/clojure/hammock-driven-development-4475586 - definitely
worth a watch all the way through). I.e without thought, wisdom,
exploration or time to reflect on a problem it doesn't matter what *DD
you're practising you're not going to get good results. He also warns
against what he terms "guard-rail" development in
http://www.infoq.com/presentations/Simple-Made-Easy (around the
14-18min mark) and again emphasises simplicity and understanding
trumps methodology.

Cheers for the links - he is great fun! That analogy about "guard-rail programming" though, it's the old joke about how you'd never buy a car that crashed as often as Windows does! I think I'd liken TDD to concepts such as "cross-referencing", "feeling your way" or a "tight feedback loop". Not that I'm claiming to be an expert or anything. But anyway, vive la difference!

I like your idea of 15 minutes planning. I wonder though if presenting them all may have the reverse effect and kill off any maverick designs? Definitely worth trying it out though.

Dave
 

Given the high-energy coding that happens at the dojo I'm currently
trying to think of a way to preserve the enthusiasm whilst allowing
participants a chance to reflect on the problem without jumping in to
create an unholy mess of spaghetti code. As you may know, I feel very
uncomfortable promoting "one true way" to do development since I think
it's essential that people discover what works best for them after
reflection and exploration of lots of different solutions rather than
forming habits due to a "that's just how it should be done" mentality.

In any case I was going to suggest a 15minute design-time followed by
a "stand up and explain" session of each group having 1 minute to
explain what they're going to code (erm, sort of lightning-lightning
talks). Of course groups could copy / learn from other's designs.
Let's see what happens next time. :-)

Thanks Dave for leading me to the blog post. Definitely food for thought!

N.

> Dave
>
>
> _______________________________________________ python-uk mailing
> list [hidden email]
> http://mail.python.org/mailman/listinfo/python-uk

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJPMSoDAAoJEP0qBPaYQbb6yHYIAJkpEBw8bmomohRllMTgZMpN
TI4IOeccXW6mi3eAclKNTl95mNa0MEpGD0P0ct/I5xGpsuNHaot9nuGIshqMqGwr
/PkDqSFCBZF33aOeECBb9cEjAzef+Bg+LQJBMrqM5X2rLmRcUonfmE8uORnG0Fsu
f6hHlVCTPdukbHNZbuhNPg/xh1gAbG3q4gsZ1fJdzjRawvnGZcX/t/IqC8a6dT6F
mlK7pI6WYtRu+Hd1W92lRuoV4Nq80dq1c2jKMXTUHqWVbO+ZxYDXX39Y46UruJq/
1+kXjjYhichH8F13APScdeaUCiWArDhziORK4bCf5OlcfWb726Ku5Ja1n3Qi1Ls=
=6fp4
-----END PGP SIGNATURE-----
_______________________________________________
python-uk mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-uk


_______________________________________________
python-uk mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-uk
Reply | Threaded
Open this post in threaded view
|

Future Dojo idea ... randomised trials

Jonathan Hartley
In reply to this post by Jonathan Hartley
People are always banging on about how programming lacks scientific
rigour when it comes to evaluating common practice.

Is TDD *always* faster?
http://blog.8thlight.com/uncle-bob/2012/01/11/Flipping-the-Bit.html

Is it *ever* faster?
http://www.davewsmith.com/blog/2009/proof-that-tdd-slows-projects-down

Who knows? Fortunately, we have the tools to answer the question once
and for all. We, at the London Dojo, could run a randomised trial:
http://www.guardian.co.uk/commentisfree/2011/sep/30/run-your-own-scientific-trials

I'm curious what results we'd get if we randomly made some Dojo teams
use TDD for the assignment, and others not. Our usual time contraints
result in a mad scramble for the finish line. Would TDD make the task
harder, or easier? Would the results be more functional, or less?

Perhaps it doesn't make sense: A team assigned to do TDD might only have
members who were not practiced in it. But I can't help but wonder what
results it would produce. Is anyone else curious?

     Jonathan

--
Jonathan Hartley    [hidden email]    http://tartley.com
Made of meat.       +44 7737 062 225       twitter/skype: tartley


_______________________________________________
python-uk mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-uk
Reply | Threaded
Open this post in threaded view
|

Re: Future Dojo idea ... randomised trials

Nicholas H.Tollervey
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Jonathan,

This sounds like the most awesomested idea for a dojo evar. :-)

And yes, I agree with you in your original post that a vacuum is a bad
thing. Like anything worth doing I suppose it's a balancing act so
people don't feel coerced into methodology X while being exposed to it
in such a way that they take away the stuff that inspires / works for
them.

Any / all suggestions for how to walk this tightrope are most welcome! :-)

N.

On 07/02/12 15:59, Jonathan Hartley wrote:

> People are always banging on about how programming lacks
> scientific rigour when it comes to evaluating common practice.
>
> Is TDD *always* faster?
> http://blog.8thlight.com/uncle-bob/2012/01/11/Flipping-the-Bit.html
>
>  Is it *ever* faster?
> http://www.davewsmith.com/blog/2009/proof-that-tdd-slows-projects-down
>
>  Who knows? Fortunately, we have the tools to answer the question
> once and for all. We, at the London Dojo, could run a randomised
> trial:
> http://www.guardian.co.uk/commentisfree/2011/sep/30/run-your-own-scientific-trials
>
>
>
> I'm curious what results we'd get if we randomly made some Dojo
> teams use TDD for the assignment, and others not. Our usual time
> contraints result in a mad scramble for the finish line. Would TDD
> make the task harder, or easier? Would the results be more
> functional, or less?
>
> Perhaps it doesn't make sense: A team assigned to do TDD might only
> have members who were not practiced in it. But I can't help but
> wonder what results it would produce. Is anyone else curious?
>
> Jonathan
>

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJPMVAUAAoJEP0qBPaYQbb6G8kIALMOCcFUBitOLFcDk/I3NdF0
P2BSPnmUQHkmi9foIMuzGLpS4DAw+m89PGELmPCBkLxlli8wQP4BOKmt8d6YqL8B
vyrMmxZgK6zRRHrAW26hblk+DG/UpIy9ret7i2JMBn24DI0u/DwHL6TBiVL68tUy
CkuIhycT5oui9Rty9J6zyEc5E7FeJv2EF/mBC2T/tS6nFX064xgoIG9j2RR+oI7m
crDYua4h3a4d+QWbq8G9t4vTro/paVQot+Xp5ESmqx4ZyN+KkKrgsPJv7cxTRmvp
DVsVmMmFkj+OE6Pc+uqkYrXJHoPH0Ss6DkJaDnXZHvf+Fo76i7E2Fk0p6HZy63E=
=7MqL
-----END PGP SIGNATURE-----
_______________________________________________
python-uk mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-uk
Reply | Threaded
Open this post in threaded view
|

Re: Game of Life / TDD ideas

Nicholas H.Tollervey
In reply to this post by Tim Golden-4
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 07/02/12 15:51, Tim Golden wrote:
> On 07/02/2012 15:44, Jonathan Hartley wrote:
>> On 07/02/2012 13:41, Nicholas H.Tollervey wrote:
>>> [snip]
[snip2.0]

>
> FWIW I agree with Jonathan here in that it's definitely worth
> *demonstrating* or *advocating* the benefits of one approach or
> another (even, perhaps, to the extent on focusing on it for the
> whole of one Dojo) without necessarily *mandating* its use
> throughout.
>
>
> To give a slightly less contentious example, I would be very much
> in favour of someone demonstrating the best practice for a
> non-trivial Git workflow. DVCS isn't the only way to go; even if it
> is, Git isn't the only player in that arena. But seeing someone
> competent demonstrate its value would give the uncertain some
> guidance and might offer even the experienced some insight.
>

I totally agree. Perhaps we should suggest this at the next meeting
and work out a mechanism to make it work "in dojo" for a number of
interesting subjects: TDD, DVCS being two already mentioned. I'd add
OOP and functional programming too (from a Pythonic perspective).

Once again, suggestions to the usual place ;-)

N.

> TJG
>
> _______________________________________________ python-uk mailing
> list [hidden email]
> http://mail.python.org/mailman/listinfo/python-uk
>

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJPMVE3AAoJEP0qBPaYQbb6LPUIALNmniFKecsgGJ0TPyiYsbdm
/AewfYOEoA/XvohnvxrPi9rFkCvahkb55VxiJBKg9wlBDTnwV+Gj6TgVmUXasT0V
BiDObeJSzNdt3n4d/uG3sI1+y6AmqLls94IY5qy9sWqfdbXChQqv4ljGWRSuoQ1V
gh4P+Ub4N0lhDLmkhytGOPXOYBq2uLFTcSI6VSo0Y7NKdiUTfU7o8QliW9ovHmi9
9isT+3dLbbCSqoHGLVmvdAotJTPFWhw+HWOgeYaZV/FvCCcOjhm7letZRl2eHPDA
Am+RcdmOoa2CygxLEy7fDZvQPASo5bvhmeDBr2hdJyO6tGMAccRluobCCvRv6ps=
=CxdY
-----END PGP SIGNATURE-----
_______________________________________________
python-uk mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-uk
Reply | Threaded
Open this post in threaded view
|

Re: Game of Life / TDD ideas

Nicholas H.Tollervey
In reply to this post by David Read
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 07/02/12 15:58, David Read wrote:
>

[snip]

>> Cheers for the links - he is great fun! That analogy about
>> "guard-rail programming" though, it's the old joke about how
>> you'd never buy a car that crashed as often as Windows does! I
>> think I'd liken TDD to concepts such as "cross-referencing",
>> "feeling your way" or a "tight feedback loop". Not that I'm
>> claiming to be an expert or anything. But anyway, vive la
>> difference!
>
>> I like your idea of 15 minutes planning. I wonder though if
>> presenting them all may have the reverse effect and kill off any
>> maverick designs? Definitely worth trying it out though.
>
>> Dave

Who says groups have to explain *everything*..? :-)

I see it as a sort of collective rubber-duck-development based
approach. The important thing is the thought/feedback loop this would
introduce. I suppose we'd just have to try it out and see if it works.

N.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJPMVKAAAoJEP0qBPaYQbb6sAoH/j0NJ4Au32Sw+UTxX2IEs+ER
BASCuZ4SKT9A0JRyUHrJIksP10wWtREZI5Kfb8OIdq0WIpllXJN4gyGVs7WojfZ9
Ii+fip0JvxhoIlMhLNHB3TDtZdgzbo/rymgsjH+SuhoU83SifE+nfYek6XWRLCOQ
q/Pp7pGShZ2OPA2aHli9rHa9u6EZ7aHW0jz6b+TCdf2xN5fNb4fvW/xjhd766srL
1mz5pDQutbkmNw5goV9rLhGI3ZLGtRUs2+2o00TQUtYnWOJP+kcFcSJ8IyqCyk4K
9U6cE76a++NZJNS35TerRHTTYF1EdyaH4BXuCIe1qz+Zy4KKQjni+U1AssD7Cog=
=Z5PF
-----END PGP SIGNATURE-----
_______________________________________________
python-uk mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-uk
Reply | Threaded
Open this post in threaded view
|

Re: Game of Life / TDD ideas

René Dudfield
Tell one group the night before the problem, so they can practice 'sleep on it' development?

_______________________________________________
python-uk mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-uk
Reply | Threaded
Open this post in threaded view
|

Re: Game of Life / TDD ideas

Tom Viner-2
René, that's called Rest Driven Development :-) (Although that can mean "no sleep allowed until it's done!")

I've also attended an Emily Bache TDD formal dojo as well as Harry Percival's code-along Test-Driven-Django-Tutorial. Both were really good to help learn a discipline I personally find it hard to get into... but really want to!

So there's definitely room for more "I really believe in this stuff and I think you should too" on a per-dojo, per enthusiatic-practitioner basis, IMHO.


On 7 February 2012 16:36, René Dudfield <[hidden email]> wrote:
Tell one group the night before the problem, so they can practice 'sleep on it' development?

_______________________________________________
python-uk mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-uk



_______________________________________________
python-uk mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-uk
Reply | Threaded
Open this post in threaded view
|

Re: Game of Life / TDD ideas

Tim Golden-4
On 07/02/2012 17:15, Tom Viner wrote:
> René, that's called Rest Driven Development :-) (Although that can mean
> "no sleep allowed until it's done!")

That would be Rest-Depriven Development, surely :)

TJG
_______________________________________________
python-uk mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-uk
Reply | Threaded
Open this post in threaded view
|

Re: Game of Life / TDD ideas

Will McGugan-2
It might be worth testing 'hate driven development', a methodology I have used a few times. That's when you hate the project so much, you do whatever it takes to get it out the door. Can be surprisingly effective.

On Tue, Feb 7, 2012 at 5:16 PM, Tim Golden <[hidden email]> wrote:
On 07/02/2012 17:15, Tom Viner wrote:
René, that's called Rest Driven Development :-) (Although that can mean
"no sleep allowed until it's done!")

That would be Rest-Depriven Development, surely :)

TJG

_______________________________________________
python-uk mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-uk



--
Will McGugan
http://www.willmcgugan.com

_______________________________________________
python-uk mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-uk
Reply | Threaded
Open this post in threaded view
|

Re: Game of Life / TDD ideas

Matt Hamilton
In reply to this post by Tim Golden-4

On 7 Feb 2012, at 17:16, Tim Golden wrote:

On 07/02/2012 17:15, Tom Viner wrote:
René, that's called Rest Driven Development :-) (Although that can mean
"no sleep allowed until it's done!")

That would be Rest-Depriven Development, surely :)

And don't forget Limi's "Embarrassment Driven Development"

-Matt

NETSIGHT

Matt Hamilton

Technical Director
Email
[hidden email]

Telephone
+44 (0) 117 909 0901


Web
www.netsight.co.uk

Address
40 Berkeley Square, Clifton 
Bristol BS8 1HU













_______________________________________________
python-uk mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-uk
Reply | Threaded
Open this post in threaded view
|

Re: Future Dojo idea ... randomised trials

Michael Grazebrook-2
In reply to this post by Jonathan Hartley
It would be amusing to do a randomised trial, well-designed, and submit the results to some prestigious journal.

Of course we'd probably be turned down. But then again, I bet there are very few academic studies based on the use of hardened professionals like us.

Or even ... we could look for papers published by London academics in this area, and work with them to design an experiment which would be fun, informative, and have a realistic chance of being published.

Is there an academic amongst us who can advise?


On Feb 7, 2012 15:59 "Jonathan Hartley" [hidden email] wrote:
People are always banging on about how programming lacks scientific
rigour when it comes to evaluating common practice.

Is TDD *always* faster?
http://blog.8thlight.com/uncle-bob/2012/01/11/Flipping-the-Bit.html

Is it *ever* faster?
http://www.davewsmith.com/blog/2009/proof-that-tdd-slows-projects-down

Who knows? Fortunately, we have the tools to answer the question once
and for all. We, at the London Dojo, could run a randomised trial:
http://www.guardian.co.uk/commentisfree/2011/sep/30/run-your-own-scientific-trials

I'm curious what results we'd get if we randomly made some Dojo teams
use TDD for the assignment, and others not. Our usual time contraints
result in a mad scramble for the finish line. Would TDD make the task
harder, or easier? Would the results be more functional, or less?

Perhaps it doesn't make sense: A team assigned to do TDD might only have
members who were not practiced in it. But I can't help but wonder what
results it would produce. Is anyone else curious?

Jonathan

_______________________________________________
python-uk mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-uk
Reply | Threaded
Open this post in threaded view
|

Re: Game of Life / TDD ideas

Michael Grazebrook-2
In reply to this post by Jonathan Hartley
There is no one true way of development. The standards my brother works to on civil aircraft systems, are utterly different from what I experience in the commercial world - thank goodness.

As a freelancer, I often come into chatoic clients. Heres a method I sometimes use:

Most people know what standard should apply before they start a task. Few remember when deadlines loom.

So you can set up a Wiki with a library of software standards. Small and simple is nice. Anyone can add or edit standards.

Before starting a task, select the standard. Then the team should hold them to it. It's flexible, adaptive and can apply to almost any process.


_______________________________________________
python-uk mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-uk
Reply | Threaded
Open this post in threaded view
|

Re: Future Dojo idea ... randomised trials

Carl Reynolds
In reply to this post by Jonathan Hartley
I'm happy to provide informal advise on trial design

Power calculations are the starting point for proper RCTs...

Michael Grazebrook <[hidden email]> wrote:

>It would be amusing to do a randomised trial, well-designed, and submit
>the results to some prestigious journal.
>
>Of course we'd probably be turned down. But then again, I bet there are
>very few academic studies based on the use of hardened professionals
>like us.
>
>Or even ... we could look for papers published by London academics in
>this area, and work with them to design an experiment which would be
>fun, informative, and have a realistic chance of being published.
>
>Is there an academic amongst us who can advise?
>
>
>On Feb 7, 2012 15:59 "Jonathan Hartley" <[hidden email]> wrote:
>
>> People are always banging on about how programming lacks scientific
>> rigour when it comes to evaluating common practice.
>>
>> Is TDD *always* faster?
>> <http://blog.8thlight.com/uncle-bob/2012/01/11/Flipping-the-Bit.html>
>>
>> Is it *ever* faster?
>> <http://www.davewsmith.com/blog/2009/proof-that-tdd-slows-projects-dow
>> n>
>>
>> Who knows? Fortunately, we have the tools to answer the question once
>> and for all. We, at the London Dojo, could run a randomised trial:
>> <http://www.guardian.co.uk/commentisfree/2011/sep/30/run-your-own-scie
>> ntific-trials>
>>
>> I'm curious what results we'd get if we randomly made some Dojo teams
>> use TDD for the assignment, and others not. Our usual time contraints
>> result in a mad scramble for the finish line. Would TDD make the task
>> harder, or easier? Would the results be more functional, or less?
>>
>> Perhaps it doesn't make sense: A team assigned to do TDD might only
>> have
>> members who were not practiced in it. But I can't help but wonder what
>> results it would produce. Is anyone else curious?
>>
>> Jonathan
>>
>_______________________________________________
>python-uk mailing list
>[hidden email]
>http://mail.python.org/mailman/listinfo/python-uk
_______________________________________________
python-uk mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-uk
Reply | Threaded
Open this post in threaded view
|

Re: Game of Life / TDD ideas

Gadget/Steve-2
In reply to this post by Matt Hamilton
On 07/02/2012 5:20 PM, Matt Hamilton wrote:

On 7 Feb 2012, at 17:16, Tim Golden wrote:

On 07/02/2012 17:15, Tom Viner wrote:
René, that's called Rest Driven Development :-) (Although that can mean
"no sleep allowed until it's done!")

That would be Rest-Depriven Development, surely :)

And don't forget Limi's "Embarrassment Driven Development"

-Matt

Or as my current task goes, give someone a year to muck it up then you a day to sort it, F1YS1D...

Gadget/Steve

_______________________________________________
python-uk mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-uk