captech

Aug 18 2010

Project Management Leadership

Introduction: 

This month’s blog entry explores the complex relationship between project success and project leadership.  Risk of failure is potentially higher for IT projects than commonly acknowledged and, by all accounts, it would appear that success hinges less on strict adherence to methodology than on leadership.  Leadership, of course, assumes manifold forms, but in the context of this discussion I narrow it down to its core:  the moral/ethical responsibility of project managers to "tell it like it is," so that appropriate decision-makers can make effective decisions in a timely manner. 

This entry will be published in 3 parts:

  • Part 1 will discusses some of the long-term trends in project management, that have been recorded over the last 15 years.  Given the ever-growing emphasis on rigorous management of IT projects, the interpretation of these findings continues being debated, but the conclusions are unambiguous.
  • Part 2 will shine the spotlight on ethics in the context of project success.  Ethics in project management elude rigid definition, particularly as the PM discipline has evolved to encompass truly global projects, but even so, project management success is not synonymous with project success. 
  • Part 3 will make the link between success, leadership, and ethics explicit.

I’m curious what experience others have had in this regard.  Are there other aspects of leadership that play a pivotal role in your projects?  Are ethics a primary driver of decision-making in your organization… or an ancillary consideration?  What effect have these played on the successful delivery of your projects? 

Please feel free to comment below.


Read More

May 19 2010

Integrating Spring into your Weblogic Portal

Switching out your Weblogic Page Flow Controllers in favor of Spring Controllers is easier than you might think. Here are just a few steps to help the integration.

Dependencies

The latest production release version of Spring is version 3.0.2. In this version they have broken the release into about 20 different jar files. The libraries listed below are those that you will need to include in the WEB-INF/lib your project:

Read More

Feb 15 2010

Groupthink and the Agile Architect

Need uber-guru types who are willing to challenge the existing groupthink on design and architecture, especially on TDD and emergent design and pair programming anti-pattern” – job post at Monster.com 2/9/2010

I stumbled upon that quote following links on the role of the architect on an agile project. Maybe one important role of the architect is to help the team avoid groupthink.

Read More

Jan 02 2010

On DW federation, whac-a-mole, and integrating business data

Information Management recently sent around their pick of best IM blog articles of 2009.  Among them was Forrester’s James Kobelius’s reaction to Bill Inmon’s “incineration of a straw man concept that he refers to as ‘virtual data warehousing (DW).’”

Read More

Nov 11 2009

Hampton Roads .NET User Group November 2009 Presentation

I presented a talk called "Enterprise Data Validation" at the Hampton Road .NET User Group this evening. The premise was simple. Data validation needs to happen in all the tiers of a modern application but the validation rules should be defined only once to avoid synchronization errors. In this talk, I showed how to extend SQL Server using extended properties to store regular expressions for data validation as column metadata. I also showed how to add a regular expression matcher to SQL Server using the SQL CLR and how to add check constraints to invoke the regular expression parser. Then I built a WCF service to query the validation metadata to make it available in other application tiers. I quickly assembled WCF service host and client showed how you could bring all of the elements together to create a working Enterprise Validation solution.

Download the SQL Scripts (20.06 kb)

Read More

Nov 01 2009

Exploring SQL Azure

Read More

Oct 24 2009

SQL UNIQUEIDENTIFIERs are Really Big Integers

I wrote a blog post called How SQL Server Sorts the UNIQUEIDENTIFIER Type and another one called Ordering the SQL UNIQUEIDENTIFIER Type Numerically Correct for Reporting a while back. As a result, I get a lot of e-mails from people struggling with UNIQUEIDENTIFIER values in Microsoft SQL Server. That's cool because I like helping other developers. The mistake that most people make when working with this data type is treating them like strings. However, UNIQUEIDENTIFIERS are absurd looking integers, really big ones. We show them in hexadecimal format to make them more compact which adds to their absurdness, I suppose.

Read More

Oct 20 2009

Google Search Appliance (GSA) Sorting in Portal

At several of our clients, we have integrated the Google Search appliance into a Portal.  In order to accomplish this integration we could take 1 of 2 approaches:

1.     Utilize GSA’s built-in ability to format the presentation logic via a XLST.

Read More

Oct 20 2009

Google Search Appliance (GSA) Sorting in Portal

At several of our clients, we have integrated the Google Search appliance into a Portal. In order to accomplish this integration we could take 1 of 2 approaches:

1. Utilize GSA’s built-in ability to format the presentation logic via a XLST.

2. Utilize GSA’s ability to return straight XML.

Both approaches work well and can suit the needs of a portal. Option 1 though will not work if you need to sort the entire result set prior to displaying it to the users. The reasons for this is as follows:

Read More

Sep 21 2009

PyTip: Avoid Using range() for Large Sequences

When iterating over a sequence of numbers in Python, the range() function is commonly used. However, the implementation of the range() function in Python 2.x instantiates each element in the sequence before the iteration begins. This is really costly from both memory and CPU perspectives when the desired range of numbers is large. Consider using the xrange() function instead which implements a Python generator to yield each number in the sequence as needed. Using xrange() instead of range() for large iterations can have a big, positive impact on your code. For example, in an application I was working on recently, replacing range() calls with xrange() boosted my performance from ~900,000 transactions per second to over 3,000,000. In Python 3.x, the range() function is supposed to be implemented as a generator but I haven't tested that to be true yet. Let me know if you have.

Read More

 

Disclaimer

The words and opinions expressed here are those of each article's respective author, and do not necessarily represent the views of CapTech Ventures.