We sometimes get an opportunity to test? ourselves (Should I call this the unit test of the soul?).
A few weeks ago I got a request from a company that wanted a ?UML class.? I wrote
back saying I don?t
do an exclusive UML class, but I do have class that includes UML. I sent them the
outline with details on
software methodologies, design, and practices course. I wanted to make sure we were
on the same
page. So I met with them before the course started to make sure they know what it?s
all about. That?s
like requirements phase, eh? Unfortunately, only one person who was in the meeting
actually attended
the course.
Well the course started and on the first day we discussed different methodologies,
the pleasure and
perils of software development, and of course object modeling and UML class diagrams
and notations.
The feedback at the end of the first day was fairly positive.
The second day we delved into adaptive planning, design considerations, levels of
design, benefits of
test driven development, and in depth coding examples of unit testing. In discussing
adaptive planning I
gave examples of measuring progress of project, calling shots when to continue, and
when to call it
quits, etc. Little did I know that I have a real exercise waiting on that!
At the end of the second day the feedback was not good. Three attendees were excited
about what
they?ve learned and wanted more. Three others opted to stay quiet. Three more said
it is way too much
for them and they?re not interested in these details. They want something much higher
level than what I
was getting into. A few people felt that as developers they shouldn?t be bothered
by some of these
details (an opinion I strongly beg to differ, but that is another story). They were
worried that it is going to
get overwhelming if we continue with the contents as things were getting more intensive
and code
related and lower level. So, the reality was, only a small number of attendees are
at the right level for
this course and though they were benefiting.
Those who liked the course indicated that the content of the course is actually great,
but agreed that it
will be hard for the others to digest. So, the project manager asked my opinion on
what we should do.
Based on the situation, I suggested that we cancel the class! The last I want to do
is offer something to
people who don?t want it.
But, what about those few attendees who were interested and are benefiting? We decided
we?ll regroup
later to discuss what should be covered and may be bring in other like people from
other teams for a
class intended for programmers, and possibly another class exclusively for non-programmers.
While we
will meet to discuss about this soon, we decided in the best interest of time of everyone
involved, we will
terminate this class.
This is the first time this has happened ever for me, in more than a decade I?ve been
doing this. But,
sometimes, the hard reality is, some of us have to practice what we preach, and I
guess it was my turn.
I realize that following agility and adaptive planning sometimes is hard and even
sad. But, we have to
get up and do the right thing (or at least what we feel is right at that time).
I consider this certainly an interesting experience. For one, it has given me something
to blog about :).
Second, I think it?s certainly a learning experience. As Friedrich Nietzsche
put it "That which does not kill
us makes us stronger."