Agile Academy Meetup: Usability & Clouds

MeetupAgile AcademyThe Agile Academy runs a quarterly meetup in Brisbane and held a meetup this week on usability, whilst their meetup in November was on Cloud Computing. Here is my wrapup:

Agile Is From Mars, Usability Is From Venus

  • lots of good agile usability discussion started by Jeff Patton on the agile-usability group
  • cobbled together design forces usability not to have the incremental design it needs
  • coding is creative, the only thing mechanical is compiling
  • be a tribe leader and collaborate, suggested reading is Tribes by Seth Godin. Teale recognised by her managers for her leadership for getting out there and posting to the internal Yammer site
  • goal directed design, focus on the goals of the user – design applications in terms of needs and goals and underlying motivations, so when the transport or technology changes, the design work is still relevant
  • poetpainter.com (Stephen Anderson, Interaction Designer) – who are we designing for and what are we designing for, fundamentals of experience design (http://www.poetpainter.com/thoughts/category/Models–Frameworks/)
  • get into the head of users with user needs – motivation keywords to articulate user needs – increase positive aspects, maintaining status quo and decrease negative aspects – flopped as a workshop but worked wonders as a survey (and surprised the business as to the candid responses from the users)
  • user goals – who I want to be (life goals), what I want to do (end goals) and how I want to feel (experience goals)
  • use success sliders to understand how important the project team view usability
  • personas – need to have understanding of users and need to do impact analysis
  • storyboards do not need to be neat, just a rough drawing to determine if you are hitting the mark
  • put the name of the persona in the storycard (not just the role) such as: As a [role of user] [name of persona]…
  • use MOSCOW (Must, Should, Could, Won’t) for prioritisation
  • 960 grid system – consistent framework for screen design
  • parallel track system – designers one iteration ahead of developers and business two iterations ahead of developers
  • the featuritis curve – more features you add, the harder it is use
  • 5 second usability test – realise that the middle part of the page is the most important part of the page, helps business understand where to put content – see http://fivesecondtest.com for example, but Teale creates her own with PowerPoint
  • for more on usability testing read the Handbook of Usability Testing or use TechSmith Morae (but this is very expensive)

From the question and answer session:

  • hard to manage parallel development two iterations ahead because stories always change, Marina Chiovetti added that research suggests this only works for a maximum one or two week sprints/iterations whilst Phil Abernathy suggested that the use of usability frames means that screens are being tested with the users upfront
  • Tealse does not use wireframing tools but rather does these in a workshop by hand. She only uses Adobe Photoshop when needed. Someone suggested that Adobe Fireworks is also a good tool and has templates on 960 Grid System
  • PAC analysis – People, Activities, Context

Agile, Lean & Green IT Come Together

Gavin Keeley presented at the Agile Academy November 2009 Meetup:

  • President Obama mentioned green as much as the global financial crisis in his innauguration speech
  • commerical use of IT is responsible for 2% of CO2  emissions, larger than the airline industry
  • of all PCs in use, only 6% of capacity is utilised
  • power is the biggest issue for data centre managers – can’t get enough off the grid
  • Suggested reading: Green To Gold by Esty & Winston
  • Amazon is the poster child for cloud computing, issues with latency in Australia thoughcloud – getting capacity just before you need it
  • agiles final frontier – how do we get colleagues in infrastructure on the journey with application developers
  • VMware at Virtualization Forum 2009 – View, vSphere, vCloud, vApps (what was Spring) – 85% market share
  • Microsoft Windows Server 2008 Hyper-V also on the bandwagon
  • Xen – open source virtualisation technology – Oracle only allowing certification on Xen
  • latest buzzword – the software mainframe – that’s restrictive, how about the software data centre
  • 3tera doing interesting things in the grid space

JIRA 4 Partner Hosted Seminar

In November, Steve Dalton and I hosted a partner seminar for the launch of JIRA 4.0. Steve’s company Refactor is an Atlassian partner and I attended on behalf of the Agile Academy who sponsored the room at Brisbane Square. Atlassian provided a JIRA t-shirt for all of the attendees.

Steve kicked off with an overview of JIRA and a demo of the the new Open Social dashboard as well as the new JQL functionality.

I then gave a demo of JIRA and GreenHopper 4.0, and its usage at Suncorp. Some of the topics I covered included:

  • overview of other new Jira functionality, such as activity streams, the new menu system and the ability to create a new issue on the right hand side of the Find Issues screen
  • GreenHopper is a plugin
  • remember the difference between radiators and refridgerators when evaluating tools
  • Suncorp chose JIRA due to cost and already in use
  • housekeeping – GreenHopper administration (global and local), custom fields (story points, epics), performance
  • planning board – versions and components, new epic functionality, synchronisation, release, drag and drop functionality, statistics, print cards, user preferences and contexts, new card button, new wiki rendering
  • task board – setup, workflows, new Kanban functionality, storypoints, double click cards, subtasks
  • chart board / release board – reliance on statistics and GreenHopper functionality
  • cross project burn down and the new agile gadget

There is no video of the event, although I feel the JIRA 4 webinar covers much of the functionality we discussed quite nicely.

Dave Thomas on Maximum Software Productivity – Breaking The Rules!

Dave Thomas paid a visit to Brisbane to present his talk Maximum Software Productivity – Breaking The Rules! at the Microsoft office at Waterfront Place. He set the scene by suggesting the last time he gave this talk he was innundated with hate mail from agilista and objectas! Dave promised the slides would be posted, but I have not been able to locate them if they have. Here are my notes from the session:

  • tired of need to get agile and need to get objects – both good, but got nothing from it, where is the value?
  • objects good, agile good, but are we any better off?
  • most software late, bloated, poor to maintain
  • business does not define requirements well, don’t engage or talk to the customers (NEHITO visits – “Nothing Ever Happens In The Office”), insist on the industry norms because that is what everybody else is using
  • storypoints – training wheels for people who don’t know how to estimate
  • IT does not estimate well, do not build continuously or automatically test (need to be prepared to write a big cheque), also fixed in technology
  • if not ready to do TDD, just stop! Scrum will only make you feel good
  • need to change the rules to be competitive
  • living in legacy due to OO mud ball – legacy is code where there is no tests (see Brian Foote – Big Ball Of Mud)
  • objects too hard for normal people, first thing to be voted off the island should be Hibernate, objects don’t work for lots of things (queries, rules, transformations, etc…)
  • 80% of objects are CRUD – no objects except for the junk in the middle – just data, no simulations or data model – taking a solution and making it complicated and slowing it down
  • frameworks – so many to choose from, new versions, latest things, lots of dependencies
  • dependency injection is proof of how much we have screwed up objects
  • object libraries are unstable and languages are complex (attributes, generics, concurrency)
  • very few people use interfaces properly and keep them stable release to release
  • little reuse – promise not a reality
  • serialization carries all of the baggage of the objects contained within
  • objects suck up performance and memory – bulky and computationally expensive
  • objects cumbersome and slow for multi-core processors to run efficiently
  • objects are sequential and parallel
  • Java application will be 4 to 5 times slower than PHP, because objects are slower
  • can we shorten software value chain – shorter, faster, cheaper – Facebook built in PHP but the money rolls in
  • agile shows predictability and productivity but zip about quality
  • agility is good, but in Java it is very difficult to change the code quickly
  • scrum increases morale (everybody feels better), but makes no difference to quality unless doing TDD
  • lean thinking – software waste – if not prepared to spend $2 million to do continuous integration and TDD then they are not serious about their software output and quality
  • don’t go to meetings unless it is increasing the bottom line – will it help ship code?
  • how to make zero defect code? Don’t ship anything!
  • lean – simple – why am I doing this? – do we need a new framework? – NO!
  • staff a team with people who have shipped software (have a track record)
  • fix price your consultants and enforce that they make delivery with acceptance tests – pay when they pass
  • reward people on delivery, not how long they work
  • tangible requirements – story on the front, acceptance criteria on the back, start with acceptance tests, they are more valuable
  • envisioning – what the developer sees is not what the customer wants
  • agile great for prototyping – building small requirements on the fly
  • a backlog filled with lumpy requirements will burn out designers and product owners – original Scrum paper said sprint 0 should be 3 months – envisioning
  • architects – not a job, a role – should be able to code
  • some companies pay senior developers same as VP
  • extreme design – four hours to design software and hardware and cost it – after a few, you can get close and find out quickly what you don’t understand
  • serious engineering needs design
  • API first – design the architecture, should always be able to get architecture from the code (push a button)
  • need API’s versioned in the code
  • want to close gap between needs and solution
  • a picture is 1,000 words, a table 200 and a diagram 50
  • table driven programming – easily understood, easy to refactor, easy to consistency check (look for missing data), easy to version and diff (just data), data driven can be changed live in a running instance
  • integration – talk to old systems use RSS/ATOM feed (almost all old systems will give a feed for each transation) then you can talk it without custom api’s, REST/JSON your services or use ODBC as a simple interface (its not just for databases), use mashup tools to deliver an integrated application view
  • use scripts to save time & dollars – most software gets thrown way even before turned on, C# and Java too heavyweight, Ruby, Python, PHP, Groovy, Clojure, can easily leverage cloud services and existing services
  • productive languages – LINQ and Reactive LINQ (Haskell underneath), Erlang (good for swicthing and moving traffic, highly efficient), F#, Ruby, Scala (a better Java), Kleisli (bioinformatics), Clojure
  • Everybody should read “The Wizard Book”, Structure and Interpretation of Computer Programs by Abelson, Sussman, and Sussman
  • hardware is cheap, cloud is cheaper – all interesting data is in memory, databases are just journals and don’t really exist, Google does everything by brute force search (eg. translation), speed now means complicated stuff can be done easier and cheaper
  • data driven – massive storage means we can store it all very cheaply, run smart algorithms to determine best value customers because we have all of the data, recommendation engines (NetFlix), Net Promoter, complex event processing (open intelligence), real time financials (no end of month financials, know state of company all of the time)
  • query oriented programming (QOP), Greenplum, Q, Aleri (basically extended SQL dialects with functions) and other functional languages
  • array VM’s – better than object VM’s – always boxed, simpler garbage collection, support all data types (array of stuff is an array of stuff), VM can be small (just an interpreter), arrays are column stores already and trivially serialised, take less space and programs concise and compact
  • best practices for functional programming – agile , refactoring tools, FindBugs / Lint
  • challenges for functional programming – get out of math phobia, different way of thinking, need to write literate and understandable code, think in functions
  • yesterday and tomorrow is always wrong – if you get more bang for buck and competitive advantage, why use existing technologies, if you believe IT is strategic you need to do something strategic with it and dare to be different
  • lost of old things work, lots of new things work well, get out of agile and OO box

Barcamp Brisbane IV Wrapup

Barcamp BrisbaneLast weekend I got along to Barcamp Brisbane IV (held at the East Brisbane Bowls Club), and once again it was a worthwhile meetup of locals willing to share their skills with others.

From the lightning talks that I attended:

Speed Networking

One minute to introduce yourself to someone you don’t know. Worked well, although I knew more people this time around (after last BarCamp and other meetups).

Search Engine Optimisation (SEO)

Michael Smale led this discussion on SEO (unfortunately it started a little late and lost a bunch of attendees, including myself, at the end due to a Google Wave presentation following it!). My notes from the session:

  • SEO is optimising for Google (& Yahoo!)
  • 9 out of 10 people search for content, very few click the sponsored search
  • keywords – on page (to help Google index) and off page
  • stem analysis – trunk and branches (eg. golf and balls, clubs, shoes) then leaves (buy golf shoes and Brisbane) – before SEO, find out what target audience is looking for
  • tools to analyse keywords – Google Adwords Keyword Tool (slightly out of date, monthly), worldwide but narrowed down to regions
  • to know backlinks, etc – Traffic Travis, Market Samurai (free and paid version)
  • not your trunk and branches, but for your leaves you may want to buy keywords, you can optimise different landing pages (separate URL but not a duplicate of pages as Google will drop prioritisation)
  • car rental very competitive for SEO
  • Google Trends for search – can see if things are trending up and down or compare
  • on page optimisation – Firebug for Firefox – drill down and inspect code, JavaScript debugger
  • YSlow – tell you how page is loaded and report on how to optimise page loading
  • each page needs to be optimised with its own title – what’s in the title is what the link on Google says
  • meta description after link is the blurb on Google – not visible to users on site, Firebug will help you see competitors meta tags are, but will not get you up in the ranking
  • meta keywords – does not mean anything anymore
  • care about content on site using LSI (Latent Semantic Index)
  • link text important, add href no follow so Google will ignore

Google Wave

Paul O’Keeffe and Steve Dalton led a live demonstration of Google Wave.

  • collaborative tool, still in preview, crashes, interface still weak
  • proliferated from developers in Google sandpit, only give 8 invites to each user
  • a wave is a single collaboration / conversation
  • has Gmail feel, add and save searches, folders, etc…
  • have a wave inbox
  • with:public – see any waves that are public
  • search with:public gardening
  • new wave by default is not public, add public@a.gwave.com
  • to start, drag contact in, give wave a name
  • drag and drop seems to depend on Google Gears, works out of box with Chrome
  • bots and plugins eg. pirate speak or add a Google Map / Twitter in
  • open source version of Chrome – Chromium
  • Sweepy bot – remove the empty conversations
  • can mute conversation and replay, has version control so you can see how it was and then fork it off

Business Structures

Malcolm Burrows from Rostron Caryle gave this presentation. I hope the slides are made available, as this was a large topic for a 20 minute slot. These are my notes but should not be relied upon an advice or for accuracy!

  • sole trader – liable for own debts, etc, house on the line, no protection freom risks, okay if you have little risk
  • partnership – not sure why anybody would do this now, agreement and governed by those terms, in Queensland partners are liable for acts of the other, everything has to be tailored, risks
  • company structure Pty Ltd – level of risk reduction such as corporate veil, shareholders only liable for the capital put in as long as you don’t do stupid stuff like trading insolvent, as directors do not profit from position of power, need to disclose, 12/20 rule can’t make more than 20 offers in 12 month period, no more than 50 shareholders, replaceable rules (eg. regulate by ASIC or regulate yourself in your constitution)
  • company structures – Limited – Public – all of baggage of public company without the good stuff, horrible!
  • trust – discretionary and unit
  • joint ventures – used a lot in mining, in IT where people agree to do stuff, like a trust is a feature of contract, rights of joint ventures can get very long
  • income distribution structure and IP protection structures
  • options for IP – spin out trading company, spin out company owned by trusts, spin out company licences another

Smile! Say Cheese!

DJ Paine from Studio Promise dropped by, and offered attendees a free portrait, which I certainly took advantage of. Just wished I had of known, and I would have had a shave and worn a nicer shirt!

All of the shots from the day are here and if you need professional photography, support those that support BarCamp!

Symphony – Open Source Content Management

Allen Chang and Alisair Kearney led this session on Symphony:

  • originally called TypeWorks
  • 2.0.6 out now, 2.1 on the way
  • uses XML as data format, output format standards compliant
  • Drupal and Joomla! cores are huge, they wanted a small footprint and control over data structure
  • use XSLT to transform XML to any format you like (eg. HTML, CSV, JSON, etc..)
  • native intergration REST API for Twitter, RSS, etc…)
  • uses open standard templating language, as per all CMS systems
  • a number of data sources for which you can apply rules
  • around 8,000 members, 10% of these contribute
  • users include Australian Museum of Democracy, Heineken and City of Westminster (London) amongst many others
  • ensemble – fully functional website package, Symphony itself is an ensemble

