Monday, July 26, 2004

Week 5 - Goin' Deep

I'm learning all about Agile Projeect Management.

There is a good body of work out there on agile PM.

"Crossing the Chasm” by Geoffrey Moore

Kepner & Tregoe’s analysis methodology - see
http://www.kepner-tregoe.com

“Radical Project Management” by Rob Thomsett

Jim Highsmith is one of the authorities on the topic.

Also learning about test-driven development.

When writing a JUnit test, sometimes you have eto stub out objects. This can be done using the Mock object found in jmock:

See www.jmock.org



Sunday, July 25, 2004

Interlude

Interlude


Enjoying the weekend in northern California with a visit to Santa Cruz and Bonny Doon
Vineyards.


Just the drive is worth it, through beautiful redwood forests, over hills and
through valleys.

If you get on Highway 17 to Santa Cruz, you get off at Mt Hermon Road. Turn
on Graham Hill, which becomes Felton Empire, which becomes, believe it or not,
Ice Cream Grade. Turn left in Pine and keep going for a while.

The Bonny Doon Tasting house is an number 2.

When you're nicely liquored up, you turn left out of the BD parking and
continue on to Highway 1.

Right there is a small parking lot. Stop and cross the traintracks along the
highway and look down on a fantastic vista.

Continue down Highway 1 into Santa Cruz.

Follow the signs for Beach and Wharf.

http://www.santacruz.com/

http://www.bonnydoonvineyard.com/



Friday, July 23, 2004

Week 4 - First real gig

This is the first real gig at a client site.
We're flying to California on an early evening flight.
It turns into a late-evening flight as the plane arrives late and the crew even later.

The cute girl sitting next to me asks me what I'm going to do in California.
I say: "Agile enablement".
She: "Oh, like ThoughtWorks ?"
Me: "No, FOR ThoughtWorks."

And now I'm a hero. She's wearing a shirt that says: "I Nerds"/

