Wednesday, October 5, 2011

Stupid Connector Pinout Problem

Today I spent half of a working day correcting the problem with wrong IDC2-10 connector pinout. The usual pattern in which pins are ordered is as follows:
1 3 5 7 9
2 4 6 8 10
In the User's Manual of industrial PC, to which I must connect, the picture looks like:
1 2 3 4 5
6 7 8 9 10
I was slightly alarmed when I saw it the first time, but I thought that this is their right to re-order pins on their own module. Today, when I tried to get my PCB and this third-party industrial PC to work together, it was revealed that pins on its socket are actually ordered in a usual way, as shown in the first block. The unusual order that I observed in the manual was result of mere inaccuracy of their documentation writer. Strictly speaking, this is not my fault, but if I would check the actual ordering of pins before working on PCB, it would save me several hours of my life. Instead, today I have had to do some mounted-wire soldering on all manufactured devices to bring PCB footprints pinout to an actual state.

UPD: They fixed this error in the latest version of the manual. I should had to check for the latest version before using it.

Saturday, October 1, 2011

CRM and Electronics/Software Development

In my spare time, I like to read one aviation forum. From there I learned that in the area of civil aviation there exists the whole concept about how members of aircraft flying crew should communicate and behave with each other, in order to achieve the best possible flying safety. I think, that something similar can be adopted to the field of electronics/software command development projects.

Crew Resource Management explanation on Wikipedia

CRM is all about preventing, detecting and correcting (even potential) human errors at the earliest possible stage, thus achieving the best flight results and safety. If you will regard flight of an aircraft as a multi-people PROJECT, you may naturally see that CRM principles can be applied also to electronics/software multi-people development PROJECTS. Unfortunately, I did not hear that even basics of such approach are studied in any university. This leads to very big role of project leader and his personal communication skills in overall success of any development project.
Such dependency could be mitigated, in my view, by working out and accepting concept of interpersonal communication in software/electronics development industry.

In particular, co-pilots are specially trained to correct the captain and to question potentially wrong decisions if it seems appropriate in a given situation. But in the area of electronics/software development, authoritarian project leader often has too much power and possibilities to send a project in totally wrong direction.