Archive for the ‘quality’ Category

10,000 hours to be an expert

Sunday, 23rd March, 2008

I was reading somewhere to do with sports of a known phenomenon that it takes 10,000 hours of practice to achieve expert status in an activity.

The suggestion was those kids covering that many hours in football would almost certainly be excellent. In part time activity that’s about 10 years, which may explain why we have some superb players around 17. (club football tends to start around 7 in the UK)

In full time its about 5 years, which is why those with that level of experience of a product or business process are often considered gurus. Of course if your area changes fundamentally every couple of years, then its not going to be possible to achieve guru status in any current product.

There is another side to this that I first read in Code Complete - do you have 5 years experience, or 1 years experience 5 times? ie the progress you make depends how you invest your 10,000 hours.

And of course there is also the oft repeated phrase - practice makes perfect, but only perfect practice. Having watched tons of people practice and practice crappy ski technique, I am never surprised to see hundreds of skiers who have mastered the art of skiing badly. They have created a glass ceiling for themselves, that they will struggle to get through. Decent advanced training can fix this, but few intermediates take further training - taking misplaced pride in being self taught, just like many spreadsheeters?

Maybe people who code procedurally do the same thing? they will struggle to ‘move to the next level’ of object oriented coding? I’m not convinced thats valid as OO is often overkill, especially for spreadsheet based stuff.

What do you think?

Have you got 10,000 hours/5 years in? do you feel like an expert?

cheers

Simon

Browser wars

Monday, 17th March, 2008

Did the browser wars kill VB?

I’m only asking as years ago (say 1999) it was fine to build intranets using VB script on the client, because you could assume they would be using IE.

I don’t hear so much of that now, it used to be ‘VB everywhere’, now it seems to be Javascript most places and C# where possible.

I’m wondering if the reduction in love for the VB family coincided with IE haemorrhaging market share to Firefox? (Ff marketshare is almost 30% in Europe, and gaining, fast).

Maybe VB fell out of favour a bit before?

Or maybe you don’t think it has?

Eusprig topic suggestions

Tuesday, 11th March, 2008

I wasn’t planning on submitting a paper for consideration at this years Eusprig. But now I’m thinking I should. The deadline is looming however and I havent really got an obvious topic, thats where you come in…

The conf title is ‘in pursuit of spreadsheet excellence’ and papers need to relate to that somehow.

Last year we did spreadsheet hell, covering some of the cultural issues around corporate spreadsheet use.

The year before I did the process I use for reviewing client spreadsheets

The year before that I did some of the strengths and weakness of spreadsheets compared to other technologies.

[one possible one is User defined functions in XLM or something similar around function definitions]

So my question is, is there a topic you think I should cover, or that we should cover as a group?

Many of the Eusprig prior papers have been archived on-line here.

Please leave any suggested topic areas as comments, thx

(anything that incorporates my new logo suggestion is especially welcome!)

cheers

Simon

more ribbon fun

Monday, 10th March, 2008

Got an ‘anonymous’ tip off about this excellent article here.

The author is a well known and respected quant who has contributed some excellent xll stuff to the community. He comes to a similar view on the ribbon as many of us, but raises some interesting points along the way.

The most interesting one, and one that hadn’t fully occurred to me is the impact of alienating power users. I had wondered if power users had the power to sway purchase decisions, and the general view seemed to be that the people in power in most orgs were probably not spreadsheet gurus (but they might listen to them). So direct influence = no, indirect = maybe.

I had missed the ‘role model’ aspect. He uses the example of Photoshop with pro photographers. Adobe clearly gain some non pro sales from folks wanting to emulate the experts, and the fact that most magazine articles demo Photoshop helps too.

I’m not sure the spreadsheet market is quite so competitive, but it is becoming more so. What I mean here is that Windows machines come with a basic graphic editor (Paint), but no basic spreadsheet. But Open Office and the Google offerings are starting to gain momentum…

As a power user (’role model’?) I’d prefer to invest in learning the products that respect that investment. This has to be balanced with progress/improvements of course. Microsoft seem to be aiming somewhere different to me in this regard but then rapid obsolescence is the basis of their business model I guess. I don’t think that is conducive to a vibrant expert community, or expert consulting business models though.

A boost in on-line resources targeting OOo Calc could quickly undermine the Excel ecosystem I reckon. And the power users/role models, those that the interface shuffle hurts the most, are the providers of much of that ecosystem.

BTW my main ribbon objection is shuffling the commands, (and what that represents in the big picture) all the other stuff I would live with. It is after all just a fat clumsy toolbar.

