#Mission To Mars! Easter School Mentoring with Software Cornwall

Last week I volunteered as a mentor for the Code Club Cornwall: Mission to Mars Easter School. It’s a great project for teenagers interested in programming, electronics, and computer science.


Bert and Ernie, two Arduino-powered robots, offer the participants a chance to program self-driving ‘Mars Rovers’. Destined to auto-pilot around the surface of Mars. Functionality is developed using Agile methods and a series of stories. Starting from scratch, developing Bert and Ernie’s auto-pilot capabilities over 4 days.


Participants work in teams: mob-programming C++, creating breadboard circuits to replicate Bert and Ernie, using GIT*, managing a budget (paid per story), and developing on Rasberry Pis. It was great to see participants working together, learning and having fun. All in a very professional manner. A lot of progress was made, at a rewarding pace, over the 4 days.

My learning points:

  • It’s a great way to learn to code and improve programming skills. A challenge for any level of programmer, beginner to advanced. Mob programming helps the team develop a solution and learn from each other. Bert and Ernie add tangibility, allowing participants to see their work in action.
  • Not just programming, the course offers softer skills development/practice and simulates a professional working environment.
  • Just do it! I’ve not programmed for 7 years, and not touched C++ for the best part of 13. As the lead mentor will attest, I was nervous. This soon faded as the tasks became more and more engrossing, and challenging. With a good level of competition between the teams. I’d forgotten how much fun programming can be.
  • I’m overly dependant on IDEs, auto-saves, auto-completes, and development environments. It was interesting to use a basic editor, and we suffered a ‘classic’ IT moment when our Raspberry Pi crashed. 6 hours of work ‘lost’ because no one had saved (* yeah, we didn’t commit either)… Thankfully, recovery wasn’t too painful and we managed to assign blame on the lead mentor. As everyone in IT knows, if you can shift the blame it significantly ‘lessens’ the issues…
  • A new way to conduct retrospectives! Brainstorming using the grid / 6 boxes shown below. I’ll pinch this for the team and our end of sprint retrospectives.


Next time I will:

  • Focus less on the solution, and more on coaching the participants. It was hard not to get sucked into making the rover ‘perfect’. I forgot how much I missed programming and in some places over complicated things e.g. the rover needed to move forward 2m and I was driving the kids to make it programmable as a procedure that accepts a direction (forward/reverse) and a distance in MM. The objective isn’t a perfect rover, and a perfect rover shouldn’t be at the expense of the participants’ learning.

    There is nothing quite so useless as doing with great efficiency something that should not be done at all.” – Peter Drucker

  • Risk an OO approach, and set it up from the start. Our C++ was very procedural. I will do my best to coach the participants in OO programming concepts next time. Creating motor, robot and other sensors / real world object classes, and some design up front to assist with this.
  • I’ll brush up on my C++. Just the syntax, structure, and basic keywords would have helped. Thankfully the course lead was very patient.

Massive thanks to Bluefruit for the use of their office, and for Byran (course leader), Ben, Harvey and Tyler’s time. Harvey and Tyler are apprentices at Bluefruit who’d attended the easter school the year before! Thanks to Glen and Lyssa from headforwards. Please get in touch via Software Cornwall if you’d like to attend, like your kids to attend, or if you’d like to mentor (if I can do it, you can!). Can’t praise either experience enough. DO IT!

Thanks also to IBM, my manager, Jon and his manager, Anita, for their support in being a mentor.

For more information see the Software Cornwall website. Bert and Ernie are regulars at the Saturday Tech Jams. If you can’t make one of the Easter/Summer schools look out for them there and at the Royal Cornwall Show.

My Agile On The Beach 2014

Last year Agile On The Beach 2013 was approached with an excited anticipation of the unknown, and relatively newly having joined the Agile party. With lessons learned and applied from 2013 I was keen to capitalise on Agile On The Beach 2014, and bring new ideas and things to try back to my team.

