Automated Builds and Continuous Integration

by Jig 28. September 2010 15:17

What is the difference between Automated builds and Continuous integration?


Most of the people have a common misunderstanding of minor differences between the two. People working in Agile world would surely know the importance of these terminologies. I have been following Agile Methodologies for a while now and actively looking for a build automation tool, but I have not completely satisfied with any of them yet. May be because I don't know core flavors of each one yet.


Build Automation:

There are various build automation tools available, which are used to automate the build process, instead of doing it manually. These tools include:


Continuous Integration:

These tools are the triggers that listen to "events" in the network (a check-in to source control, could be a trigger). We can configure these tools to do a few simple things when an event happens.

Some of the tools include:

What should we use?

I really don't know yet and open for discussion on this. I am looking for something easier to configure and which is not a maintainability nightmare!


Agile Methodologies

by Jig 30. March 2010 15:07

Well I have been going through Agile training in my company, and whole atmosphere is Agile-oriented here these days, so I thought let me speak about it as well. There are several projects going on here, but they decided to migrate couple of projects (including mine) to adapt Agile techniques.


Agile software development process is basically another fancy word for dynamic software development or lean software development. It is an iterative way of developing where requirements and solutions evolve through self organizing cross functional teams. Agile mainly focuses on "timeboxing" concept, which means all tasks are narrowed down to smaller time frames. Few of the popular agile methodologies include, Scrum, Extreme Programming, AUP, etc.


Scrum is a process skeleton, or a work flow, or a framework, which contains a set of practices and roles. There are three basic roles in Scrum:

1. Scrum Master - Who maintains the processes, conduct meetings, etc

2. Product Owner - These are the stakeholders, customers or actual business people

3. "Team" - Cross-functional team who do the actual analysis, design, implementation, testing, etc.


Another good concept came up in the meeting which I really liked. It's called "Muscle Memory". Good example of "muscle memory" is - if I am a tennis player, I am used to one particular kind of swing. Now If I want to play Racket Ball I need to learn a different kinda of swing. Tennis swing will not work for the game of Racket ball. So to play good game of Racket ball I will have to overcome my "muscle memory" and learn new swing. This is the core concept in adapting Agile Techniques in real life!


Well, there are lot of other stuff I would like to include in Agile discussion. Stay tuned!

Hi, I'm Jignesh

My name is Jignesh Panchal and I am a Sr Software Engineer, UI Designer and system architect. I follow and practice Software Craftsmanship principals, clean code, lean startup methodology.


Besides this, in my free time I love to play tennis, cricket, PC and PS3\Xbox One games, dig in web development and design. Hardware hacking using Raspberry Pi, Arduino.

Page List