Adopting agile devops requires a structural mind shift, and successful IT teams follow manifesto guidance to change delivery dynamics, take small steps to build one team, focus on real deliverables, accelerate reactive adaptation, and guide continuous loop activity.
Recently, there is a heaty debate regarding TDD which started by DHH when he claimed that TDD is dead.
This ongoing debate managed to capture the attention of developers world, including us. Some mini debates have happened in our office regarding the right practices to do testing. I will present my own view.
Oracle says, "The hierarchical naming structure for packages is intended to be convenient for organizing related packages in a conventional manner, but has no significance in itself." It is precisely this significance that some principles attempt to capture.
A while ago I was asked to talk about the problems of using TDD – being me I’ve decided to do the exact opposite, this session was names “what is wrong with TDD”.
Unfortunately, most IT teams do not have an environment fostering the rapid iteration, streamlined workflow, and effective collaboration required to operate at the speed of now and capture business opportunity.
Since Grails 2.3 we can define exception methods in our controllers to handle exceptions raised by code invoked in the action methods of the controllers.
Debuggers have become powerful tools, but like a drug have we become too dependent on them? A persistent fact in software is that between pre-test, QA, and deployment the cost of finding bugs is 1:10:100. Have we become so dependent on debuggers that we accept a process that is 10 times more expensive than other alternatives?
Successful movements have a clear manifesto outlining goals and principles. Many DevOps adopters may not be aware of the DevOps Manifesto (created by Jez Humble @jezhumble) nor how successful DevOps requires keeping a clear focus on principles, practices, and value (instead of infrastructure tooling.
In this article, you will find the steps to enable OpenID authentication in Spring-Security applications. Sections covered include the changes in spring-Security.xml, a sample implementation of beans defined in the config file, JSP changes, and how to test the application.
Make sure you didn't miss anything with this list of the Best of the Week in the DevOps Zone (May 16 to May 22). This week's topics include the DZone Research Continuous Delivery update, Continuous Delivery loose ends, abstraction and automation, how TDD affects design, and thoughts on testing.
We programmers keep our instance variables private and automatically add public setters and getters to them. This is the same as making the instance variables public. Why are we exposing our variables in this way?
In this article, you'll find a list of the top 10 improvements that impressed the author over previous versions of JDK.
In regular integration tests, we would have an integration deployment of all sub-systems, in order to test how they work together.
Recently I started to implement our release process in Jenkins. Until then I just ran the release plugin of Maven on my local machine which did the job. As I said we decided to move this task to Jenkins.
Unit Testing has moved from fringe to mainstream, which is a great thing. Unfortunately, as a side effect developers are creating mountains of unmaintainable tests.
Blackbox automation testing should be part of any successful software development organization. Unit testing is great, but to cover the largest area of your software with the least effort you need to have blackbox automation testing. Not only that, but you also need to have an automation testing framework.
As Java developer, you are probably using a lot of frameworks. Spring or Hibernate can significantly reduce amount of boilerplate code.
In this post I will let the code do most of the talking and just tell you that I want to share a Groovy script for finding information from Maven pom.xml files embedded in JAR files. The reason for this is that I wanted to create a list of third-party libraries and their versions that are provided in a Mule server.
For many SDN and DevOps enthusiasts, the natural outcome of this wave of technological change is a highly-automated network that is well-orchestrated with surrounding systems and applications. One of the prevailing thoughts is that this level of automation is a well-formed abstraction layer.
DHH recently wrote a provocative piece that gave some views into how he does and doesn't test these days.
Ideally, Vagrant itself would optionally call scp directly to side-step the OSX issue. It would also be ideal if they supported S3 directly, as well. In fact, just let us write our own shell command/script to download the file.
Today’s interview from last week’s DevOps Days is with Matt Ray from Chef. Matt did a cool a presentation on the first day about how to introduce DevOps to traditional enterprises (see below) and I was able to grab him on the beginning of Day two to hear about his talk and the latest regarding Chef.
TDD doesn't create good design. You do. TDD can help expose design smells. You have to pay attention and fix them. TDD can push you toward facile solutions. You have to be careful not to make your design worse just to make testing better.
A few weeks ago I did a presentation entitled “Conway’s Law and Continuous Delivery” - although it was also at some point entitled “Conway’s Law and Organisational Change” or possibly “Conway’s Law and Change for Continuous Delivery” - to the Pipeline Conference in London.
Make sure you didn't miss anything with this list of the Best of the Week in the DevOps Zone (May 9 to May 15). This week's topics include test-driven development obstacles, TDD for refactoring, the Java 8 type "Optional", configuring Sonar in Ubuntu, and effective Puppet module management in Vagrant.