Tuesday, October 15, 2013

AGILE, show me.

 I recently was working on a web site for a friend of mine.  He continually asks me how my progress is going and he generally wants to see what has been completed.  I tend work on the back end of my projects first and then create a user interface that connects with the backend workability.  I hadn't completed any of the user interface but he demanded to see the site.  I showed him the various tools I had built and described to him how they would interface with the user.  He wasn't at all impressed with my work.  He was looking to see a neat and shiny product that would impress him, and all he saw where numbers in a terminal window with no magic.

Agile is a lightweight development methodology that focuses on customer stories for production.  Agile can be used in variety of ways that can be tailored to individual needs and cases.  But what really makes Agile shine is its tools that allow each member of the production to team to work more efficiently.  For now I am going to skip how Agile works and I am going to proceed to sell you the idea.

Client:  With Agile the client will be given various land marks for production.  They will be able to see what things will be completed and when.  This allows them to have a good expectation of how things are going and what to expect when asking to see the current iteration.  Agile also allows the client to explain to the production team how the product should look and act without needing to have any technical knowledge.

Production team:  Agile allows the production to take the "stories" that the client provided and decide the best approach to completing this task.  It sets up goals and landmarks to help focus production and allows collaboration between the team.

Managers:  Agile allows team managers to see and follow progress.  They can easily report the status of the project and adjust for unforeseens along the way.

Customer:  The end user will be supplied with a great product that was quickly released.

I would have been able to set a better expectation of the site I was working on had I followed some of the simple steps that Agile provides.  Finding ways to collaborate, while quickly turning out a product, while supplying the "higher ups" with the information they want and all the while keeping the client happy has been a long and timeless struggle.  Agile provides a solution to this problem and I for one am a fan.

If your interested in looking to Agile and the way it works, watch the video below.

OPEN SOURCE: the only kind of Source.

As a teenage I was determined to build my own computer.  My parents had an old iMac and this thing could not play a video game to save its life.  So my solution was to save up and buy a computer piece by piece until I had made my gaming machine.  What I didn't count on was that after it was built I would need to have software to put on it.  I couldn't as much as write a paper on my new beauty.  So I did some hunting and found my answer in Open Source.

Open Source software is simply projects where the code is available for users to look at and or change. This allows large groups of people who may or may not know each other to work on the software and make it better for no more than a bit of glory.  As a result the software is free and available for anyone to use.  A couple of well known and useful open source projects are as follows:
Ubuntu is an entire operating system build off the Open Source platform Linux.  Anyone can download and use it for free.

Open Office is a free and open source project that is attempting to replace Microsoft Office.  The original developers thought that office was to over priced for the simple software that it is and created an alternative.

Apache is a web server used by a majority of the internet.  It now comes preinstalled on every Apple Computer because of how powerful and useful it is.

Open Source projects like these have reduced the cost of competing software, made it easier for small business to cheaply operate and have allows millions of coder to collaborate to create great work.  I use Open Source software when ever I can, and I highly recommend you do as well!