Agile Development

In 2001, 17 software developers met at Utah to put together ideas they had on lightweight development methods. They agreed on 12 Principles that turned into “The Agile Manifesto”.

Agile software development is about doing things based in short term plans instead of spending a lot of time planning a big strategy. According to the Agile Manifesto individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation and responding to change over following a plan.

Scrum

Scrum is the most common approach to agile development. It’s an alternative to the traditional waterfall method, as each process isn’t dependant on its previous process. All processes happen at the same time, quickly and in an interconnected, multifunctional matter. Then, after all processes are done, analysis and conclusions are reached and a whole set of new interactions can start.

If you want to know more about scrum you can watch the following video:

Agile development provides a way to know the direction of a project THROUGHOUT the development cycle, not before.

By: Carlos Martell and Lucía Velasco.

Is Software Engineering really Engineering?

To be honest, I didn’t understand this question until I googled it and found out that there are many people who think Software Engineering should not be considered as Engineering but as a craft. I read a publication by Bill Curran, a guy who thinks that SE has a misnomer. Apparently, early practitioners of Software Engineering wanted to call it “Software Physics” but the term was already taken.

After reading some more posts and discovering that some of they had a point. I decided to first know more about Engineering itself, so I could find whether SE was Engineering or not.

I read some definitions and I found a video made by the Faculty of Engineering and Built Environment at the University of Newcastle. It explains in four minutes and in an easy to understand and enjoyable way. You can watch it bellow.

According to the IEEE computer society SE is “The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.”

So I think Software Engineers are truly Engineers. Programming may be itself a craft, but SE goes beyond that. Software Engineers think about solutions for a problem, they plan, sketch, study, implement, test, refine and maintain them.