Originally a blog for my masters class, at the UCD Smurfit School of Business. But going to resurrect for no reason at all, other than I would like to share some things with absolutely nobody to waste time while on the train :)
Wednesday, 25 November 2015
How to hire a product manager...
Interestingly, the author of it has done a retrospective post. He looks back 10 years, and examines the post and what is good and bad about it. Check it out, for the comments from some of the good and great from the world of PM, and related fields. Interesting to see folk being critical about logic puzzles. I have conducted hundreds of interviews and really always wondered what value you got by asking someone how many golf balls would fill the Aviva stadium or something. So I'm glad those questions are falling out of favour.
In open source news, Spotify have open sourced their internal monitoring solution. Now if you look into it, a large part of this solution is pulling together several different tools, mostly freely available. But it's still a great, proven enterprise toolset which is yours gratis!
Tuesday, 17 November 2015
A follow up to linux post..
I remember hearing about how Netflix were doing Continous Delivery a few years ago. There are a few videos out there about it. The one I link above is just one good example.
Last night Netflix open sourced their entire continuous delivery platform. Free. There is the code. Use it how and where you want. If we were to look back 15 years ago they would have spun it out into its own company and sold it as a product in its own right. But now, what companies are doing is sending the code out there. It's one part company prestige and another part a competition to get the best development talent. Not all financial decisions are just around yearly licence fees.
Sunday, 15 November 2015
Linux in the Public Sector..
Second, I asked to do Financial Management as one of my optional modules this summer. So I had a wonderful time locked in a class room on a series of wonderful sunny days! All the while having to take time off from work, it was great! I was learning about WAAC, Payback periods, bond yeilds and what not. As an aside, this is a subject which I *really* think should be mandatory for any masters course in a top business school like ours. If we are being groomed to be the next generation of business leaders, we need to be able to read and understand a set of accounts. I want to understand why my former boss loved capital expenditure and hated operational expenditure. Prior to doing that Financial Management class I had no idea. So we need to come out of courses like this with more than the ability to make a project plan and/or a set of slides!
The Linux paper is fascinating. I remember maybe 15 years ago [around the time this paper was written] and a tiny number of Linux-based companies had decent venture funding. A common question being asked is if "serious" companies take the risk of using Open Source software. If the software was free, how could it match up with something coming from Microsoft or Oracle. What happened is that Linux is not any kind factor in the desktop market [for home or for business]. But it a gigantic player in the world of "*.* as a service". I would think if we looked at data centers around the world, I would think a huge percentage run some kind of flavor of Open Stack. Which is built on Linux, totally open source, and as good an engine and set of tools for running your own cloud based system as exists. If you think big data, I think you are frankly insane to look beyond Hadoop and the related Apache Foundation Projects which work with it.
Yes Oracle is maybe faster and better, but it also will cost you a very serious amount of money every year...forever! The open source solutions are free. You can download them, and fork or branch your code and work away yourself. But you have the bonus that many companies with serious development teams pushing code into the open source code base.
So if you're a government or other public body, why would you go with anything else?
Friday, 13 November 2015
Video & Project Submitted..w00t!!
Today I submitted my project. It is based on an upgrade for a heavily modified CRM system. I tackle some of the issues which arose from that. It's always good to have a project like that completed. When you are doing something like that, over 5000 words. There is a lot of research involved and doing yourself justice requires work. But that is the whole point. It's like a triathlon or a marathon, if it was easy, everyone would do it!
Tuesday, 10 November 2015
Regarding the babies part of blog title
I mentioned babies in the blog title. Well my son Aengus joined us last Friday night. I have attached a picture of him here.
What is interesting is that there was very little interaction with computers through the pregnancy process. You have a huge manual file, which contains all your test results and all doctor comments. If that file is lost, so are you basically. Its amazing our health system runs on this ancient technology. What computers we did see looked to be running Windows 2000 or XP, and we're deathly slow. We were getting blood test results and they used telnet to get to a text based server, which only could hold results for a few months. So clearly a crappy AS400 on a garden shed somewhere!!
Would there not be a huge business there for the computerisation of hospital processes!
Wednesday, 4 November 2015
An interesting point of view...
What I read last night is that Nolan Bushnell is starting to play about, and starting an evolution which shall soon end up with his developing Pong and founding Atari! The first thing he does is get a Data General Super Nova machine and tries to play about with them, to get his first game working. Keen readers will know, our friends in Soul of New Machine are trying to build a successor to this machine. [Im skipping over the Eclipse, as that is basically vaporware IMHO!]
This Super Nova machine is described by Isaacson as looking like a fridge. But he said that the Super Nova was slow and hard to use. So Bushnell moved on, and eventually came to the idea that he would build hardware, and go the coin-op route, and put the arcade machines in bars. Before he did this, the idea of computer games at homes and also of arcade machines basically did not exist.
This evolution is huge for the modern world of computing. Games and Graphics become a new driver of hardware and software. The computer begins to evolve beyond offices and databases. It's interesting in that light, our friends at Data General lost their battle before they even started. Their machine was doomed to fail for reasons outside of their control. This is a touch harsh, as the machine they built did well. But the market is served and the company themselves was already doomed.
Monday, 26 October 2015
Another interation..
The Microsoft case study for this week is interesting. But its nothing new to me, really. We look at three teams at Microsoft, they adopt a new practice and are diligent about it. They are monitored pretty closely. I think any team of skilled people, [..with the eye of Sauron on them] will do well working with practices which break out their work and have clear tasks like this.
On this week's readings, Kent Beck is this week's interesting fellow. He was one of the brains behind the agile manifesto [so I have read in a few places, but I hazard a guess that more than person has that said about them], and was one of the initial folks who put their name to it. Now we move onto one of his earlier papers dealing with Extreme Programming. In my working life XP is a bit of a joke, a term of derision. But what he is clearly doing is pulling good ideas from here and there, and making a new thing. Not unlike Henry Ford coping meat packing practices when he wanted a way to make more cars, and make them cheaper.
But if you read what he is actually saying it's the direction a lot of software companies have gone. They work on loads and loads of small iterations. They want to get the software to their production servers as often as possible, many times a day if you are doing it right. You design, code, build, test and then deploy many tiny things, rather than big huge monolithic things [as Waterfall tended to do]. That way, if your Microsoft working on Office 365. You have a story to take advantage of 3D printing or something like that. You design that one thing in isolation. You get the team to code it. Then you release said enhanced printing function without having to patch a billion copies of office, or doing another release or something. You make your enhancements, release when it's ready, patch your host servers and you are done. Customers have enhancement. Back 5 or 10 years ago, that would be a feature lost in a big bang version of office which hit your desks every 3 or 4 years.
Monday, 19 October 2015
A Perfect World
A number of years ago I was building a testing team for a company who had previously not really cared about software testing. That company had previously believed that agile development meant that they did not have to test their code. They thought that they could push rapid fixes to their live environment, and this negated the need for any formal testing structure. [Note: This may seem almost funny now, but a lot of people and companies really thought at that time]. In building that team I interviewed a gentleman who worked for a company who wrote the software which tested artificial hearts and lungs. Imagine, my companies bug will cause us to need to push out an emergency fix out of office hours. His companies bug will potentially kill people! It’s a different mindset.
I think when we look at Fishman’s Nasa example anyone in “commercial” software development. The software at Nasa cannot have any errors, plain and simple. They have spent the time planning, and clearly have the people time and processes in place to ensure that it is perfect. As the article mentions “It is an exercise in order, detail and methodical reiteration”. I have spent my career in development teams at rapidly growing commercial software companies. Our focus is on getting “this” feature out, at the best quality possible in the time available, and to move onto the “next” shiny object feature. Our resources and timelines are driven by commercial reasons. The resources and timelines at Nasa are clearly driven by the need to get it right.
If you go to the next level of information in the article. One line jumped out at me, they speak about how they get to the near zero defect rates, “Packet data and view graphs on a line by line basis”. I read that and I genuinely wonder how ANY complex code can get passed that. But I have never worked in a zero defect environment, and clearly wont ever! In commercial software development, we fix any critical defects. We have logs, and basically ignore things below error level, any warnings or info notifications don’t even get logged in the defect system. Clearly at Nasa, they want the logs empty of anything. I cant emphases enough how huge of a mindset change this would be for most people.
Finally, there is one last thing to be pointed out. The article quotes someone at Nasa as saying, “Don’t fix mistakes, fix what permitted the mistake”. This is one of those things that everyone knows, but virtually no one follows through and puts into place. It's like when I lost a lot of weight a few years ago. People are disappointed when I tell them I exercised more, ate smaller portions and made my own food. Folks want a story about a magic pill. They simply don’t want to know solutions that a 5-year-old could tell you. In this scenario, you have a defect and any developer could tell you that you don’t just fix the issue, but you fix the root cause. But I have done proper root cause analysis a tiny number of times in a 15-year career around software development [Mostly around times around defects which resulted in LARGE financial loss for the company!]. We all know we should do it, but no one takes the time to do it properly.
Wednesday, 14 October 2015
Monday, 12 October 2015
People are strange...
Before we do that, as a second-year student, one of the clear advantages we have already encountered a lot of the seminal papers in the areas we are working. Last year I used to HATE when a second year said in class, "oh yea, we did that last year" and the lecturer would skip over it. So Im trying to avoid doing that. So many of the papers referenced in this week's readings have been covered in modules we have already completed, which makes it easier for us second years to grasp. We have already spent 6 weeks trying to get our heads wrapped around bloody structuration theory!!! So for that reason, I'm not going to talk about the classic Curtis, Krasner and Iscoe paper [one of my favourites from the course so far, for what it's worth]. My project shall indeed use it, as I do love their core point that we should not see requirements as things to be dragged from users heads. But that often requirements don't exist and have to be constructed from various human interactions.
In the Fiction of Methodological Development paper, Nandhakumar and Avison say,
"There is one particular part of the "The development process therefore, far from being a life-cycle process, involves complex human actions and interactions. As Orlikowski and Robey (1991) claim, developers ``do not act in a vacuum'', but are influenced by various issues in the organizational context, such as their knowledge about methodologies and implicit social norms, the resources available to them and the organizational form and culture. Drawing on Giddens' (1984) structuration theory, we may see the development process in terms of cycles of interactions between developers' actions and social context in which the developers draw on their knowledge about organizational context and methodologies. Activities of the EIS team members, in turn, helped to reinforce this social context"I think this raises critical points which are easy to miss. We often obsess with methodologies and process or indeed with technology "we need to port this to the cloud, and all our problems will go away". As their study finds, is that it's all about people. A team of people who are people shy introverts will often be doing things very differently day to day than another team of extroverts shooting nerf guns at each other! These are extreme examples, but you find these kinds of teams in every large company. I once managed a team of developers in Kiev, and if micro-managed their work was excellent. But if left to their own devices, their work was sloppy and sub-standard. They needed to be told what to do at every level, and that was what they were used to. Contrast that with the team I worked with in Cape Town, South Africa. If I tried to micro-manage them I would have serious problems. They are much louder and stronger personalities. I gave them requirements and deadlines, and from then by and large got updates in morning stand-ups and at no other time.
Jim Morrison said it best, "people are strange.."! That is what is important to remember in all of this. You adapt process around all processes, but especially development to what team you have. One team will do Kanban, with many tiny tasks in an ever flowing board. With another team you have a small number of bigger tasks, reviewed monthly or something. It all comes back to the people! You want to look at the people on your team [& who your customers are, and who they have], and how you get the best from them. You adapt to your people and environment. I would not go full on Myers-Briggs with specific labels. But I cant argue with their general point, and how it drives who will work best with who [all things being equal].
In our Iona case study it seems to be clear [to me!] that as they became bigger and more successful, they lost some of that fun start-up culture. It was not fun anymore. But the other side of that start-up culture is that often bad processes often become embedded and at times you will get a hero mentality, of people and teams taking on huge burdens in an effort to be seen as "the best", and that also looks like it happened at Iona. That is where you need to step back at times and look at what you are doing, and why you are doing it. You need to examine who you have, if they are doing their best and if they are happy [and if not, how can you make things better for them and your customers. This is tied to the points above. Its about the social context of folks actions. At times its VERY important that a leader takes a step away. The leader needs to look at things being in place for the sole reason that person x did it this way once, and this becomes the process everyone else must follow. No knows why we do it, or why we expect that its slow or manual. But every time we do this slow manual process put into place by mister x it gets reinforced [in the Iona case, its the stupid long hours to support products!]
Monday, 5 October 2015
SDLC, Waterfall versus the rest of the world!
Tuesday, 29 September 2015
On the Big Ball of Mud, a reading on the paper by Foote and Yodder
For reasons of financial necessity or just disorganisation a lot of development teams have short sighted goals, where any kind of working delivery is viewed as a far better outcome than taking longer to make a more reliable or easier to maintain solution. By taking this approach, these short-sighted teams will build up technical debt. That is, they will get their working delivery on a high-interest lease program, with a large payment due in the future as their system is difficult to expand and upgrade.
Think of an ERP system. In one of our previous modules, we were told a number of large investors used a company announcing the roll out of an ERP system as a merger and acquisition strategy. These investors considered ERP systems so complex & expensive a number of companies investing into getting them in place will run into problems and cripple the company. You often see and hear of companies having these systems in place, and they get someone to customise them, to suit their practices & desires. This makes this easier day to day, which is good. On the flip side this is a fast track to ball of mudland!! I managed an instance of SalesForce [a CRM system] for a large finance company. Their SalesForce instance was *very* heavily customised. What this meant was that when SalesForce did their system wide upgrades 3 times a year our system fell apart, and once took three weeks to fix. When I left that company SalesForce were about to retire two features we were heavily dependent on. We had never taken the time to upgrade them [3 years after they first said they would replace them]. Management simply put the update on the long finger, and left them alone as we had spent so much time and money customising the system. That it was deemed too expensive, it did not add any value. So then, down the road, they were faced with a major upgrade project, with a gun to their heads, and half the time and necessary resources available. Insert more mud here!!
I do like the focus, so far on this course, in thinking about how a product manager would think. As a product manager you need to think about getting your "thing" out the door. But you also must have an eye on medium and longer term goals. So there is very little benefit in getting a version 1 out there, if its unstable or impossible to maintain, as by the time you deliver it, plans are well underway to your next set of enhancements. Consider this article, from an industry blog I often read. This article describes how you break down complex items into easy to digest user stories which your development teams can then consume. They can build their solutions accordingly. But it is very much implied [and I would reinforce in person], that in the example on that website example, I want the ability to later add currencies, change prices etc. You build your system with that in mind from day one, it takes longer out the door, yes - but later enhancements are easy [as is testing and eventual refactor & redesign]
Monday, 28 September 2015
Iona..
I also work for the current incarnation of what was a company founded when Iona was broken up. Cape Clear software was a spin-off company from Iona, and was formed in 1999. It was based in Ireland and Californa. Cape Clear became one of the world's leading providers of enterprise service bus software. In 2008 Workday Inc bought Cape Clear, and what was Cape Clear became Workday Europe. Read this interesting blog post, posted by Annrai O'Toole in 2013. You will notice the name, as Annrai is listed in this week's case study as an Iona co-founder, and is now CTO of Workday Europe. The blog covers the first 5 years of the partnership between Cape Clear and workday.
Working on the move..
I was at the rugby in London over the weekend. The flight was delayed on my return. What is brilliant is that I don't really miss much in terms of work.
I have full email and calendar access from my phone here. I can chat with the various teams in work with on Slack. I was able to dial into one meeting from the Gatwick express train (we had folks on the call from 3 different countries). This was made easier as we use a phone service with local numbers in each country. So I'm 2 hours late to the actual office, but thanks to some good technology solutions the world keeps turning & no one is stressed :)
Not only that, my multi tasking extends to doing this blog post for college on my phone, with the blogger app!
Tuesday, 22 September 2015
Fieldwork Research, Ticketmaster
Im going to look at this progression from old system, to the new system with the help of two different protocols. First, I am going to do a 5 whys on the process of site going down and what could be done around that. Second, I'm try the site, and be my own customer.
- Ask why in response to 5 consecutive answers
- Ticketmaster crashed under high load
- Large amounts of users overload web server and backend systems
- Ticketmaster front end systems flood the backend with more users than it can handle
- Web servers handling high user load is very easy, but one point of failure in backend would show a failure in front end
- Backend failures are often costly, difficult and time consuming, they also take the entire site down, to overall lost revenue is extreme, and not just limited to one set of concerts :)
![]() |
Oops, you need to start again - and by that stage you know the concert will be sold out :) |
![]() |
Still not perfect, but waiting in line for a chance to buy a ticket is far better user experience than the site full on crashing :) |
- Outline typical customer experiences
![]() |
Ah, you nearly got to the end, but our payment gateway is down, sorry - start again and hope for the best :) |
Monday, 21 September 2015
Activity Checklist
- Object-orientedness
- Hierarchical structure of human activity
- Internalisation and externalisation
- Mediation
- Development"
Monday, 14 September 2015
The Soul of a New Machine
On the subject of the book, many wont have read it yet. Without giving anything away, its interesting that at the very start of my career [a long 16 or 17 years ago] I worked in a couple of software companies with a culture and environment a lot like what the book describes. Overall at the time I did not mind, but I look back and think that I learned a lot from those experiences, but many of those learnings are things not to do again and places where we were disgustingly inefficient in terms of planning or process. I think many of the people in the book would say the same thing.
Anyway, more on that whole subject in a few weeks :)