Today’s LinkedIn Answers-Inspired Rant

In response to the following question on LinkedIn today:

R&D time – how do folks manage it? – similar to Google’s 20% research time – free form, scheduled, pros-con’s – approved projects…looking for suggestions.

<RANT>
The old rule of thumb was that a senior IT professional should be engaged in deliverables only 65% – 85% of the time (depending on budget and the intelligence of management). The “unproductive” time was when R&D occurred, along with training.

These days, most R&D I see happening is when it is built into a project plan (either through creative padding or selling the ROI in advance and within a short time frame).

What little R&D I do see happening between projects these days is structured by people too far removed the deliverable level. As such, the time lines are too aggressive and the focus towards mindless repetition of simple examples rather than understanding the technology by stretching it to see what it is capable and where else it will apply.

</RANT>

If you found this interesting, please share.

An Alternative to RUP

I wrote this a long time ago on a Blackberry in a fit of frustration on a project…it still cracks me up

In an effort to reduce the strain on some clients who seem to have difficulty adopting the RUP process, I present to you an alternative methodology based on a model of what they’ve accomplished in the past and continue to strive for in the present.

First, schedule the project. Any project worth doing should have a deadline, and this needs to be set immediately after coming up with a catchy-yet-vague project name. Really import projects require the deadline to be set before the project is named.

Once a completion date is set, work backwards to build a full schedule. If the date is 6 months away, we know it takes as long to do QA as it did to code, so code freeze will be in 3 months. Everyone realizes that requirements need to be gathered, approvals gained, and designs considered, so let’s plan to do that at the same time. Just to make sure there is enough time to get it all done, give it 4 months. The math is clear: start the project last month.

Next, program something. Anything. We’ll find a use for it somewhere. Yes, we’ll give you requirements just as soon as we decide what the project is. And while you program, please create a design document to show that you used design. To make sure it is an accurate description, write it after you’re done coding. Also, please make all documents as boring as possible so others don’t waste valuable company time reading them.

Laugh maniacally to prove you are fully stressed. If you are stressed, then we have an accurate deadline. If you’re relaxed we obviously gave you too much time. If you’re just burnt out, you’re probably faking it. We have a perfect schedule, everything is on time, and if it’s not on time we can always change the requirements to be on time. We also reserve the right to change the requirements if we happen to feel like it. We’ll let you know critical changes during QA so you can add it in while you fix bugs.

Announce publicly the full functionality and the release date of the project. This should be done prior to QA. Also, to build public awareness and industry anticipation, announce that this service is availablet, program something. Anything. We’ll find a use for it somewhere. Yes, we’ll give you requirements just as soon as we decide what the project is. And while you program, please create a design document to show that you used design. To make sure it is an accurate description, write it after you’re done coding. Also, please make all documents as boring as possible so others don’t waste valuable company time reading them.

Laugh maniacally to prove you are fully stressed. If you are stressed, then we have an accurate deadline. If you’re relaxed we obviously gave you too much time. If you’re just burnt out, you’re probably faking it. We have a perfect schedule, everything is on time, and if it’s not on time we can always change the requirements to be on time. We also reserve the right to change the requirements if we happen to feel like it. We’ll let you know critical changes during QA so you can add it in while you fix bugs.

Announce publicly the full functionality and the release date of the project. This should be done prior to QA. Also, to build public awareness and industry anticipation, announce that this service is available now.

Test the application. Hey, we planned for QA early on, and we’re doing it! Be sure to only test the user experience, because this is all the public and our non-IT departments understand. If all of the data is wrong, that’s a production issue. The guys in production have nothing to do anyway, right?

Throw it away and try again. Nothing worked the way it was supposed to, no one uses the software, and we’ve identified a scapegoat (read “lead developer”). Bring in a consulting firm to fix it all. And remember, we have this process in place and we’ve used it before. It’s documented. So make sure the consultants follow this method.

Like any methodology, it needs a catchy acronym to be considered a real process, so lets look at what we do and see what it spells (we would never consider coming up with the acronym and then trying to make the process fit J):
Schedule
Program
Laugh insanely
Announce it’s finished
Test it
Throw it away.

So, there you go. As a viable alternative to the RUP process, I offer you…

SPLATT!

If you found this interesting, please share.

Extra Required Step When Creating 10.3.2 WLP EAR

Wasted a good week until someone pointed out that OPOE does generates application.xml for exploded deployments (such as within the IDE) , but leaves it out when creating an EAR. So, when you create your WLP EAR project, you must check the “Generate application.xml deployment descriptor” box or the Portal Admin Tools will not get configured properly for the application.

WLP EAR Wizard
You MUST Check This
If you found this interesting, please share.

Example of Creating a User in Oracle DB for WebLogic

One of those things I ran across recently that I always forget between projects so I thought I would share here:

1 Set the Oracle Home

export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/

2 SQL Plus – Idle Instance $ORACLE_HOME/bin/sqlplus /nolog

3 Connect as SYS User

connect sys/welcome1@xe as sysdba;

4 Create the WEBLOGIC_PORTAL

User CREATE USER WEBLOGIC_PORTAL IDENTIFIED BY WEBLOGIC1;

5 Grant Roles and Permissions

GRANT CONNECT, RESOURCE,DBA TO WEBLOGIC_PORTAL;

6 The WLS install seems to expect a table named SYSTABLES, so you will need to create it:

CREATE TABLE SYSTABLES (TEMP NUMBER);

If you found this interesting, please share.

Creating a Local WLS 10.3.2 Domain

While setting up a new project this morning I was reminded of a somewhat counter-intuitive sequence when setting up a local environment (even with the simple Pointbase install). When you get to this screen:

Clicking Next will give you this warning:

Just click OK. The database isn’t running at this time.

And, for those who haven’t upgraded in a while and don’t read the manual, you will want to click Run Scripts when you see this screen:

After the wizard completes, look for the create_db.cmd in the domain root and run it before starting the server. The first start, the server will have problems starting. Let it run until nothing is spit into the console anymore, then kill it and start it again. This time it should come up.

If you found this interesting, please share.