May 23, 2014

Continuous Integration

Code repository, automated build and continuous deployment How it all works All code for a project is stored in a code repository. Developers get code out of the repository, work on it and then put it back. A number of things can then check the code for quality, standards and test coverage. The solution can…

Read More
May 5, 2014

Further Design Patterns

Once you have understood the SOLID principles, you can see how these apply to real life problems and solutions. During software development we come across the same problems time and time again. Luckily, very clever people have also come across these same problems and have defined solutions for us to use in our everyday coding….

Read More
May 2, 2014

Design Patterns

Design patterns are solutions to common problems encountered while designing and building software. As part of being a good coder or architect it is vital that you understand the common design patterns. These patterns will make up your common language that you use in meetings and when explaining solutions to others and understanding solutions being…

Read More
April 14, 2014

Test Driven Development (TDD)

Test Driven Development (TDD) is one of the core practices of Extreme Programming and a best practice that is becoming common place across the financial industry and beyond. TDD is about writing tests first, before you write the code. In essence the tests drive the code, hence the name. How does it work? TDD is…

Read More
April 8, 2014

Extreme Programming (XP) – An overview

XP is a very popular set of practices and firmly part of the Agile family. XP fits very well within other processes like Scrum. It is a set of values, principles and practices that are used to create excellence from and within the development team. XP differs from Scrum in that Scrum is a framework…

Read More
March 27, 2014

Zachman Grid and when to use it

The Zachman Grid or Framework is useful tool for determining what artefacts to create as part of the Enterprise Architecture work in an organisation. The grid as defined on the Zachman website is given as:   Source: http://www.zachman.com/ea-articles-reference/54-the-zachman-framework-evolution The framework will only ever be a small part of the overall architecture effort as it is just…

Read More
March 10, 2014

Agile

Agile is a set of values from which an entire set of software delivery methodologies and practices have been derived. All Agile practices follow the same fundamental principles as set down in the Agile Manifesto and Principles, however, because Agile is flexible to meet the needs of individuals, teams and organisations, each work place implements…

Read More
February 7, 2014

Project Type – Agile or Waterfall

All work in IT is based around projects / products. Projects can be large and run for many years or can be small and run for a few days or weeks. Projects are typically run according to some sort of management methodology. The two methodologies prevalent today across all industries are Waterfall and Agile. Waterfall…

Read More
February 5, 2014

Waterfall

Waterfall is the old school methodology of software development but is still practised by companies throughout the industry. This section will teach you all about waterfall methodology and its shortcomings. The waterfall methodology is so called because of it is a linear approach to development with each step flowing on from the previous one. These…

Read More
February 1, 2014

Dependency Inversion Principle

Definition: One should depend upon abstractions and not concrete instances. Typically in a software application, high level components need to depend on lower level components. If the low level components are ‘hard-coded’ into the high level components this causes two problems. Testability The first problem is testability. It becomes very hard or even impossible to…

Read More