Agile Overview – The Three T’s

It occurred to me in the speed networking session that a number of attendees did not know what this agile hype was about, so I decided to on short notice to propose the talk I gave at Agile Australia 2009 to try and give that overview. Not sure if I succeeded, but got some questions afterwards nonetheless.

Had to laugh at one of the tweets from @funkygorilla (Simon Griffiths): “Agile web development in a 10 min presentation. That’s agile!”

Overview of Agile 2009 / Agile Australia 2009 / AAFTT Workshop

A couple of people decided they wanted to chat about some of the learnings and trends from the conferences I had recently, so a couple of us sat around and chatted about agile testing mainly.

New Hotness

Greg Luck led this discussion as he mentioned to me he came to Barcamp to hear about the new hotness. He has written the notes, but here were the notes I was taking at the discussion:

Wrapup

Paul and Steve reminded everybody about the Queensland Legion of Tech and Greg Luck announced the inaugural Brisbane Jelly (adhoc working together at a location)

Brisbane Scrum User Group: Agile Tool Hacking – Taking Your Agile Development To The Next Level

Brisbane Scrum User GroupI volunteered to give the Agile Tool Hacking talk from Agile 2009 to the Brisbane Scrum User Group. The slides are available on SlideShare. I also understand there may have been videoed but have not seen it posted anywhere at this stage.

