Skip to main content

Posts

Professional Development in Computer Science is hurting

A study by the University of Chicago's Center for Elementary Mathematics and Science Education and the Urgan Education Institue of high school computer science teacher professional development appears to me to be lacking if we want to invest in our future.  Look at this infographic and tell me it looks like a bright future that we must all wear shades. The Landscape of Computer Science Professional Development The Landscape of Computer Science Professional Development infographic by KellyQDesign .

What will you LEARN this year?

I'm not one for new years resolutions.  However, my smart and good-looking wife convenced me I need a learning plan.  Time to learn something new.  Time to become a beginner again, to struggle with a challenge, to wonder how I could ever know all this new knowledge.  So tonight my learning plan is due - or I pay her $100.  I'm not sure I remember making that part of the deal last week. So my plan is to learn a new programming language.  I use to know modern languages.  But time keeps falling through the hour glass.  A colleague shocked me when he said that Java was a dead language.  That it is stagnant and Oracle has killed it.  Ouch!  In 5 - 10 years I'm going to be one of the grey hairs that only knows dead languages (Basic, Fortran, C, Java).  Like those Cobol developers in the 80s & 90s.  Oh, sure they had a hey-day in 1999 with the Year-2000 bug. I'm selecting Ruby as a new language. ...

S.O.L.I.D. software class design principles

Perhaps you have heard of the S.O.L.I.D. software design principles of Object Oriented Design, but lack the motivation to practice the principles in every day coding.  If this is your problem, then here is the solution.  Six motivational posters to visualize and remember the principles.  Print them out and display then in your team room.  Watch the quality meter go up.     Single Responsibility Principle Liskov Substitution Principle Open / Closed Principle Interface Segregation Principle Dependency Inversion Principle SOLID Motivational Posters , by Derick Bailey , is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License . See Also:     The S.O.L.I.D. Principles in Pictures by Ugonna Thelma - illustrated via robots       Agile is an Integral Equation .       The Four Elements of Simple Design      ...

I want it all, but don't change my connectors

People just don't like change.  Case in point, all the hubbub over the new iPhone 5 lightening adapter plug.  So many people are upset that the connector is changing from the 9 year old iPod 30 pin adaptor to the new lightning adaptor.  Yet at the same time the iPhone 5 pre-orders have record sells ( 2 million in first 24 hrs ). Why did Apple force this change on it's loyal customer base?  Dont they know we humans don't adapt well to changes.  Oh yes, we want the new shinny iPhone but we want it to stay the same AND get better. Maybe this picture will give you a clue as to why Apple changed the connector. It shows a typical iPhone and it's 30 pin connector, with a Raspberry Pi.  The Raspberry Pi is a full fledged computer on a board.  Take a look at the board and the most obvious thing is all the connectors.  The interface connections are the largest things.  They occupy the most space. Raspberry Pi & iPhone compared The ...

Best T-shirt at Agile 2012

What was your favorite T-shirt seen at the  Agile 2012  conference? One awesome t-shirt was seen on Adam Yuret @AdamYuret . Ninja + Rockstar != Teamwork. Ninja + Rockstar != Teamwork tshirt In his article the Myth of the Rockstar Programmer , Scott Hanselman lays out these definitions: Junior Engineer - Creates complex solutions to simple problems. Engineer - Creates simple solutions to simple problems. Senior Engineer - Creates simple solutions to complex problems. Rockstar Engineer - Makes complex problems  disappear . Speaking of t-shirts; his graphic would go very well on a t-shirt wouldn't it?  Well, I created one very similar a few months ago.   Obviously there is an I in TEAM! t-shirt - buy one now on Zazzle . Buy it on Zazzle - NOW! This is the best t-shirt give away I received, the Tasty Cupcakes  Got Game? t-shirt. See Also:   Best t-shirt at Agile 2011

Exercise:: Pair Chess Game

Some years ago I designed this exercise for a Pair Programming simulation using the media of the game of chess.  The idea was to have a pair on each side of the board, they would work together to finish a famous game against their opponents (a pair also). I never used the exercise because the developers I was working with didn't know the game of chess, and didn't seem interested in the simulation.   If you use this please let me know how it works out. Garry Kasparov (White) vs X3D Fritz Computer (Black) Man-Machine World Chess Championship 2003 Game 1 (after 31 ... Bxa2) White to move Instructor material for Chess Game Pairing Exercise Required Materials Chess board and pieces (one per 4 students) Timers (optional) Diagram of an in-progress chess game(s) (attached) Introduce the Exercise Pair programming is generally thought of as an XP (extreme programming) practice.  In true Agile form we are borrowing a practice tha...

Exercise:: Mapping Engineering Practices to Agile Principles

What are the necessary and sufficient engineering practices that an agile team needs to support the Agile Manifesto's 12 principles ? There is no one right answer - yet there are some very common patterns one sees when this exercise is repeated for multiple teams within an organization transitioning to agile software development.  From this analysis one could derive the set of core practices for your agile organization. Exercise ::  Mapping Engineering Principles to Agile Practices   (PDF) by David Koontz Facilitation Guide Set up Print all material, one Agile principle per page (enlarge if you wish). Hang the Agile Manifesto on the wall. Hang the 12 Principles on the wall. Hang the suggested list of Practices on the wall. Have multiple colors of sticky notes & lots of pens/markers. Introduce the Manifesto and the 12 principles Discuss the Agile Manifesto - tell the history - describe what a process is and is not. Is “Agil...

Stress in Speakers at Agile2012

