Design, Develop, Create

Monday, 25 November 2019

Mockaroo - Useful data for rapid mocking

"As a developer..."
You know the problem, you have developed a solution, now you need to test it with lots of realistic data? Then Mockaroo is for you...
Do you know Connie Deverille in R&D?

A random data generator and API mocking tool (as a service). Generates realistic(ish) randomised data sets in JSON, SQL, CSV, Excel.
Mark Brocato the founder/developer behind Mockaroo - https://mockaroo.com/


Consider #IdeaFlow

IdeaFlow, or "How to Measure the PAIN in Software Development". A book by Janelle Arty Starr. An approach for systematically measuring where and when problems arise in software projects (software pain) and how to go about resolving them. Janelle proposes a data-driven feedback loop to locate the causes of friction and pain in `developer experience'. But she concludes that the challenge is not that we can't find solutions to these problems, it is in finding and correctly identifying the underlying problems in the first place.
Janelle explaining her insights on addressing the challenges of big software projects https://leanpub.com/ideaflow


Friday, 22 November 2019

Adding a post to Brightspace ePortfolio and Collection

Navigate to 'Module Tools > ePortfolio' to view my contributions, notes, reflections etc. 
Create a new post by clicking on 'Add to ePortfolio'

Yay, your post has been added

Now click on the drop arrow and select 'Add to Collection'

Brightspace displays a list of Collections you created earlier

Select the collection you want to associate it with... and click 'Save'

Confirm the particular Collection's 'Share' status...

The collection can be shared with the whole class group, 'Always Visible'. All good! But if not...
You may need to activate sharing for named individuals instead: "firstname secondname" on the original post itself, in addition to the Collection...

Wednesday, 20 November 2019

Monday, 18 November 2019

(talk and hands-on workshop) Prototyping with Power Apps

On Nov 19: 9.30 - 12.30 D101 we held a really productive hands-on workshop with Stephen Howell (Microsoft Academic Lead & Accessibility Evangelist). He gave a quick tour of the cloud pyramid and illustrating where MS fits with the various offerings from AI, processes, storage, mobile, through to accessibility and the amazing real-time language translation/transcription services.
Allen and Stephen @Howell_MSFT with the MScDI class of 2019-2020

The workshop itself was a practical introduction to prototyping with Power Apps etc. It was a seamless and compelling entry point to coding via the UI.

Monday, 11 November 2019

setup for the Lego session...

Class in Belfield Campus Nov 12. Plan to arrive early!

Help with the setup for the Lego session...

This week's class will be held at UCD's Belfield campus. Please arrive early to avoid problems with parking, traffic, public transport etc.

Tuesday Nov 12 from 9:30am in room Q279 entrance via the Quinn Building in the new Moore Centre for Business.

Map coordinates - https://goo.gl/maps/uAXzMBnCwi8QccVP6

Tuesday, 5 November 2019

Exercise: Analysing a design

Goal
Establish and understanding of the interplay between implicit and explicit aspects of high tech designs. To reveal hidden assumptions, expectations and prior knowledge that are necessary conditions of successful technology use. This exercise is adapted from Sharp et al. (2007).


Instructions
Analyse a TV remote control (5 minutes).
Ask yourself the following questions:
  • What do I recognise when I inspect the device initially?
  • Do I perceive feedback when I use the device (sound, clicks, weight, surface texture etc)?
  • What is the device's context for use?
  • Is anything missing?
  • What goals does the device addresses?
  • I have a goal; does the device facilitate or get in the way?
  • Consider other modalities for achieving the same goal (e.g. talking, old phone, mobile phone, Skype). 
  • What is explicit and what is implicit?
  • What is usable (or conversely unusable)?
  • Do I need further explanation to understand some aspect?
  • How can I learn about what something does?
  • How do I know where I am (in the system)?
  • Where am I in the process?
  • What do I feel about using this device?
  • What are my impressions about this device?
  • Who can work with this device? Easily?
  • Is it easy to make a mistake?
  • What are the consequences of making a mistake?
  • Can I recover from the mistake easily?
  • Do I feel comfortable experimenting with the device?
  • What happens if it breaks?

For example refer to 'Adopting Technology' (Chapter 4 - Designing Interactions by Bill Moggridge) (Moggridge, 2006).

Discussion
Open the floor to discussion of the group's analysis of the devices (15 minutes).
From the discussion make sketches of user experience(s) on the white board.
Is user experience a goal in itself?
What are the dimensions of user experience?
  • Features
  • Aesthetics
  • Feelings
  • Affection
  • Desire
  • Love
  • Frustration
  • Functionality
  • Speed
  • Risk
  • Feedback
  • Certainty
  • Invisibility
  • ...
  • ...

Notes
Consider water taps:

  • Explicit and implicit knowledge
  • Learnt conventions
  • High risk versus low risk
  • Safe versus playful

What is a learnt property of the object and what is a learnt convention or social? e.g. red versus blue, left versus right hand side.

References
Moggridge, B. (2006) Designing Interactions, Cambridge, Massachusetts, MIT Press.
Sharp, H., Rogers, Y. & Preece, J. (2007) Interaction Design: Beyond Human-Computer Interaction, Wiley.

Friday, 1 November 2019

(PART 2) IONA Technologies - Adolescence

Preamble:

In 1991, Dr Chris Horn, Dr Sean Baker and Annrai O’Toole each chipped in £1,000 Irish Punts to bootstrap a business called Iona Technologies. There was no bank loan, no cash flow, and no Enterprise Ireland. I doubt anyone would have put up the money if they had even asked at the time.
They took an educated punt, building on the back of years of academic/industry R&D into distributed systems and programming, supported in part by EU Espirit research programmes.
One of the running jokes in Iona’s newsletter iContact was the management teams’ 3-year search in the wilderness for a business model, but the truth was, that they always had their eyes on the prize and were constantly tweaking the business model to the situation and demands of the market of the day. The way Iona ‘organised’ was the key. It was a young Irish company with a distinctly Irish culture. Small nimble close knit teams, everyone knew everyone and no one let formality get in the way of celebrating success or getting to the heart of a problem. As a place to work it was hectic, razor sharp, direct and fun.
figure 1. Leasing Pembroke Street from Crampton's (credit McCarthy 1995)
Iona’s product Orbix brought Iona success but Orbix was also successful because of the way the company was organised and the way it (the software) `organised' or structured its customers. Professional services (PS), delivering C++ and object oriented programming training to large multinationals like ICL brought in revenue. The profits from services went straight back into product development but more importantly, the learning that Iona acquired on customer sites was transformed into features in Orbix. The the need for training in Orbix itself in turn drove demand for more services and contracts to integrate Orbix with client systems. Iona excelled in understanding the process of designing and deploy mission critical cross-platform distributed systems. This knowledge in turn was transformed into even better features and functionality for Orbix and a growing list of adapters, services, language mappings and platforms.

