More than Iron Man – Oracle and Marvel

At the beginning of April 2010, Oracle, using the buzz around the release of Iron Man 2, kicked off a worldwide advertising campaign focused on introducing the powerful combination of Oracle and Sun. This includes old school billboards and commercials on a variety of old and new media platforms…


All this makes for some fantastic visuals, but how exactly is Marvel using Oracle? The list of Oracle products being used by Marvel is diverse:

  • Oracle E-Business Suite, including Financials, Human Resources, Self Service HR, Manufacturing and Incentive Compensation
  • Oracle Business Intelligence Suite
  • Oracle Configurator
  • Oracle Enterprise Content Management Suite (formerly Stellent)
  • Oracle Insight

Further information on how Marvel is able to keep track of inventory, and manage the budget on epics like Iron Man, is revealed in Support for Superheroes, Avengers, Assemble! and Marvel Entertainment Grows its Business with Oracle (video)

Interface Oriented Design

This book has been sitting on my desk for a long time and I’ve been dipping in and out of it for at least a year. I’m a big fan of The Pragmatic Programmers and the topic of interface is very close to my heart as it is often the most ignored when system analysis and design occurs. Apart from performance, interfaces are generally the biggest problem that is faced when a system goes live because once people start to use it, they want to use it with the other systems and tools they are using. The human interface to a computer system gets, quite rightly, a lot of focus. The topic gets it’s own module in Computer Science degree courses. This has meant that today’s software developer is familiar with the concepts of usability, task analysis, workspace arrangement, error detection and recognition.

I was hoping that Ken Pugh’s Interface Oriented Design was going to be that seminal book which would set out design principles and approaches for deriving robust interfaces. It is not. While it does introduce some interesting concepts such as the Three Laws of Interfaces and Interface Responsibility Interaction it lacks a real world sense about it. In fact, the purpose of the book appears to be the platform to launch Pugh’s Interface Responsibility Interaction format. It’s an interesting idea, but unfortunately it does not make a strong case for using such a format in real projects. Some case studies from other projects where IRI was used would have been beneficial.

One gets the sense that this is a serialisation of some lectures within a system design module in college, with a trivial exercise to prove the points. Put simply, there’s really not much in the book to grab the experienced developers attention.

It’s not you, it’s me – Check the bugs log before going crazy


How many times have you been working on implementing, unsuccessfully, a feature in your application which relies on a framework, container, or some other indirection layer? You’ve studied the specifications, memorised the API and you’re following the developers guide which are all telling you that what you are trying to implement is taken care of, but it still does not work!

While recently working on a really simple application feature using ADF data model validation I had just this experience. The feature just did not work and there was nothing in the logs to indicate what the problem was or that there was even a problem. Admittedly, I was using an internal development build, so it would not have been a fully tested version. I checked, and double checked everything, the documentation, searched through forums and blogs, trying to find out what I was doing wrong.

By the way, while searching I did come across an interesting blog about ADF bugs and workarounds. Steve Muench‘s Dive into ADF blog is probably the most comprehensive on ADF features though.

It turned out I wasn’t doing anything wrong but I only found this out when a colleague suggested I check the bugs database. And there it was! The exact scenario I was trying to implement had a bug against it. What a relief, because I thought I was missing or skipping over something really obvious and fundamental and that’s why it wasn’t working for me. Better still, the defect was marked as closed so it will be available in the next internal developers build.

This got me thinking about all the documentation sources I had been to and how useful it would be to have a cross reference between the structured and unstructured text of developer guides, API, forums, blogs and bug databases. Isn’t that what search engines are for?

Unit Testing with SQL Developer

December’s release of SQL Developer 2.1 has a number of new bells and whistles. Two of the main new features are:

  • Data Model Viewer. This is a free, read only, viewer based on Oracle SQL Developer Data Modeler. With this viewer you can open existing data models as well as generate data models based on your database. The generated data model can not be saved though.
  • Unit Testing. Based on the popular xunit Four Phase Test pattern, this feature makes testing of procedures and functions a breeze. Put simply, it allows one to construct a repository of unit tests cases which includes what one would expect for automated testing: setup, execute, assert result, record results, teardown.

The free Data Model Viewer is a nice introduction to the Data Modeler product which is not free. The unit testing framework though really does mean that the quality of code in the database can be asserted and maintained much easier than previously possible. There is a simple Oracle By Example tutorial on the SQL Developer Unit Test feature available at:

http://www.oracle.com/technology/obe/11gr2_db_prod/appdev/sqldev/sqldev_unit_test/sqldev_unit_test_otn.htm

Your ScrumMaster is a project manager in disguise

In 6 attributes of a good ScrumMaster Mike Cohn repeats the common line that the ScrumMaster role does not always require a full-time, eight-hour-a-day commitment. Often the ‘orchestra conductor’ role of ScrumMaster is an unofficial one within your organisation even though it clearly has well defined functions and responsibilities. So many people do ask the question Is a ScrumMaster a full time position? As Boris points out, it is, and he explains why it is a 100% fulltime job.

The ScrumMaster has internal and external responsibilities. Even if the team is well disciplined with following the process, and they address most of their own impediments there is still the challenge of being a gatekeeper between the management and the team. This is being recognised in many organisations now and you can even see ScrumMaster as a recruitment position. It’s interesting to note that many of these positions have Project Manager / ScrumMaster as the title.

What does a Project Manager do that a ScrumMaster does not (or vice versa)? A project manager is the person who has the overall responsibility for the successful planning and execution of a project. This title is used in the construction industry, architecture, information technology and many different occupations that are based on production of a product or service. While strictly speaking, the team, rather than the ScrumMaster has responsibility for the success of the project, a ScrumMaster does assume responsibility for the team’s adoption of Scrum and practice of it. A ScrumMaster takes on this responsibility without assuming any of the power that might be useful in achieving in it.

To boil it all down to it’s essence, a ScrumMaster is a Project Manager who has realised that they don’t really have the power to successfully deliver a project, and has adopted a framework to take advantage of that humbling position.