I chatted with a lot of presenters at Agile2012 last week.  So many of them were releived to have been done with their presentations.  I think the conference creates a bit of stress in the speakers. I didn't have any stress as a volunteer.  I helped out with the conference sessions, collected feedback forms, tried to help the speakers right at that most stressful moment, before the first joke and before the audience gets into the topic. I think all the speakers that I saw did a wonderful job.  I volunteered at the experience report and case study stage. These are the non-professional speakers. The nervous energy in the room rises very predictably in these session. So I suggest the speakers take a vacation after this conference - you earned it. Created by: www.MastersDegreeOnline.org

Agile in a CAN

Wow - look at the number of people that are sponsoring this awesome idea,   Agile in a Can .  Proving once again that crowdsourcing is the 21st century answer to robber-barrons of the 19th century.  Yes - "the 21st century is when it all changes" - Capt. Jack Harkness. You should hurry over to Agile In A Can website to get in on this once in a life time deal. Limited supplies of the active ingredients will make this product more and more valuable into the future. 

Traditional Test Engineering is DEAD

Here's an outline of Jason Arbon's arguments for Agile methods leaving traditional test engineering in the dust. In the Better Software (May/June 2012) article "Traditional Test Engineering, Your Days are Numbered; Turing Software Quality on Its Head." "In this shift to agile, late cycle or manual testing efforts are often dropped or, worse, the program management and development teams embrace agile and continuous practices, but the old world regression test cycle is left hanging around like an archaic ritual that adds a few days or weeks to an engineering process that wants to be continuous." Test Plans - quick cycles out pace the ability of managers to create the traditional test plan. Modern software development teams do more concurrent testing than was ever done in traditional processes. Regression Testing - ninety some precent pass all the time, is this a good use of time and energy. Create a risk view of the application under test. Use a...

Active Listening: The 5 Second Rule

Learning to listen is a difficult skill to teach. On the surface it appears to be a passive activity. It is the reflection portion of the listening activity that might need enhancement. Here is a group exercise that will strengthen your team's ability to listen. The 5 Second Rule. After a person speaks, everyone must count to 5 (5 seconds) before anyone speaks. If you wish to speak next, you must physically count on your raised hand via fingers 1, 2, 3, 4, 5. Practice this a few time, counting slowly (maybe extend it to 10 seconds if there are lots of fast counters). If two or more people raise their hands to speak next, then they (not the group) decide the speaking order. This pause in the immediate point, counter-point might allow the conversation to become multi-perspective, rather than percussive-discussion, like a ping-pong match. Most teams will expand their views and learn to be inclusive during dialogues with this technique. When multiple people want to speak to...

Missing Affordances

What are the affordances that are missing from the virtual task board?  There are quite a few. The perceptual psychologist J. J. Gibson coined the term in the late 1970s to mean the relationships that an actor (person) can have with objects in the world.  Then Donald Norman popularized the term in his book " The Design of Everyday Things ." You may think these affordances don't matter much.  But after you have them (via using a physical task board) you will find they are sorely missing. I can: Hold a task and show it to you. Now you know exactly what I'm talking about. Many virtual task board have no way of denoting a selected task.  Pick a different task and hold it. Now I know you are talking about that one, but I'm still referring to the one I hold.  Move a task. The motion is the affordance. Not the before and after location of a task - don't confuse position with motion.  Pass a sticky note to you, now you have it and this denotes res...

I Would Ask 500 Whys

'I would ask 500 Whys ' When I stand up yeah I know I'm gonna be I'm gonna be the man who stands up next to you When I unit test yeah I know I'm gonna be I'm gonna be the man who tests along with you The Proclaimers - I Would Walk 500 Miles If I get drunk yes I know I'm gonna be I'm gonna be the man who gets drunk next to you And if I haver yeah I know I'm gonna be I'm gonna be the man who's havering to you But I would ask 500 whys And I would ask 500 more Just to be the man who asked 1000 whys To help your process improve. When I'm working yes I know I'm gonna be I'm gonna be the man who's working hard for you And when the  praise  comes in for the work I'll do I'll pass almost every accolade on to you When I program yeah I know I'm gonna be I'm gonna be the man who pair programs with you And if I falter well I know I'm gonna be I'm gonna be the man who's...

Agile Software Development Timeline

A Timeline by definition is an iterative document - it is incrementally built minute by minute with no known completion point. However the historical entries on the time line might be elaborate also. This is a rough draft... please comment with new (better - more important, more accurate) events. Or point me to better resources - other historical time lines etc.  Thanks! Watch Earth's history  on a 100yd football field timeline. Agile Software Development Timeline 1202 Fibonacci introduces Arabic numerals (0-9 and place value) to the West via book “Liber Abaci” (Book of Abacus or Calculation).  The Zero is born! 1950s Demining teaches in Japan 1960s NASA’s Project mercury uses test-first development and micro-increments 1971 The Psychology of Computer Publishing by Gerald Weinberg - largely ignored 1976 EVO Methodology by Tom Gilb 1980s Japanese car companies expand into Europe & Americas 1986 New New Product Development by Takeu...

Tyranny of the Clock Face

Why do people schedule meetings and work-session into an arbitrary constraint of one hour blocks? Are we not capable of looking at the purpose and expected outcomes of the gathering and then estimating the appropriate duration needed to achieve the outcome? Do we not account for the cost and waste of having to reset context each time we meet and get to a partially finished state. It is the tyranny of the clock face, broken into one hour increments. The clock is just a human abstraction of time, an arbitrary measuring instrument. It is not a prescription for scheduling. I think we are misunderstanding the purpose of the clock. One doesn't drive a car by the speedometer. This obsession of one hour increments of work is ridiculous. I wonder where we learn it. Oh - yeah, school, where we learn many bad habits. See Also: HBR article Yes, You Can Make Meetings More Productive The Hummingbird Effect: How Galileo Invented Timekeeping and Forever Changed Modern Life by Maria...