Feedback from some of the attendees was very positive, thanks everybody for your kind comments!

  • “ A fantastic talk by Craig Smith of Suncorp, and a great bunch of guys. ”
  • “ Great session on the subject and very comprehensive ”
  • “ It was a good talk, giving people a range of different tools and understanding of what goes to make up good practice. Obviously it had to be quick and Craig managed to fit this in as best he could. Would love to have a retro on this talk at the next meet ”
  • “ The presentation was excellent. It was useful for ones with minimal knowledge on Scrum or Agile or the Scrum Masters. ”
  • “Craig offered a great deal of useful information – Excellent speaker ”

Agile Academy Innaugral Meetup

MeetupAgile AcademyI attended the first meetup of the Agile Academy tonight to hear Jeff Smith (CIO of Suncorp) share his story of the agile journey.

Here are my takeaways:

  • students have passion, conviction & coherence of thought but it is not necessarily youth that gives them this it is more an acessible learning environment
  • the premise behind agile is simplicity
  • the job of a leader is not to motivate people, it is to inspire them, your staff should come to work with a passion
  • there was not much in the way of agile training out there, so decided to develop within and then share with the community
  • intention is to get others to contribute to the Agile Academy, to make it better and fill the gaps
  • have learnt there is value in coaches
  • good leadership is scarce

