Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
 
For 2023 (and 2024 ...) - we are now fully retired from IT training.
We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.

Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!

I am also active in many other area and still look after a lot of web sites - you can find an index ((here))
Turning an exercise into the real thing with extreme programming

Should a private course that's being booked run for 2 days or 3? Or on a longer subject for 5 days or 4? I'm often left having to make a recommendation. Budget constraints, and more critically the constraints on the length of time that people can be released from their other tasks, favor a shorter course. The ability to go into things deeper, the ability to have time to go off the immediate topic and fill in associated subjects, the chance to re-explain some of the topics that are hard to grasp in their full glory in one bite, and the ability to release delegates to check email / do other daily tasks also come in to play.

But if a course is "rounded up" rather than "rounded down", it also allows for longer practical sessions - allowing the students to really try out the things we're talking about, and to do so thoroughly. Now you may suggest that's making my life easier as they're working on their own - but actually they're not. I'm then spending time with delegates on a one on one basis, helping them through their own specific questions, issues. For those who finish quickly, it's also a change to talk through there own data, or for me to show them extras and other useful things I can optionally include with the course for the more advanced candidates.

Last week's course was "rounded up". And it made for a much more relaxed course from which the delegates gained a very great deal. It also gave me a chance to conclude the course with something which is a bit of a luxury - the icing on the cake ...

... we concluded the course with a "put it all together" practical.

If you have come across "Extreme programming", you'll have heard all about things like spike solutions and multiple stories. And you'll be familiar with frequent testing and integration and perhaps pair programming. And this end-of-course exercise was an excellent vehicle to apply these, as well as helping my delegates get to grips with the application of Lua.

With eight widely varied delegates, how could I set them all the same practical? How could I manage / tutor all 8? Easy - I turn them into four pairs, and set up four projects not eight:
• The weaker one types, the stronger one advises.
• Two programmers discuss, plan and iron out issues early.
• The specifications and stories are robust.
• Multiple inputs ensure that 'way out' solutions do not prevail.
• One plays Devil's advocate to the others hypotheses
• Test data comes from two minds not one - obvious doesn't get missed.
• I have more time to give per project.
and in real life
• The customer has an author available for backup and support rather than finding that (s)he is on holiday / maternity / off sick / left!

I'm delighted to report it went really well! The room was abuzz with conversations between the various pairs and code was thought out so well ahead of time that it worked crisply and cleanly - very few experimental "spike" solutions were actually needed.

The story(ies) set related to the customer's requirements and so what they were doing was really very much their necessary thing. "We came on a course, and the exercise turned into learning on the real job".

