What is Agile?

Agile is another buzzword that's been floating around in the technology industry and beyond for a few years now. It is thought to be some new magical way of doing things that delivers faster and cheaper. In this series of posts we take an indepth look at what this is all about.

Waterfall-VS-agile.png

Agile is stems from the world of software development. Traditionally large projects would collect requirements for software upfront and thoroughly document them. These requirements included everything the piece of software intended to do i.e. all the features. For example a mobile banking app would have all the features desired documented and then, only then would development begin. Nothing would be released until all the features were implemented completely. The problem with this approach, especially in the world of technology, included project often being delivered late, features in the final version often not really being needed anymore and newer desired features missing.

Agile at is core is simply about getting a very very basic usable product that works shipped. Because it's basic it can be delivered quicker. You can then review, take stock and think about what feature you want to deliver next based on customer feedback. For example under an agile approach a mobile banking application under an agile development methodology would simply be an application that allows the customer to securely login and check their balance. The next feature would be decided by customer feedback.

The core concept is small incremental improvements done in timeboxed manner rather than a big bang. You get something into the hands of the customer faster and they help shape the future direction of the product.

In this post we looked at the idea behind agile. In a future post we'll look at how we do agile!

What is Net Neutrality and why should you care?!

net-neutrality.jpg

When government and large corporations want us to ignore an issue that will benefit them and be to our detriment they make the issue as hard to understand as possible. For example, look at politics, often very important issues are being decided but by making politics difficult to understand and engage in, it leaves Government pretty much out on their own to do what they wish.

Net Neutrality is another one of these issues which is being made complex to ensure we don't engage thus leaving large corporations to do as they please ultimately for their own monetary benefit. Net neutrality is the principal that the internet should treat all traffic equally by your internet service provider (ISP) and governments regulating the Internet. So your ISP should not slow down or block certain websites or services based on who pays them the most or to favour their own services.

So next time someone asks about your opinion on net neutrality, now you know. And hopefully your response will be "I agree with net neutrality and am in favour of it. I want an internet where all websites and services, and access to those websites and services are treated equally!"

API vs Web Service

What is an API?

 API Explained

API Explained

API stands for application programming interface. An API is a mechanism by which allow you to write code that allows interaction with another program or application.

For example Microsoft Word has an API (visual basic) that allows anyone to write a program to interact with Word.

An API can be in any programming language. To interact with that API your program or application needs to be the same language. 

Web Service

 Web Service Explained

Web Service Explained

A web service is a program written to perform a specific function or set of functions for another program over a network (i.e. internet).

For example if we were writing some Skiing application and needed weather data we could call the Yahoo Weather Web Service that returns the data we need.

Advantage of a web service is that the way to interact with the web service it is always the same (a HTTP call) and the response is always in a format that any programming language can consume. 

A web service is considered a special kind of API.