Featured post

Why Every Software Projects Should Have CI


Have you ever experience in Software Development where your client needs you to release a build for demo, but you're in the middle of getting a feature done, and for some stupid reason you committed that unfinished code in your project. Ends up, Angry client.
I know it's frustrating, that's why CI (Continuous Integration) is built, and Process Models exist.
Here are some reasons, why you should have CI in your Projects
  1. Maintain a Formal Code Repository - on many startup projects, most of the time, developers only have one single development line in the project. What happens here is that, if other developers in the project will mess up the code, the project becomes unstable. With the idea in CI, you are encourage to follow source control guidelines, which introduces multiple branches for multiple releases.
  2. Automate your Build and Self-Testing - the great thing with CI is that it encourages the team to be test-driven. What this does is, it automates the Unit Testing of your project, so that every time your team commits, tests are run every build - make it easy to monitor if your code breaks when there are new changes
  3. Provide Latest Builds to your Testers - it's really time consuming when testers in your project goes down to your station and hands you a phone so that you can build him with the project you're working on. And you then realize his phone is not yet setup for testing. With CI, this is automated, and your testers can then just install the builds by themselves, thus saves time for both the developers and testers.
  4. Provide Latest Releases to your Clients - Not only the development builds are formalize, deploying your builds to the clients also are automated. 
  5. Everyone can see the results and the health of your Project - With all the branches and builds displayed in the CI monitor, everyone can see the health of the project. Where developers can see if the unit-tests are successfully executed, testers can see and test the build for new development versions and Clients can see the healthy releases, and can now prevent to test faulty builds

Comments