Saturday, 13 October 2012

A million dollar idea!

Cont' ..... from last blog post.

Having mulled the problem of measuring software development over for a week and having performed extensive literature searches (that's Google and Wikipedia) I think I've got one - a million dollar idea that is!

Maybe I shouldn't tell .... hey ho - won't be the first time.

So the best the extensive research could come up with was essentially you need to define some 'Metrics' that you then monitor, for example;

  1. metric - number of lines of code written - issue, doesn't this just measure the efficiency of the coding team?
  2. metric - number of bug's corrected - issue, same as 1 above?
  3. metric - structured processes in place - issue, is anyone following them?
  4. metric - verification and validation testing - issue, not bad but does it measure progress?
  5. metric - timelines project planning - issue, will you (or maybe you will) plateaux at 90% complete?
  6. metric [for 'agile' development processes such as RAD, DSDM, and other HP (Hackers Paradise;) processes] - small programme elements, and the novel concept of speaking the projects team! - issue - again not bad but am I going to tell you I have a stuck bolt and its going to take me at least a week to  fix it?
  7. etc.
Note to self: must remember the 'agile' terminology for future reference and use on Spreadsheet development projects!


All this is still pretty intangible for the 'manager' who just wants to know if its going OK and will things be finished on time. Not an unreasonable question. So - there must be something better and more user friendly that all this metric stuff (which is useful/essential don't get me wrong). Being software geeks surely there is some software available that does this for you? I've not come across anything more than app's that mechanise the above 'metrics' which is not the right answer in my view.

So I started thinking about how a civil engineering project goes about doing this - not that I am a civil engineer - but that's the point! Say the project was construction of a house, even I could walk along to the site and have a look. Is it still a hole in the ground, have the foundations been put in place is the roof on? These are all tangible milestones that can be viewed by anyone. You could look at the project plan and progress charts, measure time on the job, ensure the contractor has processes in place for delivery - all metrics like the software ones. However, there is no substitute for going and having a look at the site! So what is the software equivalent of 'viewing the site' then?

Taking the civil engineering analogy a step further, and probably stretching it a bit. Could we not present things a little differently, say;

  • hole in the ground - SW equivalent,  project plan and development team in place,
  • foundations in place - SW equivalent, detailed design completed,
  • topping out - party time - SW equivalent, major functional components completed and VnV'd,
  • final fitout - all input output routines completed.
  • etc

what would then be needed is a slick piece of software that puts this into some 'house build' type view of the project. The metrics will then be linked to something more tangible, something that anyone can understand. If you don't have the roof on, for example, then you could have major delays if the main functional requirements have not been coded. There is no point in fiddling about with the fitout if the roof still needs completing (critical path analogy).

Et voila - you have a visualisation that anyone can view and understand.

Well something like that anyway. Now, where do I collect my money .....






Sunday, 7 October 2012

Invisibility cloak.

I have been hit with a couple of software development questions this week. Given what has happened with the West Coast Main Line franchise rebid I am even more concerned about the level of development and checking processes within software related projects. Is software quality being compromised due to the current climate of quick turnaround on jobs and the need to keep costs to a bare minimum?

The West Coast issue seems to be related to spreadsheet use - of which past posts give my view on that so I won't bang on about those any more here. However, this week, a couple of other queries have also raised alarm bells, and these are related to main stream software projects on critical infrastructures!

Both questions were effectively related to how can clients assure themselves that the right level of progress is being made with complex software development. One issue was around ensuring the right level of reliability of a particular code and the other was around assurances to meet delivery timescales.

How do you measure software development 'progress' in a consistent manner? Particularly with the variety of development methods that can be called up, for example, a list taken from Wikipedia states;

"..., the software development methodology is an approach used by organizations and project teams to apply the software development methodology framework (noun). Specific software development methodologies (verb) include:
1970s
1980s
1990s
Or some homemade variant thereof!"

So - just how do you visualise progress on a software development activity? Using verification and validation monitoring, ensuring timelined activities, timesheets of developers or a variety of other metrics? So many processes with so many variations of 'progress'.

to be continued.....



Friday, 28 September 2012

Another world opens up!

Just when I thought I was doing really well having built a web site with Google's sites application - see https://sites.google.com/site/oldbam/. One of my trusted advisor's introduced me to Drupal. Having just returned from Brussels it sounded an bit like a Belgian beer so had to be tried out. This is professional web site development made easy - and open source - i.e. free - which is critical to getting a high score on my marking scheme.

Check out the link to the Drupal site http://drupal.org/.

Its a little bit more involved than Google site building - though Google also hosts your site for you - free - which is another major plus - but the URL you get assigned isn't so memorable. I don't really care about such niceties though.

Sitting with someone who knew what they were doing Drupal enabled the building of a brand new professionally looking site in literally a couple of hours.

I believed you had to be crashing out HTML for months to get a site up and running. Technology, who'd have thought it!


Saturday, 22 September 2012

Speed test.

Spent this week at the Innotrans premier rail conference in Berlin, which has meant limited time for any extra-curricula computing nerdery but I did test something which turned out to be a bit of a shock.

Some of the stands at this event were works of art - and some were almost the size of small towns, complete with coffee shop, bar, bleacher seating and live entertainment. God knows how much these things cost but they are well received by the attendee's. Anyway a thought came to me while wandering around - there should be a competition for the best stand. To the best of my knowledge there wasn't an official one organised - would probably be far to much effort and just end up cheesing off some stand owners. So I thought I would do my own and try and record it using my new found social media tool set!

Before I go any further I must point out that this survey was NOT scientific in ANY way - entrants were selected simple along my timeline through the event and purely based on my personal 'gut' reaction at the time of passing the stand.

So the plan was, to photograph stands as I wandered around, then select a stand for an award base upon what I had come across. Photo's and award were then Tweeted to #innotrans and then later Storified into an award ceremony in a Storify story! The whole process probably only took me say 5 minutes per award to manage. The compiled and 'published' award ceremony can be fond on the following link;

http://storify.com/grandwizz/innotrans-2012-awards

Well the strange thing was that I started off doing this as a bit of fun and to see if I could generate some 'e-traffic'. Fortunately I kept the awards 'sensible' and 'clean'  - could have taken a completely different route for some of the stands if I had been so inclined believe you me.

Anyway, the 'award ceremony' was carried out on the last day with me Tweeting the final winners and then the link to the Storify site. All done from the Innotrans business lounge - fitting for an award ceremony I thought (what a great place - free wifi and all that). The shocking thing was that within seconds the story had been re-tweeted by @EURAILmag, @OfficialHitachi, @thalesgroup and @LR_Rail to over 6000 potential readers! Only slight panic set in  - until very positive comments came back - phew!

Quite a buzz!

Friday, 14 September 2012

Revelation.....

OK so I've not taken the time to check out some of the web programming tools so far. Too busy trying to get back into the swing or real computing! But got a flea in the ear from one of my trusted advisor's - the Lancaster computing one - and was 'advised' to check out a site called http://www.w3schools.com/ as I was asking some dumb questions on web page design.

Anyway - I did just that one spare lunchtime - what a revelation!

HTML looks just like the old WordStar editor I used to use. Shock, horror, a scripting language Ctrl-B and all that. Well at least I could see myself getting my head around the simple formatting elements of the language. Nothing new under the Sun eh?

So now the situation is 'Cloud computing' looks a lot like an old mainframe setup and HTML turns out to be an old editor. There is hope yet for us ancients!

The w3schools site is pretty useful for all those questions you wanted to ask about the multitude of languages but couldn't be bothered, I'm sure to be using it again!


Saturday, 8 September 2012

Information overload ....

This week has been more of a maintenance and upgrade week on the revival path. I am advancing to next level on the computing and social networking fronts.

On the networking front I have discovered Tweetdeck - why didn't someone tell me about this before! This is the dashboard of dashboards that blows your mind with all the information that can be displayed. No doubt our Human Factors team would tell me off for my set-up  - cognitive block and all that. But wow it definitely gives you the feel that you are looking into the networks you have set up. Its also free!!

On the serious computing front I have re-energised the ROBFIT GitHub repo by uploading the next routine BREAD.FOR that is used for reading the raw data - so not that stunning but essential! I have also discovered that you can link GitHub to your LinkedIn profile. LinkedIn is becoming more useful by the day at this rate - could well become the spoke at the centre of all my various meanderings across the web.

Data dump - information reset ....


Friday, 31 August 2012

Communication breakdown.

Progress on the swimming waveform analysis front is grinding to a halt as communication between the various team members has become difficult. A combination of time zone differences (12 hours between the 'thought leader' and the 'development team'), recovery from jet lag and unfamiliarity with the code sharing site have all contributed to the situation.

How best to get a grip on things again?

The main issue has been the way development has had to be carried out using a 'rapid prototyping' approach. Essentially get something up and running and review what it looks like then tweak (sometimes TWEAK) then review then tweak again ..... continue ..... until right answer. Which all worked fine when all parties were together in one place. However, now the review and development cycle has become protracted  the 'thought leader' is struggling seeing the code run and the 'development team' is wondering what happens next.

If you read the text on this software engineering practice everything works seamlessly and Bob's your aunt you end up with the perfect code (sorry 'app' - fully documented too!). We are attempting to use an approved approach that will keep us out of the hacking arena. However, what its not doing is helping much on progressing around the development cycles or on homing in of the final solution. You could end up going round and round and round and round ...... just another variation please.

What we need is a means of facilitating the capture of emerging requirements and or questions from the 'thought leader' that the 'development team' can then work on and reply to. Done in a simple and visible way so that all parties can immediately understand the level of progress, identify any issues, and know who is in the seat for resolving them. Progress around the cycle can then be maintained - hopefully.

Just need to get everyone using Trello properly now then ..... ;)