Iona had an instinct for the business and economics of digital networks a decade before anyone else. They tuned the business model to the market. In a way the business model was built into the architecture of the product, linking software, linking firms, linking markets and people. The business model was evident in how they bootstrapped the market for their product. But the business model wasn’t Iona; Iona was the people. The social banter at coffee stations, Wine and Cheese events, gatherings under marquee in Fitzwilliam Square, the Christmas party at Howth Castle, catching up after work in McHaffey’s, Kehoe’s, Slattery’s or Tonor’s. Welcoming someone back from a sales or service job in Seattle, politicking Standards at the OMG, attending JavaOne or Iona World. Networking is an intrinsically human thing and something the Irish excel at.
figure 2. Toners on Baggot St - the snug (2015)

The period 1999 - 2001 

The resources available for R&D are competing with customer demands on current products. A decision is needed to address the problem but no one agrees on the solution.

Product Development Culture 

Growth is good and profits are better but they come at a cost. The cost for Iona’s Dublin headquarters was having to move office each year. From Westland Row to Pierce Street, to Percy Place, to Pembroke Street Lower (figure 1), then the big split from Pembroke Street to St Stephen's Green. Stephen's Green would have been nice except that Product Development and Customer Engineering were housed in an old office block tucked behind a Georgian town house while the corporate functions had modern air-conditioned comfort half a mile away on Pembroke Street. But this was only temporary, a year-long hiatus. Iona would be the anchor tenant in a brand new tower block on Shelbourne Road. The "Iona Technologies Building." This last big move started in 1999 but the things were changing in other ways. The atmosphere of the company was evolving with each office move and each new employee.

The company had been famous for its 'everyone knows everyone else' feel and exciting work culture. However a sense of 'community lost' was increasingly apparent in conversation. The demise of the traditional wine-and-cheese on the last day of the month was a sign of this gradual change.
“What’s happening to the monthly ‘wine n cheese’? First it’s reduced to quarterly, and then half yearly... we need it for morale!” [engineer]
“The Iona wine and cheese was important, we need these opportunities to mix, to build spirit. Stop cancelling them!” [anon]

Structure and Organisation

The company is organised around three main development centres; head office in Dublin, the US headquarters in Waltham Massachusetts (aka Boston), and the Asia/Pac office in Perth, Australia. Internally the company has a hierarchical structure with product development (PD) teams organised into 24 product lines delivering to 3 main operating environments (Solaris, HPUX and Windows) and over 20 version variations on other platforms (Digital VMS, AS/400, MVS, SCO/Unix, QNX and others).

The product managers develop concepts and business cases for new products that are then assigned to an engineering team for development. The Iona PD Process has four main stages: Planning, developing, testing & QA, and Launching. The project life cycle provides procedures for the development of products, covering the whole development process from beginning to end.
"Product Development is team-oriented. Teams have strong software engineering capabilities but also have product management, project management, customer service, business and other skills represented. Each team has significant autonomy and discretion on what products it develops, and has responsibility to describe why, when how and by whom the products will be built, licensed etc. Teams are ultimately responsible for product success, measured in market share and revenues." [The dev team guide]
Customer Engineering (CE) is the support organisation and is also organised by product line. This allows dedicated customer support engineers to develop deep technical product knowledge. All support engineers are expected to also be able to support core Orbix. This is useful to balance support capacity if customer demands peak on different product lines. Support engineers are also seconded to engineering teams to facilitate the mutual transfer of product knowledge and customer context between CE and PD.

Orbix and ART

