31 March 2006

Mind Maps, Migration and Meetings...

I did a quick road trip this week. Just a hop across the Irish Sea to Dublin to meet one of the development teams there. What fun. It's been a while since I spent time with a development team brain storming and planning. I hope you understand "lost in the moment". For me it happens with things like photography, gardening and writing and sometimes work. It's when time becomes elastic and you get lost in it. (I tend to skip meals and don't sleep.) I'm not advocating this for every day, it's detrimental to life in general. Now we didn't do that in Ireland this week, but we didn't spend time clock watching either. We spent two full days sharing ideas, I learned about their product and talked about the product, its directions and future. It was great. [ I've talked about learning being good for the soul before]

Now you can have meetings that are good, but once you walk away from them, that's it. No actions, no plans, no ownership and that's worse than not having a meeting at all!

The product team I met with are the Migration Technology Group and they are building the Migration Workbench as an extension to SQL Developer.

You'll hear more about that team and the technology over the next few months. In short, the current Oracle Migration Workbench technology helps users migrate to Oracle from databases provided by companies like Microsoft, Sybase, and Informix. The Migration Technology Center on OTN offers information on the existing product.

Back to Meetings

Don't you just love 'em? hmmm. I've worked in teams where I think some folk rate their importance factor by how many meetings they attend. So for meetings do you picture some attendees arriving late and dashing off early, meetings running over, there is no agenda, there are no actions and the result? Well, there
are no results!
Good meetings are fab, specially if you are a distributed team. They can be stimulating and productive. I think a good meeting has an agenda, a good leader (who ensure everyone is involved and no-one dominates) and ends with a set of actions (with owners). Minutes are useful too. It means we all know the actions and have a note of what was said and decided, so that we don't have to have THAT meeting content again. (To redecide an action previously decided). I'm not a stickler for minutes, but a list of actions and owners is a good thing.

Take the meetings in Dublin this week, I used a mapping tool to note the discussions. They're my notes and are not verbose, but they're not on bits of paper, instead I have them in a mind mapping tool. The great thing is, I can share the results with the team at a click.