This year is the first Agile On The Beach to be sponsored by IBM. I looked forward to meeting up with the other IBMers and getting their views on our Cornish Agile Conference. Nice to meet you all, learn more about Rational Collaboration Lifecycle Manager, and see Jon Tilt’s presentation: ‘An Agile Journey – Making The Elephant Dance’. The phone controlled car demo was a great plug for Bluemix… I didn’t spend hours driving it and chewing Rational’s Glen Mitchell’s ear off about cars, the Nürburgring, and anything with an engine… It was also great to overhear two delegates discussing how they didn’t know of Bluemix’s existence before the conference and that Amazon had better watch out.

IBM Blue Mix Phone controlled car

My top 5 (OK… 6, I wanted flow to feature too) take aways:

  1. Value People
  2. Validated learning, to actually learn
  3. Learn to coach
  4. Feedback, feedback, feedback
  5. Forecast, don’t estimate
  6. Flow

 1. Value People

Meeting lots of people is one of the best aspects of attending a conference. Agile On The Beach attracts a diverse crowd, and is all the better for it. There were a lot of reminders to value people especially team members. People are key to everything! Take the Agile Manifesto:

  • Individuals and interactions over processes and tools – The first point, value people over process.
  • Working software over comprehensive documentation – People (for the moment, robots will get us eventually) write software.
  • Customer collaboration over contract negotiation – People are customers, customers are people too. Collaborating is a people skill.
  • Responding to change over following a plan – People change, part of successfully adopting Agile is to make changing for the better as easy as possible. This means supporting people, and creating an environment they can thrive. Bringing out their best work as a result.

Toby Parkins nicely summarised the event with this tweet:

Meri Williams talk ‘Awesome People Management with Agile’ had lots of awesome points I keep coming back to:

  • Cultivate inclusion, every team member should be able to answer ‘Can I excel here?’ with YES
  • Agile is the team, not an individual achievement
  • Don’t get lost in a process and forget about the people
  • A career is more than just a series of jobs

Treasuring evangelists (people :D) was a running theme in many of the sessions. To learn, to teach, to affect a change, evangelists are key players. Hoping to build on this and get Jon Tilt in to present to my team.

Jon Tilt of IBM presenting 'Making the Elephant Dance'

2. Validated learning, to actually learn

Marcin Floryan’s #NoLearning talk was different to what I expected. Last year his talk the Art of Feedback was a highlight. This year he didn’t disappoint with the premise to learn anything you have to deliberately practise, validate and test under pressure. Challenging yourself with “What have you changed?” as a result of learning. Marcin took this a stage further by introducing Kolb and lots of great examples from History not learning.

“It’s not enough to have the skills. It’s not enough to have the theory. You have to go through a cycle….”

David Kolb

Two other points resonated:

  • The value of certification because it validates learning
  • Expect to get worse before you get better. Marcin posted the diagram below showing learning / deliberate practice’s effect on productivity over time. An important point in setting expectations and planning projects.

Productivity drops when learning, to begin with!

After learning, what have you changed?

3. Learn to coach

Another common theme among the team orientated sessions: “Share more of yourself and your skills”. Coaching and sharing knowledge are a performance improving means to demonstrate value to team members. Investing your time helping develop their skills and careers. Too often I find myself thinking “I’ll do that as only I can”. This is the wrong attitude for creating an environment in which everyone can excel and thrive. The closed doors, single point of failure, approach stints the growth of a team, increases risks on projects and even limits your career. By contrast coaching provides an opportunity to validate learning, share skills, and see things from other people’s perspectives. Helping to explore topics further, reduce risk, evenly distribute work, and grow your team.

Coaching skills, like most skills, can be learnt and improved. I need to look into coaching course, (deliberately) practise and seek feedback from team members. To validate my learning and ensure I’m improving. More time, more sharing of skills and myself with the team.

4. Feedback, feedback, feedback (and Kaizen)

Feedback to people, on processes, on everything. Feedback is key to growth, successfully changing for the better and a nod to Kaizen. The continual improvement philosophy. Ginni Rometty said: “Don’t let perfect be the enemy of good”. Good enough is a key part of an Agile project: Minimum Viable Products (MVP – Same TLA as Most Valued Player 😀) unlock interaction with stakeholders, and therefore feedback, far earlier. Early feedback enables requirement, priority, and focus changes that result in shipping a better product sooner. Delivering value faster. It sounds obvious but, like with ‘Forecast, don’t estimate’, if you only review things at the end how do you make the right choices during?