The company has experienced continuous growth in market share, revenues and profit in recent years. However, rapid success has led to rapid growth in headcount. They have been hiring `as many people as they can get' to develop, support and maintain the products.

Orbix is the company’s 'cash cow', revenue-rich, mature products that 'only' require maintenance. Cash cows provide a steady income from license fees generated both by new customers, and renewed annual service or support fees from existing customers. In Iona’s case, sales of large site licenses with annual support contracts are a lucrative revenue stream.

Orbix is the worlds most deployed distributed object request broker; a fully featured product architecture used to connect object databases, messaging and transaction systems, media streaming, and real-time operating systems to the internet. The Orbix product architecture has grown around orbixd (as in a Unix system daemon process). The orbixd is simply an ORB (object request broker) for connecting code written for a variety of programming language/compiler combinations. Language mappings for ADA and PL/I were even developed for the US defence sector and the IBM mainframe environment respectively. The Orbix daemon and libraries run on Unix, Windows and other more niche operating system environments such as VMS, Vxworks, even MacOS. There is also talk of Orbix Nano for embedded chips.

As the Orbix family of products has grown so too have the numbers of people developing, supporting and maintaining them. This has led to problems for management and interdivisional communication. In just over three years the company had grown from 10 to nearly 300; and over the following three years to over 1,000. The Orbix dev team alone grew from 3 to 50 programmers plus 30 or 40 more in support and services.

Orbix is the focus of everyone in professional services and product management. Yet the cost of supporting legacy Orbix is eating into the company’s profit margins. Industry too is seeking to move beyond the limitations of the object request brokers and is pivoting towards new technologies, paradigms like XML based application servers, web services, service oriented architectures and enterprise Java.

A skunkworks project codenamed ART (Adaptive Runtime Technology) was started in 1996. ART development was based in Boston. ART took a couple years to reach alpha and to commence controlled trials in the wild with a handful of (friendly) early adopters. The feature-complete beta version was expected a year later with a planned-for public launch in 2000 or 2001. ART promised a paradigm shift in distributed computing in terms of security, scalability, language coverage, functionality and performance. A flexible and high-performance distributed computing engine; the perfect ORB to replace Orbix and overtake competition from BEA, Oracle, HP, Microsoft and others.

Engineered Stress:

It is increasingly evident that the challenge of managing the large numbers of people involved in Orbix's development and maintenance has reached a breaking point. The old strategy of hiring and throwing resources at the problem is not working so well. The company is straining under the classic problem of hierarchical organisations: the need to maintain clear communication and coordination within layers of management, large numbers of people, and offices around the globe. They also have to balance a diverse portfolio of historical and new product development projects by coordinating teams (and teams of teams) in an intricate choreography with idiosyncratic interdependencies between different versions of Orbix.

Over the last year or so Iona's C-suite (CEO, COO, CTO, CFO) have appointed a number of executives from the Telecoms, Banking, and Aerospace industries. These executives are very familiar with standard management framework approaches for technology production such as the RUP (Rational Unified Process), ITIL (Information Technology Infrastructure Library), the CMM (Capability Maturity Model), and ISO9001.

Steve Vinoski, Iona's chief architect, leads the ART team in Boston but travels to Dublin frequently. Steve, a former systems architect from HP, has long been involved in developing open computing standards. He was an early advocate for object oriented programming and design patterns and although having a big-company background is skeptical about standard management framework approaches. Steve has been spending a lot of time recently talking with Kent Beck about this new practice-based approach called Extreme Programming.

Steve has asked the dev leads and engineers to review the current situation and propose options to improve the situation. He says ``There must be a better way to organise!' Many of the engineers agree. Orbix PD and CE teams are increasingly dissatisfied. 

Heavy mental "Back to our roots" (image credit: Joe McCarthy, 2000)
The Orbix dev leads (Mary, Aileen, Tim, Jan Willem, and Charlie) call themselves the junior management team – all of the pain, none of the power. Between them are responsible for all Orbix engineering or support. In addition to maintaining all legacy products they have been asked to design forwards compatibility with ART so that customers can easily migrate their systems when ART is finally released.

Comments gathered from a recent internal survey carried out by HR give a sense of the mood.
'More inter-departmental cooperation please, people feel guilty asking questions.' [Anon]
'Get CE and Engineering teams working closer and get rid of the quick fix mentality.' [PD engineer]
'Outrageous workloads are destroying me, there must be an end in sight?!' [CE engineer]
“Product milestone dates come down from ‘on high’, the teams should estimate them, not some diktat.” [PD engineer]
'The company is a fun and challenging place to work, it’s "challenging" when we over-commit…' [CE engineer]
'We need workable processes to get us moving between teams and products.' [CE engineer]
Workload and stress is increasing. There is a lot of `needed' yet unrewarded overtime and some people seem to practically live in the office. There is talk of setting up an on-call rota to provide out-of-hours software support and a rumour that the Orbix team is going to be cut rather than boosted is doing the rounds. More demands with fewer people! They are already putting in huge hours and effort to come up with fixes, release patches, and keep customers happy. It feels like something is going to break. To make things more complicated, many feel that working on Orbix (with its old but familiar complexity) is a dead-end. They want to learn to use ART (the shiny new thing).

Wednesday, 30 October 2019

Fred Brooks adage: "adding manpower to a late software project makes it later"

Fred Brooks' adage about software projects (known as Brooks' law) states, "adding manpower to a late software project makes it later". He explains the problem in terms of the communication overhead in a group. For example as the number of people involved in a project grows, the communication overhead grows faster. The overhead grows so fast that projects quickly become unmanageable.
Can you identify the errors in the diagram?

For a group of 'n' people, which of the following might be suitable functions to use to model this behaviour. What assumptions would you need to make to justify your choice?

f(n): n

f(n): n-1

f(n): n+1

f(n): n-m

f(n): n^2

f(n): n^2/2

f(n): n(n-1)

f(n): n(n+1)

f(n): n(n^2)

f(n): n(n+1)/2

f(n): n(n-1)/2


Friday, 25 October 2019

(PART 1) IONA Technologies - genesis

Iona’s Genesis
"New York, 26th February 1997, 9.29am. The coming of age after six years of infancy. A Croke Park-pitch size of a room with hundreds of computer screens replacing the light lost by blind-dimmed windows, replete with silently intense players grizzled beyond their age. The second-hand tranquilly rotates to mark the opening of the market at 9.30am, and the Lehman Brothers trading room explodes, keyboards pounding, phones shrilling answered with bronx cacophony. Our own stock opens its very first day up, our trading volume is good, and our initial public offering (IPO) on the US Nasdaq stock exchange is completed after a full year of preparation with our bankers, underwriters, analysts, and lawyers." (Chris Horn, 2012)
After NASDAQ Iona lists on the Dublin Stock Exchange (1997)

The narrative of Iona’s trajectory to success can be summed up in a sentence. IONA progressed from campus company in 1991, releasing Orbix in ’92, IPO on NASDAQ in ’97, and over the next 15 years spawning over 20 other spin-off companies before being acquired by Progress Software in 2008. The detail of IONA's history however is more complex and interesting (Baker, 2000).

Trinity College's Distributed Systems Group (DSG) was a small team of academics and engineers conducting research and development into the problem of inter-network computing architectures. The DSG had become a centre for excellence in distributed systems technology and more importantly in distributed object technology. Over the previous 14 years many of them had become international experts and built up a wealth of experience in designing and building distributed systems support platforms. Their research was supported initially by the college and then by the the EU through the (then) EEC Espirt research programmes. The leap from the academic to the commercial world was tempting as industries like banking and telecommunications embraced networks and internets.
Figure: Iona's Engineering division mission statement (see the video on Vimeo)

A Trinity College Dublin campus company, IONA occupied space in Trinity's rambling offices along Westland Row before spilling into office space on Pierce Street. At its height IONA would eventually employ over 1,000 people around the globe, providing work for many of the academics, researchers and post-grads from the DSG but at the end of that first week as an independent firm only seven new employees marked the occasion quietly with a toast at Mahaffey’s pub.

IONA's founder talent all came from this environment of academically led technological innovation and they were active contributors to the process of defining standards-based distributed object technology.
“[T]he start-up had three staff – Chris Horn, Sean Baker and Annraí O’Toole. But it had no bank balance, no marketing budget and no physical assets... On the other hand, the founders of Iona did not need to make a complete break from academic life or their incomes as lecturers. They could reduce their teaching time over three years, while they built up the company.” (Sterne, 2004)
Iona’s Justin Mason set up one of the first 100 servers on the new worldwide Internet. www.iona.com became the first non-academic Irish website (Mason, 2009) and Iona’s software could be downloaded on-line via FTP access – a radical departure from the conventional thinking that software came in a box or on disks.

