Jazz, Transparency, and what comes next?

I was working with a customer this week, and talking to them about how transparency in a development organization can be such a good thing.  It brings me back to my long time observation that transparency implies accountability, since teams can no longer hide behind a lack of information.  I also wrote a quick bash script that will produce a list of the changes between two different baselines, a set of rudimentary release notes.  You can check that out here.

The performance and status of teams should be available to executives, stakeholders, and the teams themselves.  In fact I would argue that it MUST be available to all involved.  In sports we keep score, and keep numerous statistics to help the team management accurately evaluate the performance of it’s athletes.  These statistics are then often utilized by the athletes (or the team management) to justify salary increases and decreases, trades, and the building of professional reputations.  Would it make sense to have an athletic contest and NOT allow the teams and participants to know the score?  Yet this is EXACTLY what many development organizations do to their teams, having them develop software without giving them access to the ways that they are being measured.  It doesn’t make sense, and it is not productive.

To continue with the sports analogy, we keep these statistics even though we all agree that these measures are not the perfect measure of the worth of an athlete.  In software, organizations and individuals often use the fact that the metrics and measures are not perfect as an excuse to avoid measurement completely.  Software teams need to be more transparent, and need to embrace transparency and a variety of software development metrics and measures.

Software organizations need to encourage measurement of their teams, and leverage these efforts to finally measure their true worth to an organization.  All too often software development is seen as a “cost center”, a bunch of strange tech nerds buying expensive machines and software toys.  Organizations often view the software organization with dread; they cost money, and seem to be a huge source of risk (identity theft, loss of corporate information, lost productivity, etc.).

In order to fight these perceptions, software teams need to determine their worth to an organization in terms their business partners understand, revenue and profitability.  Allow the business to make their requests, and make the internal software teams “bid” on these requests like any outside software development organization. The business can then make intelligent decisions about where to get their software from, deciding based on cost, technical merit, and quality.  If the internal software development teams wins this “bid” process, then pay them for their work.  Consider it an internal “fixed cost” contract, and treat them like a profit/loss center.  If outside vendors or consulting groups win the bid process, then the business is able to realize their benefits in a more cost effective way.  Profit motive will work like it always does, rewarding the teams and groups that do things most efficiently.

Software organizations need to see the future, because they are at the leading edge.  I read a great Forbes article on the WikiLeaks founder Julian Assange.  The point made by him is that transparency forces businesses and governments to be accountable. He believes that organizations can avoid the embarrassment of these disclosures by being ethical and transparent.  I am not endorsing or criticizing the methods and points made by Assange in the article, the key to me was that the “transparency genie” is out of the bottle.  In the information age, transparency is going to be the expected environment.  You can either embrace change and find ways to identify and leverage the opportunities it presents, or you can fight reality.  Software teams need to lead their business organizations because they understand the technology, and might be able to identify opportunities more quickly.  This is something that would deliver true business value to their organization.

Rational Team Concert and Jazz allow you to have this type of transparency and visibility throughout the entire software development effort.  When you look at how IBM is using RTC to help make our development of the Jazz based products more transparent, you can see what I believe will slowly become the standard for software development in the future.  Go out and look at Jazz.net.  Once you register, you can see all of the various bugs, problem reports, and development activities that our development team is working on right now.  We base our internal reports and metrics on the status of the development artifacts that are visible in real-time to the rest of the world.  Our customers are able to see the real time status of their bugs and enhancement requests.

What benefits do we see from this transparency?  Our customers are seeing us as being more responsive, and we have been able to forge high trust relationships with our customers.  Our software development efforts and new features can be more closely aligned with what our customers tell us is important.  Since our software development teams are transparent, they produce better quality software that is more closely aligned to the needs of our customers.  Our defect rates have dropped, and all of our high level business measures of team performance have improved.  Everyone in our organization is accountable for improving our products, and improving on our customer satisfaction levels.  That includes me too!

All of this is due to improved communications, improved transparency, and the use of Rational Team Concert and the other Jazz based products.  It can be concerning to jump into this type of model, with huge amounts of transparency, but in the end it is where our business culture is taking us.  The transparency genie is out of the bottle, and the people and organizations that thrive in the future will be those that embrace these cultural changes.

Simple RTC Release Notes Script

