Monday, 30 April 2012

Requirements. Whose Responsibility? #sasgf12

I was pleased to see some papers on the subject of software development processes at SAS Global Forum this year. The IT industry hasn't yet reached a point where a consensus on the perfect software development process has been reached (will it ever?). So, it's no surprise that opinions differ on some matters.

One paper I attended opined that "requirements are developed by the end user of the software and not by the developer". The paper had a lot to commend it, but on this one point I strongly disagree.

Capturing requirements is a skill. It is not easy to gather all facets of the business requirements, and it is not easy to document them in a fashion that best serves all the needs of the development process (and beyond). Thus, it is unreasonable to expect users (or developers) to possess these skills unless they have been explicitly trained.

If training is required (e.g. in the absence of trained Analysts), does it not make more economic sense to train developers? They can be trained once and then use their skills (and growing experience) multiple times on subsequent projects. If you train a user, they are unlikely to re-use those skills (unless their application is in a constant state of change).

There are a variety of tools and techniques for performing analysis for requirements capture. One of the key skills is the ability to see beyond the current business process and to capture the true needs of the new business process. It is not apparent that users have a proper understanding of all aspects of their current business process; it is far from likely that they can accurately specify their target requirements. If requirements are to be of use, they must be documented in a form that facilitates their subsequent use by a) architects and designers, b) test case authors, and c) maintenance developers.

In my opinion, it is a developer's responsibility to help the user understand their current business process (particularly the processes for dealing with abnormal situations), and to guide them in the art of the possible for their target requirements. Developers need people-skills in addition to knowledge of tools and techniques for requirements capture.

The art of the possible is a key element of the requirements capture phase. We've all had experience of i) users asking for features that seem simple to them but are difficult/expensive for us to implement, and ii) users not asking for features that would be of high value to them but which they thought were too hard for us to deliver. I've seen countless examples of users telling me that they need the ability to:
a) email various reports to groups of people, and
b) write reports as spreadsheets.

Users typically express requirements in terms of things with which they are familiar, i.e. existing technology. We can advise them of the extended capabilities of:
a) portal and publish/subscribe capabilities that avoid the need to clog-up the email system with uncontrolled copies of report, and
b) web report studio and add-in for Microsoft office that give the user the ability to "interact" with the data, without the need for the data to leave the data centre.

If you're a developer, and you don't have professional Analysts to help you, take an interest in requirements capture; appreciate the skills, techniques and tools at your disposal, and (if possible) get some training to enhance your ability.

Delivering a successful project is a result of good teamwork. It is not the users' sole responsibility to produce good requirements; nor am I saying that it is the developers' sole responsibility. It's a question of what each party brings to the table. The users have to be committed and provide their time in addition to their knowledge and experience of the business; the developers must be willing and able to help the users express their requirements. You will succeed as a team.

Garbage in, garbage out. If all of the project's stakeholders are not clear on what is to be delivered, the chances of meeting everybody's expectations are much reduced. The capture of good quality requirements is crucial for ensuring the success of your projects. Play your part!

Papers Without SAS?! #sasgf12

I was pleased to see a number of papers at this year's SAS Global Forum that dared to focus on topics outside of SAS technology and syntax. Two papers that particularly caught my interest were How to Create a Business Intelligence Strategy by Guy Garrett, and The Systems Development Life Cycle (SDLC) as a Standard: Beyond the Documentation by Dianne Rhodes. These papers were good demonstrations of the fact that you can buy the best software in the world, but you'll not optimise your return on investment if you don't put it to use in a planned, structured manner.

The focus of SAS Global Forum should always be SAS software and solutions. I'm not suggesting the event should be turned into a computer science conference, but there's a balance that can be struck. In my opinion, the balance lies at a point whereby attendees' interest in planning and process can be piqued such that they want to find out more once they return to their office.

Wednesday, 25 April 2012

NOTE: SAS Global Forum 2012 - Futures #sasgf12

Due to the failure of my Asus Transformer tablet I'm still reduced to posting from my phone. So please forgive my brevity!

Yesterday was a good day for me at the conference. I attended a number of futures sessions in the morning and gained some insights into a few developments at SAS.

Firstly, collaboration and search with Murali Nori. SAS see an evolutionary path from reporting, to analytics, to collaboration. This can be public or private communities. Collaboration covers many themes, aside from discussion it can include participation in approval processes, integration with Sharepoint, email, or IM. One key element is, perhaps, the creation of the ability to audit and report on the decision making process that surrounds some of your SAS outputs.