Key success factors according to Jeff:

  • use passion and ideas not threats and bureacracy
  • tell a narrative of who you are and what want to become
  • entrepeneurship is not for the few
  • need resistance and humility, have courage to change our mind (never give up the right to be wrong) and proviude an environment for this to happen
  • create a good listening organisation, you have to ask!
  • change almost never fails when it is too early
  • connect and challenge people for the collective wisdom – the one thing youy can’t copy is culture
  • aim for success not perfection
  • do what you believe in and paint a good picture of it (then people will follow)

From the Q&A sessions:

  • needed a simple way to describe agile to the business and the board, painted a picture and a simple message. Need to train the business and seed successes in different places and put a support structure behind it. You also need the courage to stop projects.
  • “…better to piss people off in the beginning than try and make them happy in the end”
  • listen to the leaders (they are not necessarily at the top)
  • you need to balance people, technology and processes
  • the challanege for the first year was to change peoples belief processes, now Suncorp need to mature
  • Scrum can be used anywhere in the organisation (it was used to roll out eLearning by the HR area)
  • a project over 6-7 months means that you visibility of what you are trying to achieve
  • the less people on a project the better it works
  • have to accept what you have and not use that as an excuse for not inventing
  • decided the best approach was to aggregate people by business people skill, by technical skill and then by city (as opposed to one centralised testing centre for example)
  • the entire team needs to be part of a connected ecosystem