I was at a customer site this week, and they asked me for a report that shows all of the changes and differences between two different RTC baselines.  It bothered me, because it was a pretty simple request.  So I got back to the hotel and wrote this quick bash script that will give them this information.  It works on Ubuntu, and should work on most any Linux variant.  You can download the script from here, but I will walk you through the various sections, and share some thoughts on how you can improve this for your Jazz users.

The top of the script is the usual fluff, nothing much interesting here, just identification of some default values (which you need to change to match your environment), a path to the Jazz scm command line tool, and some temp files.

TMPFILE="Jazz_BL_Exec.sh"
RESULTFILE="Jazz_BL_Result.txt"
SCM_CMD=/home/dtoczala/Jazz/Clients/RTC_3_0/scmtools/eclipse/scm

I then go out and get some user inputs to tell me which component and baselines they want the information for.  One note about this script is that you could EASILY change the logic, and feed this script based on some array of values to get multiple release notes reports, for multiple products and development lines.  Just don’t write the to the same result file (RESULTFILE).

One important thing to note is that I enclose the user defined baselines and component names in double quotes, because often the names of baselines and components in Jazz can have spaces in them.

read -p "Initial baseline is [$DEFAULT_START_BL] - " START_BL
if [ "$START_BL" = "" ]; then
TEMP=$DEFAULT_START_BL
else
TEMP=$START_BL
fi
START_BL=$QUOTE$TEMP$QUOTE

In the next section, we’ll begin writing commands into a file that we will execute at the end of this script.  First, we write the command to log into the repository using the supplied parameters.  Avoid the temptation to hardcode your userID and password. Don’t be a security hole, just enter them in interactively.

$SCM_CMD login -r $REPO_PATH -u $USERID -P $USERPW -n $NICKNAME

Next we write the scm command to give us the differences between the baselines.  We then make the file executable.

CMD="$SCM_CMD compare -r $NICKNAME -f i -I w -c $COMPONENT baseline $START_BL baseline $END_BL "
echo $CMD > $TMPFILE
chmod 775 $TMPFILE

Finally we execute the file that we have created (all two commands), capture the results, and then delete the file of commands.  If you are interested in the structure of the commands, run this without deleting the command file, so you can check out the command file.

CMD="$SCM_CMD compare -r $NICKNAME -f i -I w -c $COMPONENT baseline $START_BL baseline $END_BL "
echo $CMD > $TMPFILE
chmod 775 $TMPFILE
./$TMPFILE >> $RESULTFILE
rm $TMPFILE

The last thing that I do is to do some quick clean up, and I copy the file to a dropbox location on my machine.  This will then synchronize with an online repository that can be accessed anywhere.  From this repository, you can access your file contents with a simple link.  I’ll also use HTML widgets to display graphs on my RTC dashboards.  You can check it out at http://www.dropbox.com.

cp $RESULTFILE /home/dtoczala/Dropbox/Public/ReleaseNotes.txt

My Jazz Blog’s 2010 in review

The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here’s a high level summary of its overall blog health:

Healthy blog!

The Blog-Health-o-Meter™ reads Fresher than ever.

Crunchy numbers

Featured image

A helper monkey made this abstract painting, inspired by your stats.

A Boeing 747-400 passenger jet can hold 416 passengers. This blog was viewed about 8,200 times in 2010. That’s about 20 full 747s.

 

In 2010, there were 13 new posts, growing the total archive of this blog to 23 posts. There were 9 pictures uploaded, taking up a total of 3mb. That’s about a picture per month.

The busiest day of the year was August 25th with 86 views. The most popular post that day was Translating from ClearCase/ClearQuest to RTC and Jazz.

Where did they come from?

The top referring sites in 2010 were jazz.net, w3.ibm.com, Google Reader, w3-103.ibm.com, and linkedin.com.

Some visitors came searching, mostly for rational team concert subversion, can jazz use subversion, rtc svn, geoffrey clemm ibm synchronizer clearquest, and rtc sandbox.

Attractions in 2010

These are the posts and pages that got the most views in 2010.

1

Translating from ClearCase/ClearQuest to RTC and Jazz August 2010
3 comments

2

Subversion and Rational Team Concert Feature Comparison June 2009
6 comments

3

How Does Rational Jazz Compare with Open Source Solutions February 2009
3 comments

4

Jazz Tips April 2009
2 comments

5

Getting Started in the RTC Sandbox April 2010