Ultimately, the SAS Collaboration Framework should produce better decisions, quicker decisions, with the right people. It'll be like Facebook for the enterprise (secure and auditable)

As a small step in this direction, the new Visual Analytics tool will get the ability to add text comments at the end of this year.

In addition to the collaboration efforts, SAS are also aiming to provide much improved search capabilities; for structured and unstructured data. This means that a search in the portal might return you a list of "related" information items rather just items that precisely match your search (think of "Google for my SAS report"). We might see ranking of the results too.

Tuesday, 24 April 2012

NOTE: SAS Global Forum 2012 - Workflow Management #sasgf12

Yesterday, I saw an interesting session with Diane Hatcher and other SAS staff which highlighted the workflow capabilities that ship with many SAS solutions (including eBI) but which most sites are unaware of.

The capabilities are not intended to be a commercial offering that might compete with established business process workflow management; rather, the SAS capabilities are intended to serve SAS solutions' specific requirements. The SAS EGRC solution, for example, encompasses workflow for management of the operational risks that are recorded within the solution; SAS Model Manager encompasses the management of the lifecycle of a model through workflow.

If you have a SAS solution that doesn't explicitly use workflow, you can still surface it and use it. It's a choice you need to make at install time, so making a choice to use it retrospectively can involve some considerable work.

Once you have it installed and working, its Workflow Studio allows you to design workflows using a combination of data objects, swimlanes, roles, decision points,events and notifications. Diane and her colleagues showed an example workfloe process that they had created for demo purposes. The example allowed the creation of a Web Report Studio report in a development area, approval of the finished report, and automated deployment of the report to a production area.

Workflow processes are stored in metadata and can be checked-out and checked-in, allowing release management.

Instances can be driven by 3rd party application, or by event signalling (providing good decoupling between parts of the workflow), or from SAS solutions.

NOTE: SAS Global Forum 2012 - Update #sasgf12

My Asus Transformer Android tablet refused to switch on yesterday afternoon and has continued to do nothing ever since. This is most annoying, it's less than a year old. I've resorted to typing-up my notes on my Samsung Galaxy Nexus phone. It works, but it's a slower process.

Anyhow, yesterday was an interesting day at SAS Global Forum. I didn't hear anything earth shattering, but I picked-up a lot of useful information.

One of the highlighted outcomes of the Sasware ballot was the addition of read-only global macro variables in 9.4.  I can't figure-out how I'd use that feature, but I guess there was some demand for it. Would you use it? I'd love to see a comment telling me how and why.

The morning's Technical Connections session featured five themes: high performance analytics, business visualisation, information management, decision management, and cloud. Some interesting items I picked-up were:
  • Introduction of a tool for business rule storage and management within SAS. I need to spend time in the demo area to find-out more about this
  • There have been plenty of demos of the new Visual Analyser at the conference.Its ability to create hierarchies on the fly, for drill-down, will be greatly appreciated by its users
  • Visual Analyser's integration with mapping also caught my eye as a valuable and nicely implemented feature
  • Following the introduction of a separate release track for BI tools and clients some while back, there'snow to be a separate release track for Stats and Analytics software too. The next release will be 12.1 (in August)
  • SAS 9.4 is expected to be released early next year. SAS are interested in feedback on how they can help their customers move through versions more quickly. What version are you currently running? What stops you from upgrading and getting the latest and greatest stuff from SAS?

Sunday, 22 April 2012

NOTE: SAS Global Forum 2012 #sasgf12

It's Monday morning; this is where the conference really starts.

Last night we had the opening session with SAS CEO Dr Jim Goodnight running through the now familiar Big Data themes such as minimising movement of data and increasingly sending code to the data. Products and tools such as the new Visual Analyser and PROC HPLOGISTIC (high performance logistics) were used to demonstrate these themes, with Visual Analyser using the LASR server,and HPLOGISTIC using in-database computations.

Tradition ensures that this morning kicks-off with a technical session wherein SAS staff are able to shows attendees under the hood of some of SAS's latest and greatest technologies. An 8am start means an early rise from bed after last night's lively mixer, but it'll be worth it.

It's been an interesting acclimatisation process since I arrived in The Sunshine State on Saturday afternoon. It was raining! I'm pleased to say that the sun has since made an appearance. I'm doubly pleased to see the rain go away because my hotel room is a 10 minute, outdoor walk from the hotel's restaurant and bus stop for transfer to the conference hotel. Yes, I tried to save money by staying at a local hotel rather than the conference hotel. I only have myself to blame, though I have to say that the walk around my hotel's lake each morning and evening is a very pleasant one.