And those of us who were on the beta program will no doubt recall the impact of the ribbon and the response it got, although I guess thats all covered by NDA?

I remain to be convinced that Office 2007 is booming sales-wise, if it were, there would be proper hard facts to back it up. If anyone has links please leave as comments, ta.

cya

Simon

Function structure

Wednesday, 5th March, 2008

Its quite common to require opposite pairs of functionality. Things like show/hide, or hide/unhide, or protect/unprotect, register/unregister, load/unload… you get the idea.

There are 2 basic approaches to this:

  1. have 1 function that takes a true/false parameter to tell it to do or undo the action
  2. have 2 clearly named functions whose names are good opposites, as above.

Which do you prefer?

I personally prefer the 2nd (I think) and I would say thats usually the way we interact with COM object models. I notice a lot of C code and Win API stuff uses the first though, so I thought about it a bit more.

I think the second (2 separate methods) is probably easier to understand, but on reflection the first is maybe more powerful. Or at least allows more concise code.

compare:

if msgb = vbyes then
menu.show
else
menu.hide
end if

to the more concise

menu.show(msgb = vbyes)

I guess the hard bit is getting a method name that makes sense with a true false parameter. Maybe a property gives the best of both worlds?

menu.visible = (msgb = vbyes)

What do you prefer? in your own code? in working with others (eg libraries)?

cheers

Simon

VBAIDE refresh in Office14

Tuesday, 4th March, 2008

If ‘VBA is forever’ and MS are ‘fully committed to it for the foreseeable future’.

And bearing in the mind the IDE has not been touched in 10 years (10 years FFS - what were you doing 10 years ago?). (I am not counting getting the mousewheel to work in 2007 - sorry)

What improvements can we expect in Office 14? Or more realistically, what improvements would you like to see?

Here is mine:

  1. Please please please - no dumbassed ribbon
  2. Please - no breaking VBA ‘improvements’ (parameterised constructors would be ok)
  3. Please - no unrealistic deployment requirements.
  4. code snippets
  5. Procedures in the project explorer
  6. Tabbed editor
  7. Perhaps a VSTA style editor, but writing proper VBA.
  8. window docking that is controllable

Of course it will continue to be challenging for us devs to believe MS has any commitment to VBA if the IDE is left to stagnate.

What would you like to see?

Do you think there will be any useful changes whatsoever?

cheers

Simon

Why VBA is so rubbish

Tuesday, 4th March, 2008

The last VBA post may have given the impression I’m some kind of VBA fanboi. I think it has its place, but it’s far from perfect. I put my definition in that post so I wont repeat it here.

I think its important to keep in context of what is out there live in the real world now, so I’m not going to suggest another language is better. In pure terms python (or your personal favourite language) maybe a better language for users to do basic automation etc. The reality is there is a lot of VBA code around, and more gets written everyday. I think the language would benefit from a few modern features, perhaps to support OO more fully, but not at the cost of backwards compatibility.

I’m also going to skirt around the issue of user competence. You get crappy code in every language, some languages may encourage it more, or may be more attractive, or more accessible, to developers of limited skill and experience.

It has been suggested that giving something as powerful as Excel/VBA to an unskilled user is the equivalent of giving a loaded rifle to a child. The reality, I would suggest, is a little less dramatic, as far as I know, no one has ever been killed by a poor quality spreadsheet, and very few companies have gone bust because of one. Yes SocGen just lost a stack of cash, but a person did that by trading badly, not a spreadsheet.

VBAs biggest fault?

I’d say its too easy to go beyond its design envelope.

For simple automating Excel and standalone complex worksheet functions (eg: the stuff Mike talks about) I think it is great. Its easy to slip from there to 10/12/14 KLOC systems, at which point I think VBA can work against you.

The other side to that argument is perhaps there is no realistic migration path, or no realistic alternative. That may or may not be true, but either way is not a fault of VBA.

Second - The editor. Frankly its so arcane I think Integrated Development Environment is a bit rich. If this just got updated to the VB6 one (which has more visible object model) add-in devs would fix everything else. Ideally though I’d like a VSTA style editor that writes proper VBA, or something completely compatible, in Excel 14.

That would also fix my third biggest fault - Microsofts lack of public love for VBA. Many devs are worried about its future, and hollow verbal assurances don’t cut it. A significant investment in upgrading the IDE, or replacing it with the VSTA one would settle the uncertainties for many.

Speeding up the call interface would be excellent too. As would allowing VBA UDFs to participate in multi-threaded calculation.