As a team I feel we don’t feedback enough, positively and negatively. It’s all too easy to skip a retrospective, or be ‘too busy’ to revisit issues and achievements after they’ve passed. A few of the sessions mentioned scheduling more time for feedback and meetings. We need to do this. Meri Williams specifically mentioned 1:1s as a key tool for managing an Agile team. Not a status update! Ask the tricky questions and get team members to think (and feedback):

  • How challenged do you feel?
  • Career Aspirations?
  • Plans for growth?
  • Satisfaction in the work you’re doing?
  • What went well / What didn’t?
  • Any issues?
  • What would you like to change?

Asking for, listening to, giving, and making changes based on feedback demonstrate value to team members and stakeholders. Again obvious but… People feel valued if they are listened to and can see their ideas having an impact. Feedback therefore key to cultivating inclusion, and a team where everyone can thrive.

Pia-Maria Thoren, in her talk ‘Agile HR and Agile leadership in a nutshell‘, said “You can’t make a seed grow. You can only nurture it”. This applies at all levels: self, team members, team and product. Feedback is a key way to nurture.

Pia raised two other concepts that stuck with me:

  • Line of sight motivation. Pia shared a slide with two men breaking up rocks and their thoughts. One man looked bored thinking about breaking up rocks. The other was motivated thinking about building a cathedral. Building on the ‘context & why’ lessons learned from 2013’s AOTB.
  • The Burrito Leadership model – Leadership is the bread, just enough to deliver as much filling as possible. The filling is the team’s good work.

Feedback, coaching, context, and leadership are all essential parts of nurturing and creating a successful agile team, and building great products.

Line of site motivation

5. Forecast, don’t estimate

Friday’s Business Keynote from Bjarte Bogsnes: ‘Beyond Budgeting – an agile management model for new business and people realities’ suggested budgeting is broken and needed business to adopt an Agile approach to fix it. Breaking budgets down and converting them into a series of smaller questions. Instead of “Do we have the budget for this?” use “Do we need this, how much value does it create, could it be good enough already?”.

Beyond Budgeting Mindset

This ties in with feedback, and an Agile approach. Don’t wait a quarter or year to find out if you’re on budget and delivering. Keep questioning, smaller iterations. Bjarte mentioned the quote below, and attributed it to Einstein…

“Not everything that counts can be counted. Not everything that can be counted counts.”

Upon a little digging / Googling it appears it is more likely from William Bruce Cameron instead of Einstein.

It would be nice if all of the data which sociologists require could be enumerated because then we could run them through IBM machines and draw charts as the economists do. However, not everything that can be counted counts, and not everything that counts can be counted.

Thanks to QuoteInvestigator.com

Whoever said it the point is valid especially in the contexts of budgeting, estimating, and planning. An agile approach provides more visibility, flexibility, and automation that lead to higher levels of creativity and productivity. Change and quickly reacting to change become opportunities to build a better product if the budget also becomes agile and constantly focusing on what delivers the most value (as that changes with the business’ need).

Sean Moir’s session ‘The String Game’ further built on this by claiming: ‘forecast don’t estimate’. Demonstrated with a clever game of ‘guess the string length’. Combined with a calculation heavy Google Spreadsheet model. Sean suggested deriving a model for a team’s performance: Analysing previous estimates and actuals, calculating ranges, and predicting confidence. Using the model to forecast rather than estimate.

The string length game showed how the model lets you gauge confidence and scenario plan. It could forecast with varying confidence if the next strings were going to be longer or shorter. The question ‘Is it going to take longer than X,Y,Z?‘  is a lot easier to answer than ‘how long will this take?‘ especially if you can backup your answer with the model.

As an optimist planning is a stressful point. This higher / lower approach to confidence using previous tasks vs. the tasks in question is certainly something we’ll look into. Using actuals data from our CLM reports to create and refine a model, and track our progress.

6. Flow

Many of the sessions mentioned the Flow Channel & Flow State. Where performance and productivity are optimal. Many athletes claim being in this state causes time to slow down, and draw a lot of parallels with meditation. Living in the single present moment. I’m keen to delve deeper into this topic especially to improve my swimming, surfing, driving, coaching, and overall well-being.

