Latest Publications

Importance of code reviews

Irrespective of how a project is managed, when an application is released and rolled-out, there can be a nagging question as to whether the application is performing efficiently. In any project, time pressures can force corners to be cut and short-cuts to be taken. At the end of day, if the features are operational and available, things must be ok – mustn’t they ?

In projects based on agile principles, code refactoring can be included, whereby the underlying code and not the features of an application’s functionality is reviewed and updated where necessary to make improvements to how an application operates. A proper and regular code review process helps to ensure that technical debt doesn’t build up in an application.
Continue reading…

CAP is important when designing cloud applications

Whether you’re moving an existing application to the cloud or starting afresh on the cloud with a brand new application, CAP is an important topic to consider when (re)designing the architecture of your app. CAP stands for Consistency, Availability and Partitioning, three characteristics that are key when designing a distributed application. These three characterictics have an important bearing on the capability of your application to scale up or down with no negative impact which is a basic requirement for cloud based applications. Continue reading…

US Governments intent to use cloud computing

I wrote a recent blog covering a survey from last April of local government’s use of cloud computing in America. A similar intent is being demonstrated by the US Federal Government based on recent statements and events as well as some recent announcements by HP and IBM.

Continue reading…

Scrum and Kanban – the agile way

Within the umbrella of agile practices, people enquire about the Scrum methodology and the Kanban technique as regards their similarities, their differences and potential benefits using one over the other. This blog looks at the characteristics of each, potential scenarios where one or both could be used to best advantage and finishes with a video of Jean Tabaka providing her perspective on both methodologies. Continue reading…

Web security Oauth or OpenID

There has been a lot of online talk about Oauth and OpenID, what they contribute to website / applications security, how they differ and/or are similar. I would like to show how they can jointly contribute to increased security for a website or application. To put a context on this blog, I refer to a previous blog that I wrote on Building in security to websites and apps, where I discussed a selection of OWASP principles of confidentiality, integrity and availability.

Authentication and Authorisation

Within the scope of OWASP’s availability principle, authorisation and authentication are important and are closely related. Authentication starts the process where a system identifies a user and establishes whether the user is who they say they are. Authentication can take different forms, from a simple password to the use of a person’s fingerprint and beyond!

Authorisation then steps in, where a system determines the level of access an authenticated user should have to a website or application feature(s)/function(s). Some users can only read information, while other users can change information.

OpenID is every much in the authentication area, while Oauth is in the authorisation space. Continue reading…

Agile and user centred design working together

In my own experience and from reading various blogs, questions on the compatibility and possible conflicts between user centred design (UCD) and agile principles get raised. As an advocate of both sets of principles, I think they are compatible and can influence the likely success of a project. Agile, scrum and user centred web design are compatible

Lets deal with the some of the questions.

There isn’t a clear role for designers in an agile process ?

In some agile literature, there can be a lot of focus on developers, scrum masters and testers etc. However, other roles such as designers and architects are considered important and included in the agile processes. The key distinction is that such roles may not be as full-time as developers etc, but that doesn’t mean they are not as important.
Continue reading…

Whats your IT strategy portfolio

In a previous blog, I wrote about how to create an effective ICT strategy by creating a synergy between the business oriented IS strategy and the technical oriented IT strategy.Both strategies are linked and the progress of both are jointly assessed and measured through relevant kpis. Synergy between IS strategy and IT strategyThis ‘linkage’ will also allow for changes to the IT strategy in order to adapt to changes in the IS strategy driven by the business environment. With this approach the IT strategy is delivering a double benefit; supporting the achievement of business objectives and also providing the business with opportunities to innovate.

Delivering the IT Strategy

To further facilitate the delivery of the IT strategy, it is helpful to view the strategy ‘financially’ as an investment portfolio. This approach was presented by Professor Joe Peppard at an ICS Masterclass in 2009. Continue reading…

Self organisation a key ingredient for scrum

One of the principles of the Scrum approach to agile development and project management is self-organisation. The benefit(s) that occur when a team self-organises include improved performance and creativity within the team.

It is important to remember that when a team is self-organising, it is still working towards the goals of the organisation, so the direction of the team is set by the organisation’s management. Self-organising is not the same as self-serving. A quote from Philip Anderson in the Biology of Business which I read in Mike Cohn’s blog sums it up;

Self-organization does not mean that workers instead of managers engineer an organization design. It does not mean letting people do whatever they want to do. It means that management commits to guiding the evolution of behaviors that emerge from the interaction of independent agents instead of specifying in advance what effective behavior is.
Continue reading…

Technical debt can be managed

Technical debt is a metaphor that refers to the consequences of allowing low quality software coding to go unchanged. It’s one type of debt that Nama won’t be managing!

Ward Cunningham, one of the pioneers of extreme programming, coined the phrase to convey the potential risks of taking short-cuts when developing and testing code for an application. Ward’s first law states that lowering code quality lengthens development time. Continue reading…

Dont disturb me scrum at work

I recently attended a recent PMI Ireland chapter seminar on the use of agile principles. The scrum section of the talk focused on the differences between being a project manager and a scrummaster. Nigel Baker from AgileBear Ltd gave a very entertaining presentation that demonstrated how a scrummaster works and the differences between traditional project management and scrum. There are two points that I want to elaborate on from Nigel’s talk. agile scrum principles at work

Don’t disturb me

The scrum process provides for planning at different phases of a project including;

  • Release planning
  • Sprint backlog planning

This enables the delivery team and product owner, facilitated by the scrummaster to define product features with user stories and related definition(s) of ‘done’ for each sprint. With this in hand, the delivery team can achieve momentum to deliver working software with no interference.
Continue reading…