During the early years the organisation funded itself through C++ training and consultancy services. Professional services work (aka consulting), brought in needed revenue from the Irish divisions of multinational technology firms like ICL and DEC. While the consulting wasn't as profitable as software sales it did produce unanticipated benefits. Delivering training and services contracts acted to expand the spread of object oriented skills and knowledge in wider industry. It produced new customers for Iona’s products and a cadre of skilled engineers many whom would subsequently work for Iona. They also leveraged their relationships in the local offices of multinationals to reach out internationally.

Inter-networked software was the heart of Iona's value proposition and its employees took advantage of the growing possibilities of the net.  IONA attracted talented people across all the disciplines: technology, programming, product management, legal, marketing and sales and more. In time many went on to start their own companies, innovating and playing influential roles in the open source movement, in standards development and other areas.

At the official launch at Object World in San Francisco in 1993 Orbix 1.0 defined and led the international trend to internet enabled computing. IONA was the first to market with its release of a commercial implementation of the CORBA standard. Orbix ran on Windows, Solaris, HPUX, and a long list of other operating systems (Durham, 2001).

Distributed systems arise organically in (and between) organisations because they allow specialised divisional applications to interoperate via standard interfaces with other applications running anywhere on the net. Iona’s Orbix technology enabled all these different programs to work together independent of their operating system or hardware platforms.

Iona was surfing the wave of the most recent paradigm shift in software architecture; object oriented design. The beauty of Iona’s approach to ‘object oriented’ was that Orbix could ‘wrap’ legacy software in a future proof IDL interface. IDL made programs look like ‘objects’ even if they weren't object oriented designs as such. It enabled firms to retain and maintain their huge investments in legacy and mainframe systems. It also provided the bits and pieces for the new distributed computing paradigm.
Orbix, Iona’s implementation of the CORBA specification, consisted of a software development kit (SDK), a daemon (computer service) and set of run-time libraries (libs). Orbix was also the technology used at the core of Iona’s growing family of internet centric products and services.
The CORBA standard enabled applications to deliver network interactivity ‘by design,’ at the same time as it future proofed legacy applications by wrapping them in an Object Oriented front-end. Object orientation could be layered over any system regardless of whether their underlying design was procedural, functional, or just plain ancient. Iona’s Orbix SDK (Software Development Kit) and the Orbix orb (an Object Request Broker daemon and libraries) enabled programmers to easily design distributed programs using IDL (Interface Definition Language), which enabled software object interfaces on one system to call and interoperate with objects on distant systems. Iona also provided language mappings to C++, SmallTalk, Java, Ada, and OLE (enabling access to Visual Basic, Delphi and Power Builder environments).
CORBA (Common Object Request Broker Architecture) is an open independent specification for distributed software architectures based on the object oriented interface paradigm. The Object Management Group (OMG) manages the CORBA standard.
Iona's products were being used in some of the most exciting software engineering jobs in the world; Boeing’s distributed aircraft configuration system DCAC/MRM (Newcomer, 2006) and Motorola’s IRIDIUM global satellite telephony service (Computergram, 1994) in Seattle, Washington State, and Phoenix, Arizona, respectively to name two. These were cutting edge international computer engineering crucibles and their trajectories were shaping the Orbix feature list, releases and fixes.
DCAC/MRM is Boeing’s Define and Control Airplane Configuration/Manufacturing Resource Management systems.
IRIDIUM now an independent company, was developed by Motorola to deliver a constellation of over 66 satellites providing seamless mobile telephone communications across the globe.
Friday Night at Toner’s
Friday night in Toner's pub on Baggot Street was a good spot to catch up and enjoy some after-work banter. Tonight the talk was all about the recent jump in the share price and where the NASDAQ was headed. The share price had become an 'icebreaker' ever since the IPO (initial public offering) in February the previous year. Anyone with stock options had, unsurprisingly, developed a keen interest in the stock market.

People returning from `international duty' on customer consultancy ‘gigs’ in the Professional Services division (PS) could hold court in the snug, share war stories or catch up on the local scene. Some considered PS work to be something of an elite job. It came with international travel, expense accounts and overtime, but it meant living from a suitcase, sometimes for weeks on end. There was intense pressure to perform, to deliver the goods on customer sites. Many in office-bound engineering roles relished the stories but it also gave meaning and importance to their work too. PS had an unvarnished view of both client projects and Orbix's capabilities. The information was golden, what customers were attempting to do, what worked, what didn’t and somewhere within all that, what the `next big thing' could be? Orbix product quality or features were never far off. Heroic tales and gripping yarns if you knew the jargon; version, source code, debug, compiler, ridiculously large IDL, memory leak, o/s patch, hot-fix.

Paula, VP of Engineering, couldn't help overhearing...
Brian, Mark, Pierce and James were talking about one such tale, set in a secure bunker for some government contractor. Exciting stuff if you enjoyed that kind of thing, but it annoyed Brian (the QA guy); The problem shouldn’t have occurred in the first place he complained. It was preventable!

Mark, the PS engineer, had resolved a major issue on site at an undisclosed location in California. This particular customer site (some muttering about the security or defence sector) was completely locked down. Mark had had to reach out to home base. He had been on the phone to Dublin for hours. First to James (a software engineer in customer support), then Pierce (a software engineer on the product team). The three of them had worked through a day and night, frantically trying, first to reproduce the problem, and then devise a fix or workaround to perhaps make a patch for Orbix 2.3c. Finally, Pierce had a fix (he thought). A two line code change. He compiled the patch and copied it to the FTP server. But no! The customer site wasn't just firewalled, it was physically disconnected from the internet. Mark had a choice, go outside through six layers of security, copy the fix to a disk and walk it back in to apply it, or... he had a local source snapshot on his laptop. Could Pierce not talk him through the lines of code? It would be quicker to recompile a new Orbix daemon on the laptop and copy it directly to the live environment...

These discussions played an essential part in making sense of the market for Iona's product managers and the engineers, if only because PS engineers were in ‘the field’, often isolated behind government or corporate firewalls and multiple layers of military grade security. Being on-site demanded absolute commitment, technical ability, some heroics, but it also depended strong social connections between  engineers throughout the organisation.