Barcamp Brisbane III: The Search For Flock Wrapup

Barcamp BrisbaneHere is my better late than never wrapup of Barcamp Brisbane III (held last weekend at the East Brisbane Bowls Club), a worthwhile meetup of locals willing to share their skills with others.

Discussion at Barcamp Brisbane III

Discussion at Barcamp Brisbane III

From the lightning talks that I attended:

Speed Intro

A new concept was the speed introductions, one minute to introduce yourself to someone you don’t know. Worked quite well, met a bunch of new people and got a good vibe of the different passions of the attendees.

Favourite Cloud Applications

Session presented by Michael Rees.

None of the applications were particularly new to me, but these were my takeaways for more of a look:

  • Gliffy – online diagram and flowchart editor
  • Slideshare – for uploading of presentations
  • Prezi – requires Flash, but is a big space to show text and is a new and interesting way to show presentations
  • Delicious – not new, but Michael uses it as a home page
  • Archive.org – from the guys that brought us the wayback machine, they have a service that allows you to upload audio and video maintaining the original resolution (although the upload is quite slow apparently)
  • Evernote – I have used OneNote for convenience of late, but a place to store and search for notes on multiple platforms and phones, this is a service that Michael pays for as well
  • Online Storage – LiveMesh is a favourite, gives you 5GB that syncs anywhere. He also mentioned Live Sync P2P, SkyDrive and Amazon S3

Introduction to Git

Attended two sessions on Git, a discussion and then an online overview.

  • A local repository, distributed
  • Competitors are Mercurial and Bazaar
  • Git is not as good on Windows environments right now
  • Github uses for public hosting
  • Gitgui is a an interface to Git, amongst many others

This is certainly the next generation of version control, but I have concerns on how to get this working in the enterprise especially since I have enough trouble convincing people to commit let alone to commit often. Can see its potential for open source and independent or small developers however.

Groovy, Griffon & Grails

Paul King and Bob Brown gave a good introduction to the G3 technologies. I was especially interested in Griffon, since I hadn’t spent any time looking at it previously.

Government 2.0

Was interested to listen into the discussion about PublicSphere / Government 2.0 by Des Walsh, and the opportunities it may present. Des has posted a more in-depth post here: http://deswalsh.com/2009/07/19/government-2-0-at-barcamp-brisbane/

Drupal Hosting

Discussion about Drupal Hosting:

  • Open Atrium – intranet website incorporating wiki, forum, internal-twitter – theme around existing modules
  • Aegir – Drupal Hosting System
  • Suspect that much like Linux, we will see many distributions in future
  • Acquia are the Red Hat of the Drupal world
  • Drupal 7 has gone full TDD with 80% coverage

Fish Shell

An online demonstration of the Fish Shell, which can be best described as a shell that adds a bunch of added functionality to bash, such as better history and visualisations.

Conclusion

A good way to get a launch into some new and interesting technologies and meet some new people. There is apparently another planned before the end of the year.