The Flow Channel

The concept keeps cropping up e.g.

Guy Martin’s Autobiography

* Kaz: Pushing the Virtual Divide (right at the start)

* Davis Phinney mentions flow in relation to Parkinsons, and emotionally draws a parallel between everything slowing down when in the flow state and living with Parkingsons.

See you at Agile On The Beach 2015?

Massive thanks to all who presented and the excellent organising team, rollon 2015! Register your interest here, and see all of 2014’s sessions here. As an added bonus the IBM Rational team were giving away copies of Agile for Dummies, download your free copy here.

Agile On The Beach #AGILEOTB #ATOB 2013 and 2014

Last year I had the pleasure of attending Agile On The Beach 2013. My first Agile Conference and first Tech Conference in Cornwall. As a relatively new team to Agile it was a great launch pad, with lots of great ideas and takeaways to try with my team:

  • Agile should always focus on removing barriers from productivity
  • Iterative Improvement – continually look to improve
  • Automate – Automate as much as you can to free up as much productive time in a sprint as possible
  • Context is key – Everything works better if context is established upfront and people know WHY

The event was a real credit to the organisers. All of the talks were thought provoking and to a very high standard. It was also a great opportunity to network with other attendees. Attendees from a diverse variety of companies, everything from huge (IBM huge) to one person outfits, spanning lots of industries and from worldwide locations.

Dan North's excellent Key Note

Naturally I am biased and view Cornwall as THE place to hold anything but it appears I wasn’t alone in this thought. Many attendees were visiting Cornwall for the first time. Drawn by the world class speakers and then impressed by the location. Lots were suggesting coming back with family and friends for holidays. Answering ‘Where are you from?’ became my favourite activity at break times. Usually responded to by ‘You live here!’ and then a series of questions to understand how that was possible: Agile, Superfast Broadband, Lotus Connections, Geographically Diverse Teams, Video Conferencing, Rational Tools, lots of planning, hard work, a supportive manager and a sprinkling of luck.

Last year I made the mistake of taking too many notes. Furiously scribbling my particular brand of chicken scrawl, look like a 10 year old wrote it symbols, on lined A4 paper. Largely the notes sat gathering dust thanks to the talks being replayable online. This year I plan to only write ideas and actionable todos. Those were the real value for my team from last year, not the pages and pages of notes.

Lots of notes… Not such a good idea

AOTB 2013’s talks – http://agileonthebeach.com/2013-programme/2013-videos-and-presentations/

My favourites:

Dan North @tastapod – Software Craftmanship KEYNOTE: Jackstones – Journey To Mastery – 2 parts, see the above link

Sarah Fairbairn, Sullivan Cuff Software – Playing Games – http://youtu.be/yBOXJX6HdDw

Wouter Lagerweij & Ciarán O’Neill  The “Just Do It” approach to Change Management – http://youtu.be/OYdalj0kvss

Marcin Floryan – The Art of Feedback – http://youtu.be/ukNnceHf4uw

Agile On the Beach 2014 is next week and I’m excited. My business case was in the minute I got back from 2013 and with eager anticipation I awaited the first batch of Early Bird tickets. The final schedule was recently published here: http://agileonthebeach.com/wp-content/uploads/2014/08/2014-CONFERENCE-SCHEDULE-FINAL.pdf and I’m trying to work out how to get the most out of the two days. This year my focus will be on the team element. This helps navigate both days. Knowing the talks will be uploaded and replayable is a great backup and takes some of the pressure off choosing when talks clash.

This year is doubly exciting because IBM has chosen to be a sponsor of the event! IBM’s Jon Tilt will be presenting – An Agile Journey – Making the Elephant Dance. A team of IBMers will be manning a display throughout the two days, promoting BlueMixRational Tooling and the Jazz community.

2014’s AOTB is already sold out but the talks will be available online and I expect the #AOTB tag to start generating a lot of discussion on twitter. If you’d like to come to the 2015 event be mindful to book early. You can register your interest here: http://agileonthebeach.us5.list-manage2.com/subscribe?u=df92726ddfd2ad327f4fd0c99&id=76f054ec4a