References:
  • Baker, S. (2000) The Making of Orbix and the iPortal Suite. ICSE 2000. Limerick, Ireland, ACM.
  • Computergram (1994) Motorola Admits to Deal with Iona on Iridium. Computer Business Review. (link)
  • Durham, J. (2001) History-making components : Tracing the roots of components from OOP through WS. IBM. (link)
  • Iona Technologies (1997) Best of Breed Products: On time everytime. Dublin, Iona Technologies.
  • Mason, J. (2009) jmason.org. (link)Dublin.
  • Newcomer, E. (2006). Iona Technologies. (link)
  • Sterne, J. (2004) Adventures in Code: The Story of the Irish Software Industry, Dublin, Ireland, The Liffey Press.
  • Horn, C. (2010) Be Inspired. Be an Entrepreneur, DIT Hothouse 'Be Inspired' Seminars (link

Monday, 21 October 2019

Agile at Guidewire videos

Agile Development at Guidewire. 

"What’s good about Agile is it makes process personal."
These videos convey something of the character of work in an Agile software development environment. Thinking in terms of practices, of 'practice theory' try identifying routinized bodily interaction, look at the way these people actively produce and interpret happenings to do with the focus of their work, how things like tools, screens, boards, scraps of paper, proximity, and conversations - occurring in distinctive locations - think about what it takes to know how to perform here, to know how performances matter, how involvement produces knowing.

Guidewire's video archive
Product management - identify the important practices...
https://www.youtube.com/watch?v=N0wVEqeEEI4

Testing is the foundation of any successful product
https://www.youtube.com/watch?v=-myDy3EcEDA

Agile implementation - different groups perceive different benefits, value/values
https://www.youtube.com/watch?v=CtJYCV_tZNk

The big internal shift within Guidewire - cultural, systems, workplace practices
https://www.youtube.com/watch?v=tQuTBp8L_ls

Is it necessary for support roles to work the same way? They say they do but do the?
https://www.youtube.com/watch?v=uZ5GG7v-dug

Big insurance companies will never do this...
https://www.youtube.com/watch?v=2Nj5IFpoaYc

A philosophy for everyone? - sales, customers, design, production alike?
https://www.youtube.com/watch?v=CaJUPJZ07Q0

And the perspective of customer organisations? Or the role for customers in development?
https://www.youtube.com/watch?v=Z46xJ1psqWw


Monday, 14 October 2019

Scholarly Search

Writing the literature review
A literature review is not a summary of "what you've learnt from what you've read". Rather, consider the challenge to be writing a 'problem oriented narrative'. A simple problem-oriented narrative has three parts. 
Beginning, middle, end.
Problem, framing literature, resolution. 
Identify an overall issue and gradually introduce scholarly works, develop an integrated framework, arrive at a clearly focused question.

Accessing academic literature
Search for related prior research that would inspire and inform your next steps. Select and refine relevant keywords for this search. The following databases index academic (peer-reviewed research) publications.

  • The DOAJ (Directory of Open Access Journals) (link) - a community-curated online directory that indexes and provides access to high quality, open access, peer-reviewed journals. 
  • Google Scholar* (link)
  • Scopus* (link)
  • Web of Science* (link)
  • Elsevier* - also hosts some open access journals (link)
  • SAGE Publishing* - also hosts some open access journals (link)
  • Springer* - also hosts some open access journals (link)
  • Routledge* - also hosts some open access journals (link)
  • JSTOR* - also hosts some open access journals (link)
  • Project MUSE* - a public index/catalogue (link)
* Search functions and file access to search results may be restricted to registered users or computers on campus networks.

If you find (potentially) interesting articles but cannot access them freely you should consider contacting the author(s) directly by email. Introduce yourself and reason for seeking access to a copy. Many authors will respond generously to such requests from students and share drafts or pre-press copies.

Another tack to take. Assuming that the article/chapter/section/publication sought is not the only relevant research dealing with this topic in the research world, you can conduct a forward citation search, that is, search for articles that cite this one. Searching forward ("cited by") approach is also a good way of the paper's impact and of identifying similar current research publications.

Writing - Reading Group

(a modified `writing - reading tutorial' protocol based on a description by Alexa Zellentin, of her experience running Oxford tutorials)

We read and discuss in turn a draft paper from each of a group of no more than three students.
  1. Reading out one’s work to others
  2. Author then quietly listens to others' discussion noting agreement/disagreement, comprehension etc.
  3. Each reader makes one (1) suggestion of how a might point may be made more clearly or forcefully.
Revision for next week to demonstrate visible progress in the development of the paper - with personal benefits for how interpret feedback; for how to make more nuanced and clearly expressed arguments.

Friday, 11 October 2019

Products/services are just a means...

The Delft Design Guide asserts that:
Products are just a means for accomplishing appropriate actions, interactions and relationships; products provide meaning for people only through interaction. (Buijs, 2012)
In essence, products and services don't exist for their own benefit, they are tools through which people achieve their goals by interacting with the products.



References and further reading:

Buijs, J. (2012). The Delft Innovation Method: a design thinker’s guide to innovation. Eleven International Publishing, The Hague.

Agile is dead - Dave Thomas (Pragmatic Dave) presentation.

Dave Thomas offers a timely call to turn back to the basic ideas and principles behind the Manifesto for Agile Software Development. Not "Agile" as such but courageous "agility". Strive to keep this attitude in mind!!

Thursday, 10 October 2019

The Digital Methods Initiative

https://wiki.digitalmethods.net/Dmi/ToolDatabase

The index of tools curated by The Digital Methods Initiative (DMI). The DMI is one of Europe's leading Internet Studies research groups. Comprised of new media researchers and PhD candidates, it designs methods and tools for repurposing online devices and platforms (such as Twitter, Facebook and Google) for research into social and political issues.

Monday, 7 October 2019

Requirements vs Specification

The distinction between the two, Requirements vs Specification, can be subtle at times.
Both may run the risk of containing incompatibilities and inconsistencies that need to be teased out through various means.
An to approach the challenge of making sense of requirements, and making requirements sensible is to create a compatibility matrix.

So as an exercise - assess the interdependencies and linkages (positive and negative) between the Good Friday Agreement (GFA) and the proposed replacement for 'backstop' previously agreed as part of the the UK-EU Withdrawal Agreement (WA).
The following requirements can be used for this exercise

  1. To protect the GFA the signatories require:
    1. There must be no hard border between Ireland and Northern Ireland
    2. Within a customs territory there can be no tariffs, quotas, or checks on rules of origin.
    3. The Common Travel Area arrangements between Ireland and the United Kingdom must remain.
    4. There must be a Single Electricity Energy Market on the island of Ireland.
    5. North-South cooperation and the all-island economy must be protected.
    6. Regulation will remained aligned to preserve the EU's Single Market and covering: legislation on goods, sanitary rules for veterinary controls (“SPS rules”), rules on agricultural production/marketing, VAT and excise in respect of goods, and state aid rules.
  2. To enable an independent UK Trade Policy on withdrawal from the EU HMG require:
    1. Border checks in and out of the territory of the UK.
    2. To restore the UK Supreme Court to the court of last resort for the UK (the highest judicial body within a jurisdiction).
    3. To apply UK's own customs tariffs for goods entering the UK market.
    4. To establish UK's own goods rules, legal compliance regulation and checks.
    5. To have UK Govt. only controlled internal goods market.
    6. To have UK Govt. only controlled services market.
    7. To have UK Govt. only controlled labour market.
    8. To have UK Govt. only controlled immigration policy (movement of people).
    9. To restore UK Govt. only controlled maritime resources.
    10. To apply UK's own independently determined Customs Tariffs.
    11. To enable UK's own approach to industry supports and subsidies (may be subject to WTO competition rules).
    12. To negotiate and establish UK's own trade deals with 3rd countries.
Partially completed feature requirements matrix for Brexit (+/- correlation, o=no or unknown effect)


WA - proposed protocol on Ireland/Northern Ireland
https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/836029/PM_letter_to_Juncker.pdf
... and a decoding of the letter
https://www.politico.eu/article/boris-johnson-big-brexit-offer-decoded-annotated/

The GFA (only 35 pages)
https://www.dfa.ie/media/dfa/alldfawebsitemedia/ourrolesandpolicies/northernireland/good-friday-agreement.pdf

European Commission notes on Brexit
https://ec.europa.eu/ireland/news/key-eu-policy-areas/brexit_en

Thursday, 3 October 2019

Exercise: (a) Design your ideal search page

This exercise familiarises students with interface design approaches and tools. The exercise is inspired by Carol Snyder's book titled "Paper Prototyping" (2003).

Objective
To practice creating design artifacts to display and test technology use/interaction ideas.

Material
Sheets of A4 paper, post-it notes, pens and pencils of different colours.

Instructions
1. In groups of 2 or 3 use paper/pencil sketch a mockup of a basic Internet ‘search page’. (allocate 10")
2. Collect the sketches and display them to the class; allow the group to provide a brief commentary. (allocate 10" to display all mockups).
3. In the same groups use Balsamiq to create a digital version of the design. The new design may vary from the paper/pencil sketch. (allocate 15")
4. Discuss the following reflection points (in groups first followed by class discussion). (allocate 10")

Reflection
Describe your feelings and thoughts on the process of translating your ideas into a concrete representation.
Comment on the discussion dynamics within the group.
How did the tool used shape, constrain or enable your design thinking?
Consider the difference between paper/pencil sketch vs Balsamiq.

References
Snyder, C. (2003) Paper Prototyping: The fast and easy way to design and refine user interfaces, San Francisco, CA, Morgan Kaufmann, Elsevier Science.



Student Examples

Whole class examples in collage:
designdiagrams01

Thursday, 26 September 2019

A brief history of computing technology

I believe, as innovation scholars, that we must acknowledge where our history, or starting points, rather than indulge in the unjustified belief that new ideas, that creative acts, begin with a blank canvas.

The three presentations below highlight the context and milestones in the history of computational technology:
  1. Timeline of Computing History (by The Computing History Museum link)
  2. Some Milestones in Computer Input Devices: An Informal Timeline (by Bill Buxton link)
  3. (A History of) Mobile Computing (by Jesper Kjeldskov link)
They help us to understand something of the history and context from which we begin. An understanding of our history forces us to acknowledge the resilience of certain ideas, concepts, aspirations, and observe the often selective couching of seemingly incontrovertible "facts" surrounding the design and development of technology. These beliefs are a subtext to the unfolding history of computing technologies. For example, the pace of technological centred development and innovation ever increasing (where in fact it is faddish and gyrates; transformational change creeps up on society before seemingly bursting onto the scene).  The resilience of various beliefs and assumptions held by managers, designers, users and others also demands scrutiny, for example: belief in the agency of technology; the presumed rational/irrational behaviour of users; appealing to the efficacy of management structures; the aspiration to acquire control knowledge; the oft stated belief that technology should “just work”.

But technology initiatives are also political actions, people creating value, new resources, contesting for new properties. Yet the creative spark that ignites the art of designing, developing and applying technology is elusive and unmanageable. Technology, innovation, organisation, society, knowledge; so many questions arise. What is management's role in motivating change? What is the impact of each wave of newer and ever better technology? How does innovation advance? Incrementally, slowly, abruptly, diffusing, drifting, adapting, evolving? What are the actual trajectories of innovation as it happens? We know fads and fashions come and go but society is in thrall with the 'new', the radical shift, that more often than not fails to acknowledge its own past or pedigree, its reliance upon older things, systems and ways of knowing the world.

Thursday, 19 September 2019

About our Academic Writing Centre

Writing Workshops

The UCD Michael Smurfit Graduate Business School Academic Writing Centre is run by Dr Megan McGurk. The UCD Academic Writing Centre in Belfield can be found at 
https://www.ucd.ie/writingcentre/

Academic Writing

Any topic you wish to write about has already received a significant amount of academic inquiry. Scholars communicate through citation as a method to trace how ideas develop through research. Learn the basics of argumentation, how to paraphrase research and how to cite your sources in the Harvard referencing format.

Persuasive Writing

Writers often labour under the misconception that if they just collect enough data they can persuade an audience. Yet people are rarely convinced by facts alone. We’ll investigate strategies to distinguish your writing from the default ‘officialese’ prose that dominates business practitioner style, but rarely inspires or encourages an audience to action. Persuasive writing incorporates stylish prose, an angle of vision, emphasis and storytelling.

Business & Report Writing

Business writing is transactional. People turn to writers who can help them to solve problems and make decisions. Practitioner style requires writers to be clear, concise and coherent when offering recommendations. We’ll cover report style, format and presentation.

Collaborative Writing

Group writing assignments can pose a major challenge for post-grads. Currently, more than 80% of writing produced by companies and organisations occurs through a collaborative effort. Learn effective strategies to balance and negotiate your team projects.

Be your own editor

First draft submissions will never garner top marks with lecturers, employers, clients or stakeholders. Develop a revision habit that allows you to benefit from building upon a tentative piece into a polished whole. Skilled writers do not leave projects to the last minute and they do not hesitate to delete and re-write. Learn how to identify problems at the sentence level in order to professionalise your writing.

Wednesday, 18 September 2019

Exercise: design and planning game


Goal

To demonstrate and experience one particular process of planning in a team environment where knowledge and expertise is distributed among team members.

Roles/Identities:
  • Product Owner: Product owner judges the trade-off between value and timing of features. Will engage in discussions at the PLANNING GAME, prioritising and valuing features. Is authoritative to accept a feature as developed or NOT.
  • Architect: Architect identifies links between features, architectural/design and delivery elements. Creates diagrams linking Features (F) with architectural elements (A) and deliverables (D).
  • Lead Developer and extra developers if available: Developers provide estimates of effort and risk for design-delivery elements. Have important domain knowledge and suggests needed features. Is authoritative on estimates for effort or time of a design-delivery element.
  • Scrum Master: Scrum master (or someone assigned) will turn feature and development stories into a planning chart and highlight the critical path.
Activities 
The Scum master keeps the PLANNING GAME focused by:
  • asking “what (F) features do we need?”
  • asking “what (D) deliverables satisfy (F)?”
  • asking “how does (A) architecture link (F) & (D)?”
Allocate approximately
Feature Discussion (5 minutes)
Design-delivery discussion (~5 minutes)
Architecture discussion (~5 minutes)
Decide backlog (~10 minutes)

Debriefing
~10’ Discussion: group pairs report progress to the whole class.
Was there a perfect solution?

Research and Further Reading

Thursday, 12 September 2019

Who was Winston Royce?

(from Wikipedia)
"Winston W. Royce (1929 – 1995) was an American computer scientist, director at Lockheed Software Technology Center in Austin, Texas, and one of the leaders in software development in the second half of the 20th century. He was the first who described the Waterfall model for software development, although Royce did not use the term "waterfall" in that article, nor advocated the waterfall model as a working methodology.
...
His son is Walker Royce, Chief Software Economist of IBM's Rational division, and author of "Software Project Management, A Unified Framework", and a principal contributor to the management philosophy inherent in the IBM Rational Unified Process."

Is it reasonable to interpret Royce in terms of agility? Emphasizing communication, design/coding as the central activity, responding to change, refactoring design, visibility, and on-site customers?

Walker Royce at IBM -  Walker's article on peoples' aspirations to become more agile (drdobbs.com)

How says software engineering doesn't have humour? Watch the Rise and Fall of Waterfall; with more than a touch of the truth (link).

Tuesday, 3 September 2019

Exercise: (c) Design for search by smell

(a collaboration with Norman Su) A variation on earlier design exercises (exercise a and exercise b)

Objective
Theory: To demonstrate the design dynamics surrounding paper sketches, digital sketches, and speculate on the implications for digital design environments.
Practice: To gain practice at creating sketches and digital design artifacts to display and test technology use/interaction ideas.

Materials
Sheets of A4 paper, post-it notes, pens and pencils of different colours.
Online access to the Balsamiq Mockups wireframing tool. http://webdemo.balsamiq.com/ (accessed: 2015-05-22. Also see http://balsamiq.com/products/mockups (accessed: 2010-2011)

Instructions Part 1
1. In groups of 2 or 3 use paper/pencil sketch a mockup of a new kind of App that uses 'scent' or 'smells'! (allocate 10")
2. Assume there is some way to capture 'scent' or 'smells'.
3. 10 minutes
4. Let me know (raise your hand, etc.) when you’re done

Instructions Part 2
5. In the same groups use Balsamiq to create a digital version of the design. The new design may vary from the paper/pencil sketch.
Tips:
Mockup → Download as PDF (to save a copy of your finished design)
Mockup → Clear Mockup (but don't mistakenly wipe your mockup before you save a copy)
6. 15 minutes
7. Let me know (raise your hand, etc.) when you’re done
8. Discuss the following reflection points (in groups first followed by class discussion). (allocate 5")

Reflection
Your own thoughts/observations?
How many design possibilities were sketched on paper? In Balsamiq?
Consider the difference between paper/pencil sketch vs Balsamiq.
How did the tool used shape, constrain or enable your design thinking?
Comment on the discussion dynamics within the group.
Did someone take responsibility for driving the group forward?
Describe your feelings and thoughts on the process of translating your ideas into different concrete representations.
Can you identify 'who contributed what' to the designs?

References
Digital nose teaches machines to smell - Turck duotec acquires a stake in SmartNanotubes Technologies (link)
The science of smell (link to article on brainfacts.org)
Intel Neuromorphic chip demonstrates smell functionality (article from intel.com)
"Sniffing Entrapped Humans with Sensor Arrays" (link) & NewAtlas article (link)Chat Perf for smartphone. Intro article on Gizmag (link)
SAPER app (link on gizmag). Not quite an electronic nose but close.
Wongchoosuk et al, (2009) Detection and Classification of Human Body Odor Using an Electronic Nose. Sensors, 9, 7234-7249. (doi 10.3390/s90907234 - resolve via dx.doi.org)
How Internet Odors Will Work (howstuffworks.com)
Related imagery and concepts on the Edible Geography blog (ediblegeography.com)
Want the nose of a Sommelier? (Null, 2018 - article on wired.com)

Monday, 13 May 2019

A typical day for software development (Silicon Republic article)

Jenny Darmody's article from Silicon Republic (2019: link)
"What does a software developer do on a typical day?" inside Verizon Media (http://www.verizonmedia.com/)

Tuesday, 23 April 2019

Seminars - Methods in Use and visiting MBA class

A open invitation to two seminars taking place this week; one today at 2pm (Tuesday 23 April) and tomorrow at (Wednesday 24 April).

The first invitation via Prof. Séamas Kelly (UCD)
===========================================
Dr Veeresh Thummadi (researcher at Lero | The Irish software research centre) will present a CITO seminar, Tuesday 23 April 2:00-3:30pm (room E117, Smurfit). The seminar will be entitled:
"Method-in-use variation during methodology use: A multiple case study of agile and waterfall information systems development projects”
An abstract for the talk and Dr Thummadi’s bio can be found at the end of the message..
===========================================
The second invitation from Prof. John Mooney (Pepperdine) who has specifically invited our MSc Digital Innovation class to take part in a short series of MBA seminars with visiting US MBA students from Pepperdine University's Graziadio School of Business.
===========================================
Wednesday 24 April 9:00-1:00pm (room N204, Smurfit)
* 9:00-9:45am Prof. Damien McLoughlin (UCD) on B2B and/or B2C marketing and customer service for the EEA market
* 10:00-11:15am Neil O'Herlihy (Director of Go To Market Operations at Google) is coming in to facilitate an interactive workshop on market strategies for EMEA.
* 11:45-1:00pm
Prof. Eamonn Walsh (UCD) presenting his excellent lecture on "tax havens" and the realities of the Irish tax situation for US MNCs.
===========================================
I hope you are able to take advantage of these sessions.

Wednesday, 3 April 2019

Wireframe and Mockup Tools

Wireframe and mockup tools for sketching designs.
Start with pencil and paper sketches before moving on to digital tools such as:
To use PowerApps go to Microsoft's Office software-as-a-service site and login with your @ucdconnect.com account which should already be provisioned via UCD.

https://www.office.com/

Monday, 1 April 2019

Study Trip to Brussels/Leuven 2019

Hi everyone

Welcome to the study trip. I look forward to meeting you all at the Irish College in Leuven (the Leuven Institute for Ireland in Europe -- known to all as the Irish College).
http://www.leuveninstitute.eu
See on Google Maps https://goo.gl/maps/GYrfDwsUhtK2

Plan to arrive and check-in to the Irish College, Leuven on Monday 18th March any time from 7am onwards.

Monday:

Our first session starts at 12.00 midday in the Irish College. Prof. Stijn Kelchtermans, from KU Leuven's Faculty of Economics & Business will be presenting on Technology Platforms.
https://feb.kuleuven.be/Stijn.Kelchtermans

The second session starts at 2.30pm also held in the Irish College. We'll be running a short workshop on Information Economics - the micro-economics of digital and information goods.

After this we will walk to the Health House showcase installation in Leuven for a tour at 5pm. The Health House showcases the future of health and care based on scientifically validated content and anticipating the impact that technology will have on this in future scenarios.
https://www.health-house.be/en/

Tuesday:

We start the day with a tour of the Living Tomorrow hub, a startup campus for innovative enterprises and where visitors can experience installations or imaginings of their products and services. The goal of Living Tomorrow is to help envisage, experiment and present how technology mediated changes may radically improve the quality of our future home, life and workplace.
https://www.livingtomorrow.com/en/about-living-tomorrow

Thursday, 17 January 2019

Louis le Brocquy's "Brendan The Navigator" and the Etherium DAO

A video by Alice Rekab, UCD College of Business Artist in Residence, that explains the background and inspiration for an artistic installation that links the UCD Lochlann Quinn School of Business with the UCD Michael Smurfit Graduate Business School. The piece draws on both FinTech innovations (the Etherium DAO: a distributed, decentralized autonomous organisation model based on the blockchain architecture) and the Louis le Brocquy tapestry "Brendan The Navigator" that hangs in the atrium in Blackrock.
Alice Rekab from Parity on Vimeo.

Most Business Schools have a rather indifferent, even ambivalent relationship with the Arts.
Is it for profit or not? Is it a thing that can be managed, contrived, manufactured? Does entertainment, performance, Art, Dance, Music, Film, Cinema, Videogames, even Sport, distill down to simple profit or loss? Is it mere business, a system or process? What about passion, belief, vocation?

The role of an artist-in-residence is more often not well understood. Some think the role is to produce work commissioned by the host. It is not. In our case the artist and the college were here to learn about each other and in so doing, reveal aspects of each other that may otherwise be overlooked. How does commerce appear to the artist? An artist is an entrepreneur of sorts so might empathise with other entrepreneurs, but what is artistic about cost accounting, consultancy, financial technology?

A utilitarian view of the Arts is often adopted. Art and artistic performance can be captured or rendered into commodity forms like images, recordings, copies. These things can become objectified, become sought after objects of desire. But the production of art itself, the creative act, does not typically lends itself to being controlled, managed or manufactured.

The consumption of Art too is equally uncertain.
The experience of Art involves encounter.
The creative artistic act is confronting.
Art is puzzling, it challenges us to think, rather than seeks to produce consensus or efficiency or profit.

The University, like Art, holds a privileged place in society. Like Art, the University it is not so much a property as it is a state of mind. Consider this quote from Zen and the Art of Motorcycle Maintenance by Robert M. Pirsig.
"The real University... has no specific location. It owns no property, pays no salaries and receives no material dues. The real University is a state of mind. It is that great heritage of rational thought that has been brought down to us through the centuries and which does not exist in any specific location. It's a state of mind which is regenerated through the centuries by a body of people who traditionally carry the title of professor, but even that title is not part of the real University. The real University is nothing less than the continuing body of reason itself." p 143
Founded on the values of the enlightenment (the Age of Reason) the University as an idea is the belief in and responsibility for education, for science itself, for preserving and generating new knowledge.

"The primary goal of the Church of Reason, Phaedrus said, is always Socrates' old goal of truth, in its ever-changing forms, as it's revealed by the process of rationality. Everything else is subordinate to that." p 145
Yes there are paintings in the halls, statues in the grounds, art expressed through the design of landscapes, buildings, and machines. Universities, even Business Schools, are used to display, as containers for Art. But the paintings on our walls become invisible over time, they fade into the background.

The Louis le Brocquy tapestry "Brendan The Navigator" that covers the high wall about the fireplace of the entrance atrium at UCD's Blackrock campus had become invisible. The deliberate green-gold graduation fills what would otherwise be a vast white space. That was until Alice saw within its depiction an allegory of trade and commerce. Saint Brendan's journey to the New World was a navigational and logistical triumph but one inspired by a trade of ideas and the desire to explore. It represents exploration, revealing the unknown, encountering the new. It was a making a connections between the New and the Old World. Commerce is trade, most often of things but also of ideas.