Monday, 24 June 2013

NOTE: Agile Developments at SAS

Seek and you shall find. Isn't Google wonderful? I'm a keen proponent of Agile software development practices and processes. I've long been curious to know more about the software development processes used within the various teams at SAS. Jason Burke wrote an informative blog post back in 2009 but I just hit upon a recent paper by SAS's Tim Arthur titled Agile Adoption: Measuring its worth.

The paper was prepared for the April 2013 Strategic Execution Conference and it describes the results of Tim's survey on Agile adoption within SAS since the initiation of some pilots in 2007. Tim describes how Agile has been interpreted and adopted at SAS, and then presents his survey findings. The survey found that respondents' believed that their teams had produced higher quality products since they started adopting Agile practices, and respondents would recommend Agile techniques to other teams.

The paper places greater emphasis on the survey and its results rather than the Agile practices and processes adopted within SAS but nonetheless I found it a most interesting read.

Accompanying slides (and the paper) can be found here:

[UPDATE. Coincidence? Tim Arthur just posted a blog entry about Agile on the SAS blog site today. It's titled How SAS R&D does agile and it briefly talks about the use of Agile at SAS]

Monday, 17 June 2013

NOTE: Describe Your Table in SAS to Write the SQL Code

A week or so back I highlighted two best paper winners from this year's SAS Global Forum - Steve Overton and John Heaton - and I then subsequently highlighted one of John's papers. I thought I should do the same for Steve, but then I saw a blog post from Steve of such wonderful simplicity that I thought I'd highlight the blog post instead. For those familiar with the SQL DESCRIBE statement you'll know that it not only "describes" a table but it does so by offering code to recreate the table.

In Describe Your Table in SAS to Write the SQL Code, Steve describes how to use SQL DESCRIBE to generate executable code to (re)create a table. As Steve says, this is a useful reverse-engineering technique for generating empty tables as a step in establishing your data warehouse or data mart. It's one of those things that seems to have no purpose until you need to do it!

I've seen experienced SAS coders writing reams of DATA step code to reverse-engineer a data set. SQL DESCRIBE does it for you nice and easy!

Tuesday, 11 June 2013

NOTE: Animated Graphics, Courtesy of V9.4 SAS/GRAPH

There's so much of interest in Rob Allison's recent SAS Training Post blog article Create animations like Hans Rosling! that I don't know where to start!

Rob's reference relates to the subject of a 2010 post from me (originally highlighted by a tweet from Chris Hemedinger) in which Herr Rosling shows his own work in some superb graphics, aided by the BBC.

Rob's re-production of the animated graphics is achieved through use of some v9.4 SAS/GRAPH features. Independently, Rob has documented a vast array of v9.4 SAS/GRAPH features on his web site.

At first sight, this kind of work might appear to be more art than science, more infographic than statistical chart, but it does a very effective job of getting its analytical point across. And it neatly brings us back to last month's post on infographics, spurred by a different post from Rob!

NOTE: Release Management and Version Control

Yesterday I mentioned SAS platform administrators and how their work and their value can be overlooked. My post related to an article on the SAS Users Groups blog. Last week I saw another SAS Users Groups blog entry about something else that is often overlooked: Release Management.

The blog post was a nod to the best contributed paper in the Systems Administration and Architecture stream: SAS Release Management and Version Control by John Heaton (also winner of best contributed paper in the Data Management stream as I mentioned on Friday).

At the risk of turning this week's sequence of blogs into a celebration of all-things-overlooked, I thought it worth highlighting John's paper because management of releases and versioning does indeed tend to get lost in the excitement and frenzied activity associated with application upgrades. Steve O'Donoghue and I were invited to present a related paper at SAS Global Forum 2009 entitled Configuration Management for SAS Software Projects so it's clear that the topic is one in which I hold a special interest.

John describes release management as "the process of managing multiple different software releases between environments in a controlled, auditable and repeatable process" and his paper looks at the capabilities of the SAS 9.3 toolset to build an effective Release Management process to support the migration and maintenance of SAS code throughout the software development lifecycle (SDLC).

John makes specific references to Subversion (SVN) as a tool for storing current and previous versions of code. SAS tools don't explicitly support SVN (or any of its competitors) so John describes his approach to marrying SAS and SVN.

Having made introductions to SVN, John continues by covering import and export of metadata-resident objects such as DI Studio jobs. DI Studio is the focus of John's paper. He doesn't forget to include an approach for deploying unplanned software patches.

John's paper is very technical in nature, but be sure to understand the over-riding strategies that are implicit in what he says. Ignoring or overlooking release and version control is perilous. If you're working in a regulated industry then your regulators are likely to suggest that you are not in control of your software development process. Without clear, robust release and version control you risk expensive mistakes during or after software upgrades.

Monday, 10 June 2013

NOTE: SAS Platform Administration - Information Sources

SAS platform administrators are the unsung heroes of many SAS sites. Most SAS users have no conception of the range and complexity of technology that sits below the user-facing SAS interfaces like Enterprise Guide, Web Report Studio and Visual Analytics. In SAS administrator connections and resources on the SAS Users Groups blog a few weeks ago, Christina Harvey presented a nicely structured index of useful web content. If you are a SAS administrator, Christina's list is well worth a visit.

Christina categorised her recommendations as follows:
  • Connecting with other SAS administrators (I was honoured to see the NOTE: blog included in this list)

  • sites for installing and maintaining a SAS installation

  • Videos for the SAS administrator

  • Training and documentation
Truly, an excellent meta-resource for SAS administrators.

Humour supplied by The IT Crowd. British humour; technology humour. Available on Netflix UK, etc.

Friday, 7 June 2013

NOTE: Best Contributed Paper Awards from SAS Global Forum 2013 #sasgf13

I continue to be foxed by the lack of a Closing Session at this year's SAS Global Forum (SGF) in San Francisco. One of the highlights of each Closing Session at previous conferences was the presentation of Best Contributed Paper awards for each stream of the conference. Recognition for those who have provided the "show" has always seemed important to me. Contrary to popular opinion, presenters who contribute papers pay the full conference fees; they get no discount.

I saw no announcement and heard no drumroll, but I see that the best paper award winners have at last been listed on the SGF 2013 web site.

I offer my congratulations to all 15 winners. A couple of winners deserve special mention:
  • Steve Overton won best BI paper this year and has won it consistently for several years previously

  • John Heaton won two awards - Data Management, and Systems Architecture & Administration
Let's hope the Closing Session returns in 2014.

Best Contributed Papers 2013
Best Contributed Papers 2012
Best Contributed Papers 2011
Best Contributed Papers 2010

NOTE: Reporting Horizontally (WRS tabs)

I recently spotted a neat tip from Tricia Aanderud on the BI Notes blog. In the article Web Report Studio: Switch Report Sections to Tabs in Snap! Tricia provides us all with a reminder of the ability to create tabs in our Web Report Studio reports and thus save our users from having to scroll down and down and down a report to find the table or chart that they're interested in.

Whilst the content (and quality thereof) of our reports is the most important aspect of our reports, the presentation and accessibility often comes a close second. If your reports are not attractive and easy to navigate and use then your content won't be seen.