Tuesday, July 07, 2015

Just a small clarification on the blog

Not that I think the readers need to be told, but just in case.....

My nom de plume "Dixie Software Ninja" is not in any way related to the current (2015) controversy over the use of the flag of the Army of Northern Virginia.  I use it solely as the geographic term describing the Deep South (southeastern USA), where I currently live.

(And it's my 200th post! Yay me!)



Monday, June 08, 2015

Reach out and touch someone....

I now know why Agile recommends that the entire scrum team, if not the entire development team, be co-located.

So you can walk over to the desk of the programmer who wrote code that accesses a database row, loads in all 8 columns from the DB layer into local variables, AND DOES NOT SET THE OBJECT FIELDS FOR THE LAST 5 COLUMNS OF THE ROW, and slap them upside the head.

Or so you can look over the cube wall at the programmer who was tasked with writing a C SDK so your existing applications can perform one operation to get some data into your Java ecosystem, AND FAILS TO SET HALF THE VALUES ACROSS THE INTERFACE, and dump your coffee in their lap.

Seriously, The Job has led me to believe that the offshore teams are just interested in meeting the most minimal definition of the problem they can to get past something they think is no longer a useful part of the new, cool system.



Saturday, April 11, 2015

IDEs and doing it all by hand

Recently I've moved to new project the The Job, and into the 21st century with respect to development environments - Eclipse, Subversion, Maven, But as I am learning the ropes for this new stuff, I'm finding a curious lack in what is considered state-of-the-art.  There does not seem to be any way to collect a set of actions into a bundle for repeated use - no scripting.

I'll wager I could write a set of scripts that would give me all the necessary functionality that Eclipse is providing, AND be scriptable so I could build on it as I needed

Tuesday, March 31, 2015

Giving a little Notice back

Not too much going on that I am able to post about at the moment, but I wanted to share out a little notice - I found out that Dustin's blog mentioned my post on developer passion and its pitfalls not long after I wrote it.  SO let's give a hearty "Hello!" to Dustin,everyone!

Sunday, July 27, 2014

Third Time's The Charm?

So the Big G contacted me recently and it seems I look good enough for another round of interviews.  Maybe this time I will be deemed worthy?

============
update, much, much later

I was not deemed worthy.....:(

Saturday, May 31, 2014

Surviving the Transistion to an Agile Methodology, Part 2

So your organization has decided to go Agile, and everyone is onboard, and you've started holding Scrum meetings, and coding in sprints, and everything's going to be just fine, right?

For Sale:  One bridge in Brooklyn

One of the biggest problems is the tendency from members of management to decide that "just this once" you need to circumvent the Agile rules, and (add work to the sprint in the middle|work without a Product Owner|pull your one expert on Technology X "for just a few days")

There is usually one manager who continually subverts the plan.  S/he will never say they are not doing Agile, but they will never really get with the program.

On the flip side is the manager who is perfectly fine with doing Agile development, but wants the metrics to keep improving, since they will be measured by the metrics, even if the metric is explicitly not a performance metric (like team velocity).  So this manager will be gaming your estimates so that their team looks like it is always improving.

Another pitfall is the gradual falling away of the sprint planning rules - that the team should make the estimates, that the stories need to be broken up into tasks, and that tasks should be self-assigned.  You gradually see managers trying to re-assert their traditional roles and hand out work based on their own ideas of effort.

Finally, the big Agile-slayer might show up - field support.  Nobody knows how log it will take to handle field issues, because the level of information can vary greatly.  Often you have customers that have political agendas keeping them from giving you good info, or sometime it's just really clueless support people.

Saturday, December 07, 2013

Surviving a transition to Agile methodology - Part One, Defining the Problem

Greetings all,

There are tons of books, courses, blog posts, and probably YouTube videos about how to convert your organization to Agile, but I don't recall seeing many (any?) that talk about how to deal with the pitfalls of such a transition and how to survive them.

The most common issue is that many conversions to Agile are driven from below, as the developers decide that they need to stop doing things the Bad Old Way and get on this Agile train, and this means that they have to convince Upper Management to convert.

This typically fails.

If your Upper Management does not buy into Agile, they will drag their wingtip-shod feet at every point, question every Agile tenet, and resist.

However, this is not my topic - I'm assuming that your Upper Management has either agreed to convert the organisation, or perhaps is insisting that the organization convert - one of the C-levels probably read about Agile in the trade press and wants to get ahead of this new thing.

While this might seem good, it is still dangerous.  The parts of the organization that deal with customers will have to sell the concept to the customers, and that leads into a swamp of problems - the customer doesn't want to allocate resources to work daily/weekly on the scrums; the customer does not want to agree to anything less than a full solution in X months, bound up in a bulletproof contract with penalties for late delivery; and so on.

Then you find that most of the non-development part of the organization doesn't want to spend all of its time thinking about the stuff currently being made, and would rather move on to the next thing, so you can't get the answers you need, or they want to keep using the old waterfall process documentation ("Just write the whole thing out, and you can modify it if you run into anything that changes")

Next in line is typically the old chesnut that Agile will let the organization develop code faster.  Management sees the promise of a faster acceptable product as meaning faster coding, ignoring the parts that mention writing test code, spike solutions, refactoring, and all the rest of the things that mean you will not be writing anything faster from a code perspective.

Moving along, we come to the Misuse of Metrics, in which Upper Management starts to use the team metrics (velocity, number of user stories completed, etc) as part of the performance review process for the developers.  This is usually fatally toxic to Agile adoption, in that the developers naturally become more concerned with saving their jobs by tweaking their teams' numbers to look good.

And tagging along at the caboose of this trainwreck is the expectation that it will go smoothly from the start.  Upper Management, after a sprint or two will realize that often the forward progress is slower than before, so they will begin to "help" by changing things up - reorganizing teams, taking personal interest in the prioritizing of User Stories and tasks, etc.

Now, it's fairly common knowledge in the Agile world that organizations can have pockets of resistance to the conversion, but much of the remedies are on the order of "Give your CTO a stern look and tell him that's not how Agile works", which is hardly helpful at either changing the organization or staying gainfully employed.

In part two, I'll explain some of the things a good Software Ninja can do to survive the whole mess.