I was hopeful of watching the Bahrain Grand Prix on Sunday, using the BBC iPlayer. Sadly, the BBC knows I'm out of he UK and tells me that iPlayer is not available. Frustrating, and surprising to see adverts on the BBC news pages - we don't get those when back home in Blighty! Anyway, I got my motorsport fix by watching the NASCAR race from Kansas Speedway. I enjoyed the race, and the high energy commentary team.

The lights are dimmed, here we go...

Saturday, 21 April 2012

NOTE: Live-Streaming at SAS Global Forum 2012 #sasgf12

If you can't make it to Orlando for SAS Global Forum 2012, you can view selected sessions live, online at the SAS Global Forum Live site.

Aside from the opening session, the selected sessions will include the SAS Global Forum Technology Connection on Monday, April 23, 9 a.m. ET.

The Technology Connection session is always a SAS Global Forum highlight. Attendees come in their droves to see senior members of SAS R&D demonstrate the latest analytic technologies and solutions that are transforming big data into useful information and better decisions. The fact that the session includes copious demonstrations (rather than slickly prepared slides) makes the session all the more valuable.

Friday, 20 April 2012

NOTE: Looking Ahead to SAS Global Forum 2012 #sasgf12

Tomorrow morning (Saturday) I'll be leaving on a jet plane and heading to Orlando for SAS Global Forum 2012.

There's plenty to look forward to but some of the key interests for me include:

1) A new version of the Metacoda Security Plug-in. I look forward to getting a demo on the Metacoda stand in the exhibition area. The plug-in is a great way to manage, review, audit, troubleshoot and document metadata security

2) SAS's new in-memory data analytics tool: Visual Analytics

3) SAS's new proprietary mobile clients with presentation independent back-end. This effectively supercedes the stop-gap Roambi solution that SAS described at last year's SAS Global Forum

There's sure to be more. I can't wait.

Watch out for my regular posts (and tweets) from the conference.

NOTE: Registration for SAS Professionals Convention 2012 Now Open

Before we've even got SAS Global Forum under our belts, registration for SAS Professionals Convention in Marlow, July 10th to 12th 2012, is open!

At £125 for three days of SAS activities, it's got to be the best value SAS offer you'll see in the UK in 2012. Check out the details by following the link from the SAS Professionals web site.

Day #1 focuses on SAS certification. If you want to demonstrate your SAS skills and knowledge, or provide evidence of the same for others, then certification is your solution.

Day #2 focuses on technical content and includes sessions on analytics, architecture, customer intelligence and the all-new SAS Visual Analytics (in-memory analytics tools). All streams offer high quality speakers but the business intelligence stream is a stand-out, featuring Guy Garrett from Achieve Intelligence and Tricia Aanderud (co-author of the BI Notes blog and the Building Business Intelligence Using SAS book).

Day #3 features SAS Dummy blogster Chris Hemedinger in the morning, and is followed by industry-specific streams in the afternoon.

Combined with social and networking events during the evenings, it's an unmissable event!

Monday, 2 April 2012

NOTE: Explaining Precision

When teaching the SAS PRG3: Advanced Techniques and Efficiencies course, I always start section 2.2 Controlling Data Set Size with a slight amount of trepidation. My minor apprehension is due to the knowledge that the section includes a discussion on numeric precision. I'm confident that I know and understand the material, but I always find it's like explaining the rules of cricket to an overseas visitor!

There's always one or two learners who look at me like they don't believe it's not a SAS bug that "3 * (1/3)" doesn't precisely equal one.

Well, the next time that I teach PRG3 I shall do so with a tad more confidence because I've found a new ally in my battle to persuade my learners that it's a matter of computer science, not a bug in SAS. In Numbers great and small: the problem of Big Datum, Chris Hemedinger & Bill Brideson make a detailed and lucid explanation.

Accompanied by screenshots and plenty of links for reference, Chris & Bill's explanation knocked me for six when I first read it. And, if you're not on top of the rules of cricket, here's a brief explanation:
The Rules of Cricket as Explained to a foreign visitor
You have two sides, one out in the field and one in.
Each man that's in the side that's in, goes out, and when he's out, he comes in and the next man goes in until he's out.
When they are all out the side that's out comes in and the side that's been in goes out and tries to get those coming in out.
Sometimes you get men still in and not out.
When both sides have been in and out including the not-outs, that's the end of the game.
The humorous piece of seeming nonsense above really does describe the game of cricket perfectly.