By the time I pick my car up, drive to the hotel (miss the @$#@%! exit to the highway) and check in, it's 3:00 AM.
Needless to say, I'm completely fried and hit the hay.

The next morning, I'm having breakfast with my two team mates, one of which turns out to be major ace in the Agile PM field.See here:

http://www.softed.com/sdc2004/robin.html

The client has an organically grown people tracking system that is so complex that nobody dares to make any changes to it.

Enter the knights of Agile. (Pa-Pada-Paaa !)

We're teaching the client that you can indeed bite off little bits at a time, focus on just that delivery and acctually complete something.
So here we're introducing things like test driven development and continuous integration.

Look for books by Jim Highsmith and Alistair Cockburn on Agile Project management.There is a whole series of them by various authors.

Beware of the hucksters and carpet-baggers out there that picked up on the Agile craze, but failed to do their homework.

For most people that have been around for a while, Agile is realy hard to grasp: they have to learn how to talk about projects in a whole new fashion.
What's insane about this, is that an Agile approach to projects comes naturally to people, but because of it's simplicity and "easy fit', people think that it's too "organic".
Many an IT person feels uncconfortable dealing with projects is such an ordinary fashion: there need to be big words, thick documents and much ado about nothing.

Some fun little nuggets that came my way as I'm analyzing the client's codebase.

The obvious Unix tools find/sed/awk/grep can give you a very quick insight into the complexity and organization of a codebase, but these tools up the ante quite a bit by doing a lot more in-depth analysis on class and pacckage interrelationships.

One of these tools even detects whether code was copied and pasted... 

Oh yeah, we also coined a new term: the Onion diagram.

This thing shows how phases of a project build on each other. E.g. the core is the very first thing you need to do.This sets the stage for the next layer to be started and completed. Each layer needs to have a significant part of the previous layer completed in order to start.

We did a presentation on Agile for the client department today.

Much scepticism. How can something so simple solve our orgganizational problems ?

It's called Agile project management and proper governance, baby...

Friday, July 16, 2004

Week 3 - It's getting interesting

We're working on a very interesting proposal.
A client is concerned that the corporate IT approach to EAI is flawed and wants us, as an independent, objective, expert party, to prove him right.
So we have to prove a negative.
After several iterations we finally have a presentation ready for him that's just rife with a salesman's version of Agile.

What I take away from it though is the following:

There are three different Integration Models:
  • Multi-step processWorkflow - Transactions or activities need to be orchestrated between various applications
  • Composite applicationPortal - Provide single application into a range of back-end systems
  • Data integrationCommon Data Layer – Data from incompatible systems are transformed into a common format

And there are four Integration Styles

  • Batch Data ExchangeExport/import data via flat files, aka ETL
  • Central DatabaseMake all applications access a common database
  • Remote Procedure CallsApplications call another directly or indirectly
  • MessagingPropagate documents and events via a common bus

Styles and models can be mixed to suit specific requirements.
Just to give you another push for Agile development (as if you needed it...)

Agile practices and benefits  

  • Manageability of project investment
    • Visibility of project progress
    • Adaptive planning
    • Incremental delivery

  • Test-driven development
    • Regression basis
    • Design evolution

  • Close Customer Collaboration
    • Create what customer really needs
    • Be able to respond to shifting priorities

This wealth of knowledge is gleaned from presentations that our main man Gregor Hohpe and others have given at the various conferences.

At another client, there is an issue with the use of MS BizTalk.

A lot of manual work is going into mapping data from legacy systems to a generic API. Strangely enough, they do this ad-hoc and have a cluster of people field data mapping calls from users.
Sounds like they need themselves some SOA...

Remember the client with the TIBCO InConcert/Integration Manager throughput problems ?We were right in our assumptions that the root cause of their workflow pileups lies in SQLServer locking problems.

But it is more pervasive and conniving than we expected. Get this:

The TIBCO tools create global temporary tables in SQL Server to store workflow data.These tables are not session-related or carry some kind of session ID. So when there are a lot of workflows being created and managed, they deadlock on the temp tables !
Using DBCC TRACE, you can quickly determine who deadlocks what.You can also use the Enterprise Manager tool to configure tracing options for rthe entire server instance.

Guess TIBCO has some "esplainin" to do...

See here for some info on MS SQL Server trace flags:

http://www.databasejournal.com/features/mssql/article.php/1459091
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_ta-tz_646r.asp

Rumour has it that I need to go and do some Agile enablement in California...


Friday, July 09, 2004

Week 2

Ah, we survived week 1 and 2.
Already been talking to several prospects and catching up on current technology.

I have learned more new stuff in the last week than in the two years preceding. NASTY !

Already poaching ex-colleagues to come and work here.

I mean, what's more beautiful than consulting, right ?
(voice-over mutters: "...that's what I thought then...")

It appears that I have entered a very buzzword-heavy part of fthe industry. Not since the advent of GUIs has any IT branch been more rife with TLA's than EAI.

Found a possibly useful EAI forum site:

http://groups.ittoolbox.com/

They have newsletters with news categorized for talkers or doers.
Are they trying to imply that architects are just EAI bullshitters ???

Anyway, learned that IBM's fantastic WebSphere Business Integrator bundle is going to be replaced with something more integrated.

In the mean time, seems that there is a lot more TIBCO stuff to go around than just financial services. Pretty neat...

A final note: there is a rumbling in the Agile community about using XP for GUI design. Is there any other way ?
A new book on the topic is due out soon, so more on that later.

Learning all about AppServers, servlets, EARs, WARs and SOAPing it up in general.

For good measure, some more links:
http://www.testdriven.com
http://www.xprogramming.com/

Friday, July 02, 2004

The Beginning - week 1

Well, we're off here at ThoughtWorks and they're throwing me in at the deep end.

After a week of orientation ("dude, you're, like, SO overdressed, dude !") we're starting on our first project.

Quite a change from my previous engagement, where learning external products was highly frowned upon.

The first project involves me learning about WebSphere Business Integrator.
Maybe I should first learn WebSphere...

I'm in the Enterprise Application Integration business, so it would behoove me to post a couple of useful links.

Our main man Gregor Hohpe's site:
http://eaipatterns.com/

Greg Wdowiak's collections and observations:
http://eaiblueprint.com

A PDF on IBM's WebSphere Business Integrator
PDF