Let me go back a pace. Just before I joined the SQL Developer team, I started drawing 'mind maps' - you might also think of them as spider diagrams. Basically, just listing the variety of tasks I might get involved in if and when I joined the team. Conferences, customers, writing collateral, bug reviews, forums, web sites etc. Each time I thought of something new I'd add it. A friend told me about Mindjet's MindManager and so tried their 30 day trial version. When my manager saw how useful this was to me, he said "order it". There are mapping tools in the open source world too, so take a look at what's available, if you're not able to purchase this. (They don't have a Mac copy just yet - you gotta go open source for that)

I've written a white paper, a few magazine articles (to come out in the next few months), "Getting Started with SQL Developer" and some presentations and I used Mind Manager for all of these. You start with a spider diagram of ideas, flesh them out and 'generate' a power point presentation, word doc, html or even Microsoft Project. Then you have a great starting point. Doing the articles this way helped me with the flow. I am not managing any multi- people projects, but I've heard it works a treat for tasks and dependencies in Project. How often do you go back to your notes and look for something ( or never go back...worse) With software to help, you can search. With this tool, I can search across maps (meetings). I can also hook into google searches and news feeds!

So back to my meetings this week. All my notes ended up as maps, and at the end of it all, I added a power point template and created a presentation for the team, to keep as a record of the meetings and the decisions.

I did not write this blog using Mind Manager, so if it's rambly and all over the place. That would explain it.

hey - take a look at OTN - of you've never used SQL Developer, perhaps you don't have access to your own database, then try Oracle Express Edition (FREE) and check out SQL Developer. There's a Getting Started with SQL Developer guide.

17 March 2006

Agile again...?

On Tuesday I went to the combined UK SIG. If you read Andrew Clark's blog and then link through from his to Rob Baillie's blog, you might might be forgiven for thinking that only the three of us attended this SIG and agreed to all write about each other! Not so.

I go to these events pretty regularly in the UK, as I was "buddy" for the Modeling and Design SIG until the end of last year. These special interest groups focus on specific aspects of anything Oracle related and, as such, the UKOUG support a huge number. On Tuesday we had the second running of a combination of Tools, Modeling and Design and the Apps Server SIGs. This mix is quite fun, as I get to see a few talks in disciplines I typically don't get to see. I enjoy these events, because I get to talk to people who really use software and who praise and remonstrate in equal quantities. Feedback is key.

The highlight of my day was attending an Agile Programming talk. I was going to tell you at length about it, found and read Andrew's blog and to my delight, found the link to Rob's site and a write up of his talk. Do read it.

Briefly his talk was about Agile programming. Now the OO world and many Java developers love this, but the old timers (if you're about to stop reading, you might be one of them...) really don't go for this 'extreme programming...' I've heard the words 'cowboys' and programming thrown into the same sentences and sentiment. So here's the deal. Prove to me this works.. then tell me how you did it. Give me the facts... not the fantasy. ...and that's what he did.

Rob stood up and told us about his last 18 months and the very successful project they have been working on. His introduction was quite long, and went into detail about the project and his experiences. I got this from it. In 18 months, they never had a release fail. Think about that for a mo...

They had a demo environment and released regularly into this demo environment. If a user wanted a feature, this would be coded and released within days to that demo area. So the user had a response, and a tangible one at that. They also released into their production environment often. Did I mention they never had a release fail?

Surely these are proof points of a successful process.

He didn't mention what tools or products they used, or speak about the app itself. He didn't introduce the talk by explaining agile, or talk about the founder members ...blah blah... He didn't talk about the various points you have to do to be considered an agile project. He had 5 slides. Each slide had a sentence on it. Here are the points as I recall them:

  • Understand version control
  • The repository is truth
  • An idiot must be able to run the upgrade (build) scripts
  • Every developer gets a sand box
  • Every sand box has a database

Understand version control: Basically, you don't need a tool, you need a process. It's made easier with a good tool, but without a process even the best tool is hopeless. Your developers and team must trust and use both the tool and process. One without the other is not enough.

The repository is truth: Well, any Oracle Designer user would agree with that. He didn't say that or even talk about what a repository might be, whether a database or file system. Basically his point here was: Can you rebuild your system from scratch if the live, production system disappears NOW. Do you have all the files, all the correct, latest files available to just rebuild again? He impressed on us again, that all members of the team needs to trust the repository, as the source of truth. Even if you are not in an agile environment, I wonder just how many teams in ANY development environment can point to their single point of truth for any version of their projects.

An idiot must be able to run your upgrade scripts: This was not said in a disparaging way. Here his point was that a complex script, requiring lots of input and control, which can only be run by a select few, will probably not be run very often. This resonated with me. When something is a little flaky, I tend not touch it if at all possible. "Leave it alone, it's working..." But if you have scripts that you run daily, you'll tune them and ensure they are fail proof. The more often, more people run these scripts, the more certain you are of their reliability. So each team member runs the upgrade scripts and they upgrade their demo environment regularly. So when it comes to upgrading the production environment, they knew it would work. (and it did ...another proof point!)

Every developer gets a sand box and every sand box has a database: The sand box is "my play area" and my play area must not affect anyone else and no-one must affect me. He impressed that the sandbox must have a database. He did mention that they used schemas and private synonyms, not a database per user.

In all this was a very refreshing talk, as I mentioned, the full document is on Rob's blog.

More on SQL Developer another day. Briefly, the room was packed and there are still loads of people who had not yet tested the product. I hope they have done so by now...

13 March 2006

SQL Developer is Production

It's Monday, it's March and the new kid on the block is SQL Developer! Yup, SQL Developer 1.0 is now production. If you haven't seen this product yet, try it. Download it from Oracle Technology Network (OTN) unzip it into a directory and you're set.

The product was announced at Oracle World (OraTransplant Blog) last year, we released the first early access release on the 28th Dec 2005 and followed with a number of releases after that. If you'd like to see all the releases take a look at Eddie's blog. The key thing about all these releases is that we've been able to respond to requests and feedback from the community. I might have said this on Groundside before, it's been an exciting few months.

Part of the reason we were able to get the product out to the community so quickly is that is is built using the JDeveloper IDE. Written in Java, it installs on platforms that will run a JVM. So we offer support for Windows, the Mac OS X and Linux. Overheard in a friend's office the other day... "Hey, have you seen this new SQL tool from Oracle? It's great and it installs on Linux!" (or words similar, the sentiment is there)

As someone who was involved with Oracle Designer for many years, I know the frustration users have when they are looking for new features in a product and we either can't respond or it takes many months, if not years, to respond. SQL Developer is a much smaller product, with none of the dependencies Designer and many other Oracle products have, so the flexibility of being able to respond to needs is there. I have loved this interaction and know the team have enjoyed it too. Again referring to Designer, we started a community source project, where a team of users worked on and supplied code and input to the Designer team to add functionality to the product. It was good. It brough the community closer to the product. It's not open source, in that we still own the ocde and write the code, but these past few months before SQL Developer's 1.0 production release have been like a community project, with the community getting involved and responding in a really positive manner. Being involved means you, the users get the product youreally want.

Many folk in the community have already started reviewing and using the product, so I won't say more, let's tip-toe across a few more blogs and articles out there...

  • ITToolbox (First impressions, early Feb)
  • Amis (starting to look at extensions)
  • Andrew Clark (Starting to change his ideas on SQL Developer and happy to get things fixed quickly)
  • Dan Hotka has written a long review in the Oracle Professional newsletter
  • OTN Techblog (This one is a little closer to home)
  • Jeff Hunter (First Impressions)
  • For ongoing and regular SQL Developer updates, you do need to keep a link to Kris' blog....
This list is longer, do a few searches and you'll find them.

Aah, you'll be wanting know about support. Ask questions on the Forum, talk to mates and of course, if you have a Database Support license, you also have SQL Developer Support.

The next bit to look at is the extsnion API. There are already a few folk out there getting down to writing extensions (plugins) so now that it's production, the race is on. Let's get writing. What extension are you going to build?

02 March 2006

A New Beginning...

My current blog is down again and has been for a week. What with the spam and unreliability I decided to move. In fact my friends have been asking me to move - I think they're tired of hearing me mutter. Not that I am a regular blogger, but in this world of "instant gratification" I kinda like being able to update my site whenever I have a moment.

This is no reflection on my current Blog Host, who set me up and got me started. Like me, he is always travelling and so is equally frustrated when technology and local suppliers let him down.

Well, I've moved.

It's a regret that I may not be able to move past articles and have them archived here, but perhaps I'll find away. I'm not researching that today.

Now back to work.