VBA’s reputation as a meddlers monster creation system (/toy language) hardly makes it the sort of thing you want to own up to at a party. The political correctness bureau solution to that is the change the name (eg ‘disabled’ went to ‘people with disabilities’ now moving to ‘differently abled people’) in general the ‘name’ gets longer as they use more circuitous language. So perhaps renaming VBA to something like AAS (Application Automation System) would fix any stigma? (of course it would have to be MAAS or MOCAAS (Microsoft Office Client AAS)). You get the idea.

Any other suggestions? the ruder the better.

What would be your top 2 or 3 weaknesses of VBA?

cheers

Simon

Ribbon positions

Monday, 3rd March, 2008

In all the ribbon discussions I have seen there seems to be 3 possible positions.

  1. Overall it was a bad move - the cons out weigh the pros
  2. Overall its was good, adds useful functionality without taking away anything important
  3. The ‘it happened get over it’ crowd.

Obviously I am in the first group, but I completely respect those that hold the second view. I think this comes down to personal priorities. Its a fact of development that there is a broad range of customers with a broad range of requirements. Its no surprise what works for one won’t for another.

The third group though, state the obvious and add nothing to the debate. Its not a problem to not care about a discussion, there are plenty of debates going on that I don’t care about. I just don’t bother joining in where I’m not bothered.

This third group seem to have limited options themselves and are perhaps unaware of options that are available. For example I am considering the option of moving more into Excel to OpenOffice Calc conversions because I think the ribbon is boosting that market. Others have moved into the ribbon replacement UI business for example. I’m also thinking about some more web-centric stuff too.

I do think its worth discussing the ribbon and the breaking UI changes MS are introducing throughout their products. Microsoft are listening and given enough encouragement could (possibly, maybe) be persuaded to change course.

Those who are less familiar with Microsoft may see it as a single entity with a single point of view. In fact like many organisations Microsoft is made up of people, and those people often have different points of view. There are people within the Office team that think a compatibility mode would have been a good thing. Just as there are people who are convinced the ribbon is the ‘one true way’.

They are currently part way through developing Office 14, if the community kick off enough, and if the ribbon can be blamed for weak sales, who knows what delights might await us in O14? I’m not holding my breath of course, neither am I sitting back.

I don’t think MS could back down and re-introduce commandbars. But they could open the object model back up for us devs to put them back. (In a no loss of face stylee).

Of course the fact that there is already a booming market in ribbon replacement UIs for Office should be cause for some rational thinking at MSO HQ.

cheers

Simon

Boom!

Monday, 3rd March, 2008

Thats the sound of me getting blown out on a bid for work I just did.

It was a small project - just a few days work. But it was Office 2007. I have never made it over the UI barrier that everyone including Microsoft accepts is there for experienced users. I’ve had no need, all my fee paying clients till now have been on 97-03.

Most people are suggesting several weeks of reduced productivity in moving to 2007, and I havent seen any non-MS sponsored reports of improved productivity after, but thats by the by. This post isn’t about the ribbon its about the business of the ribbon.

I estimated an additional day because this project was 07 rather than 03. Who should pay that? Me or the client? I costed in half of it. (and didn’t get the job)

You could argue I should pay to learn the new UI as an investment in my future consulting business. Thats totally valid, but the ribbon is not one of my current investment targets, I am investing in other areas.

You could argue the client should pay, they insist on using 07, so its a cost of their platform choice. I think thats valid too, but possibly an easier sell on a larger project.

Personally I think Microsoft should fund the training - they forced the UI on us disregarding the massive opposition. They also ignored the many requests for a compatible UI option. They chose not to default it to something a current user would recognise. They stand to benefit from an updated ecosystem to support their latest products.

So is it Microsofts fault I didn’t get the work? no of course not. I have prioritised my learning investments and the 2007 UI has not made it to the top of the list yet.

I’d prefer my free course somewhere warm and sunny please MS, the weather is dreadful here.

Ribbon - who should pay?

cheers

Simon

In Pursuit of Spreadsheet Excellence

Thursday, 28th February, 2008

The 2008 Eusprig conference is coming up in July. There is a current call for papers, the deadline for which is the end of March. Full info here.

If you are wondering about submitting a paper, but aren’t sure, feel free to email me for an informal chat. I’m nothing to do with paper selection, but I’ll happily discuss my experiences as a speaker.

Personally I think a few more papers from people who earn their living working with spreadsheets, talking about real world quality would be very welcome.

wtf is ‘Spreadsheet excellence’ anyway?

I reckon its the skilled application of suitable quality spreadsheet based components to appropriate issues, and the effective management of their lifecycle.

What does it mean to you?