I am not evangelizing TDD for various reasons but I would like to share an relevant observation which I frequently made while working on consulting projects. If developers do not know how to write tests or need to take shortcuts (in form of not writing tests) they usually end up with a codebase that is hard-to-test. I was recently asked to add tests to such a codebase. The project had a few tiny testcases. I quickly discovered that I can not write tests for the project without making the codebase testable first. Now I have to take the risk of refactoring without the safety-net of powerful tests.
(read more …)
For many years SOAP was the predominant technology in the enterprise world used for exposing data and application functionality as webservices. Even when better (and simpler) technologies like REST became available during the last 10 years, their adoption was slow. In my opinion the lack of proper API tooling was the main reason for that. Nowadays the situation has changed since adequate tools and workflows are ready available. I want to share with you some of the great things I recently learned.
(read more …)
Today I had the chance to meet with Joel Spolsky at a Q&A event. Joel is the CEO of Stackoverflow and maintains an impressive track record as founder in the NY startup community. Given his unique background of being a successful founder with tons of software development experience, Joel has something to say on what works in software development and testing.
(read more …)
DevOps is about operations, right? And about applying tools and processes from the Dev space to operations. But QA? Really? What I personally experience driving DevOps transitions is that continuous integration and operations need to work together. People need to realize that these are two sides of the same coin. One of the biggest challenges is that people often do not see it this way.
(read more …)
Continuous Integration is pretty important today even for small to mid sized companies and their software development teams. When it comes to choosing a continuous integration server there are many proprietary and open source solutions available. In the enterprise world Jenkins appears to be the default option these days.
In my opinion CI servers are today becoming more important than ever. If you do DevOps and infrastructure-as-code you need tools that you can rely on for your automation tasks which are easy to maintain. I think Jenkins is not there (yet).
(read more …)