Sunday, October 13, 2013

Open Source: Linux

Linux Desktop
The design behind Open Source software is quite simple. When programmers can read, change and distribute code easily, the code will mature. This all happens at a speeds far faster then if it was privately driven at conventional companies. Because the code is free, more people will be testing it than the closed software developer can. Open Source is free and anyone can improve it.

Many of you may think you are not familiar with any Open Source programs but think again. You are using Linux when you look at Google, Facebook or Amazon. In an interview with the creator of the Linux operating system, Linus Torvalds, states that for the past 10 years Linux has been striving to be more portable so it can run on anything from cellphones to supercomputers.  Do you own or know someone that owns an Android cell phone? Well it uses Linux.

There is much debate on Linux being the future of gaming. the Linux platform is said to be faster and more stable than any of the other platforms, but due to its lack of games, it just hasn't made it. Already some of the big labels in the gaming community like Steam have many games running on Linux, but as for the personal computer, Linux just isn't popular. 

Raspberry Pi
There is also a credit card sized computer out on the market called Raspberry Pi. This system is Linux based and only costs $25!  Although you won't be able to play Diablo III on it, it will do common computing tasks such as spreadsheets and word processing. It could get people involved in computers who otherwise wouldn't be. It can get people in the mindset of using computers to do everyday tasks like controlling your water heater.



This cheap little computer can be a milestone to a Jetsons future!!

The Jetsons flying car

Sunday, October 6, 2013

Agile: Better Than the Waterfall Method of Software Development?

keyboard with code
There has been much hype about using the Agile Methodology of Software Development over the traditional Waterfall method but both have its advantages and disadvantages. Agile method proposes an incremental and iterative approach to software design. The process is broken into individual models or sprints which the designers work on. It was essentially developed in response to the limitations of Waterfall, as a way to give designers more freedom. Let's evaluate the benefits and limitations of each process.

What is so good about Agile and does it have any drawbacks?  Well, Agile offers an incredibly flexible design process.  Customer feedback is considered at every sprint. This could prove to be useful if the project requirements are a bit unclear and involves the customer in what product is being delivered as it is being created. Agile would be a great approach to developing experimental software which might need to respond to change in requirements in a timely manner. However, not all projects need to be flexible and the outcome of Agile development can be hard to predict because of its flexible planning.

The Waterfall approach develops software from start to finish. before any development is done a solid plan and vision is needed.  Because the Waterfall method requires extensive planning upfront, software is launched fairly quickly. Estimated timetables and budgets can also be delivered to the customer. On the other hand, this method is rigid and inflexible.  Any changes in the design can devistate the project. Testing occurs late in the development cycle and if a major problem is found it could be difficult to fix.

So which method is better?  Depending on what your project is each method has its benefits.  The latest trend has been toward using the Agile model.  Some say that Agile cannot be used for large projects with a 3-4 year cycle. In a study called the CHAOS Manifesto 2012 by the Standish Group, Agile projects were 3 times more successful than Waterfall projects. The Standish Group defines project success as on time, on budget, and with all planned features. They do not report how many projects are in their database but say that the results are from projects conducted from 2002 through 2010.