Avoiding Conway’s Law using TDD and ATDD

Wednesday, July 11, 2012

Back in 1968, Melvin Conway stated that "organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations". This statement is still relevant today and is well known as the Conway’s Law. There’s a lot of truth in this observation, and many organizations take this law seriously and structure their development organization to best reflect their desired architecture. The desired outcome of such organizational structure, which is mostly achieved, is that each component is cohesive, loosely-coupled from the other components, and also pretty well maintained by the team –...

Guidelines for writing good automated tests

Monday, April 30, 2012

Hi everybody! Recently I was appointed to lead the test automation and TDD efforts in Retalix’s development group. As part of this effort, I realized that most people lack the knowledge of how to write good tests, and their mistakes lead to tests that are a pain to maintain, or give doubtful ROI. So I ended up putting this short guidelines on the internal Wiki. However, I thought that it should be useful to share it with everyone. What kind of tests these guidelines refer to? Any functional automated tests. That is automated tests that...

Do you really code-review? (Or: to pair or not to pair?)

Friday, February 10, 2012

There’s no doubt that Code review is an important practice. It has many advantages: · Bugs are likely to be found early · The quality and especially the readability of the code are kept high · Technical knowledge and experience is shared · Domain knowledge is shared In most organizations I encountered, some kind of code-review policy was in place. However, not many of them succeeded in implementing the policy. The main “excuse” is usually pressure, but in my opinion, the problem is deeper than this as I'll explain later. Another practice,...
no comments