I was really chuffed when the delegates carefully copied their final session's work onto memory sticks - with that session being the spike solution that will be refactored and reworked into their real data extraction task.
(written 2010-09-11, updated 2010-09-14)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
Q907 - Object Orientation and General technical topics - Object Orientation: Design Techniques
  [80] OO - real benefits - (2004-10-09)
  [236] Tapping in on resources - (2005-03-05)
  [507] Introduction to Object Oriented Programming - (2005-11-27)
  [534] Design - one name, one action - (2005-12-19)
  [656] Think about your design even if you don't use full UML - (2006-03-24)
  [747] The Fag Packet Design Methodology - (2006-06-06)
  [831] Comparison of Object Oriented Philosophy - Python, Java, C++, Perl - (2006-08-13)
  [836] Build on what you already have with OO - (2006-08-17)
  [1047] Maintainable code - some positive advice - (2007-01-21)
  [1217] What are factory and singleton classes? - (2007-06-04)
  [1224] Object Relation Mapping (ORM) - (2007-06-09)
  [1435] Object Oriented Programming in Perl - Course - (2007-11-18)
  [1528] Object Oriented Tcl - (2008-02-02)
  [1538] Teaching Object Oriented Java with Students and Ice Cream - (2008-02-12)
  [2169] When should I use OO techniques? - (2009-05-11)
  [2170] Designing a heirarcy of classes - getting inheritance right - (2009-05-11)
  [2327] Planning! - (2009-08-08)
  [2380] Object Oriented programming - a practical design example - (2009-08-27)
  [2501] Simples - (2009-11-12)
  [2523] Plan your application before you start - (2009-12-02)
  [2717] The Multiple Inheritance Conundrum, interfaces and mixins - (2010-04-11)
  [2741] What is a factory? - (2010-04-26)
  [2747] Containment, Associative Objects, Inheritance, packages and modules - (2010-04-30)
  [2785] The Light bulb moment when people see how Object Orientation works in real use - (2010-05-28)
  [2865] Relationships between Java classes - inheritance, packaging and others - (2010-07-10)
  [2878] Program for reliability and efficiency - do not duplicate, but rather share and re-use - (2010-07-19)
  [2889] Should Python classes each be in their own file? - (2010-07-27)
  [2977] What is a factory method and why use one? - Example in Ruby - (2010-09-30)
  [3063] Comments in and on Perl - a case for extreme OO programming - (2010-11-21)
  [3085] Object Oriented Programming for Structured Programmers - conversion training - (2010-12-14)
  [3260] Ruby - a training example that puts many language elements together to demonstrate the whole - (2011-04-23)
  [3454] Your PHP website - how to factor and refactor to reduce growing pains - (2011-09-24)
  [3607] Designing your application - using UML techniques - (2012-02-11)
  [3760] Why you should use objects even for short data manipulation programs in Ruby - (2012-06-10)
  [3763] Spike solutions and refactoring - a Python example - (2012-06-13)
  [3798] When you should use Object Orientation even in a short program - Python example - (2012-07-06)
  [3844] Rooms ready for guests - each time, every time, thanks to good system design - (2012-08-20)
  [3878] From Structured to Object Oriented Programming. - (2012-10-02)
  [3887] Inheritance, Composition and Associated objects - when to use which - Python example - (2012-10-10)
  [3928] Storing your intermediate data - what format should you you choose? - (2012-11-20)
  [3978] Teaching OO - how to avoid lots of window switching early on - (2013-01-17)
  [4098] Using object orientation for non-physical objects - (2013-05-22)
  [4374] Test driven development, and class design, from first principles (using C++) - (2014-12-30)
  [4430] The spirit of Java - delegating to classes - (2015-02-18)
  [4449] Spike solution, refactoring into encapsulated object methods - good design practise - (2015-03-05)
  [4628] Associative objects - one object within another. - (2016-01-20)

G400 - Well House Consultants - Private course
  [181] Maximum number of trainees on a course - (2005-01-18)
  [321] Sales - the alternative close - (2005-05-23)
  [387] Training course plans for 2006 - (2005-07-23)
  [994] Training on Cascading Style Sheets - (2006-12-17)
  [1092] Tcl training - often for a larger group - (2007-02-24)
  [1414] What we teach - expained for the non-technical - (2007-10-28)
  [1555] Advanced Python, Perl, PHP and Tcl training courses / classes - (2008-02-25)
  [1929] 2009 - Hotel, Meeting, Training Course prices - (2008-12-07)
  [1968] Review of 2008 - (2008-12-31)
  [2802] After the Perl course in Nurnberg - (2010-06-11)
  [2881] Tailoring of courses to meet customers needs - how it works - (2010-07-21)
  [2928] Public (scheduled) or private course? Book direct, or through a third party? - (2010-08-19)
  [2965] Testimonials - Well House Consultants Open Source courses - (2010-09-21)
  [3071] Well House Price list, January to March 2011 - (2010-11-25)
  [3074] Running a course ... what if the tutor isn't well? - (2010-11-29)
  [4082] Training around the world - easy payment in pounds Sterling - (2013-05-10)
  [4358] A brilliant finish to 2014 training and business guests, and a look to 2015 - (2014-12-20)


Back to
Concluding the interview process
Previous and next
or
Horse's mouth home
Forward to
Railway meetings, trips and meetups this autumn
Some other Articles
Welcome to Countrywides new Melksham store
On site course - travel and accommodation expenses
Melksham Railway Station - new information point
Railway meetings, trips and meetups this autumn
Turning an exercise into the real thing with extreme programming
Concluding the interview process
Lots of way of converting 3 letter month abbreviations to numbers
Camilla, Duchess of Cornwall, turns first sod in Melksham Link Canal
Lua - variable function arguments and select
Melksham shamefully makes the national headlines
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2024: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/2953_.html • PAGE BUILT: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb