Project Managers: Know about Conway’s Law?

From Wikipedia, available under license as detailed here:

Consider a large system S that the government wants to build. The government hires company X to build system S. Say company X has three engineering groups, E1, E2, and E3, that participate in the project. Conway’s law suggests that it is likely that the resultant system will consist of 3 major subsystems (S1, S2, S3), each built by one of the engineering groups. More importantly, the resultant interfaces between the subsystems (S1-S2, S1-S3, etc) will reflect the quality and nature of the real-world interpersonal communications between the respective engineering groups (E1-E2, E1-E3, etc).

Another example: Consider a two-person team of software engineers, A and B. Say A designs and codes a software class X. Later, the team discovers that class X needs some new features. If A adds the features, A is likely to simply expand X to include the new features. If B adds the new features, B may be afraid of breaking X, and so instead will create a new derived class X2 that inherits X’s features, and puts the new features in X2. So, in this example, the final design is a reflection of who implemented the functionality.


A real life example: NASA’s Mars Climate Orbiter crashed because one team used United States customary units (e.g., inches, feet and pounds) while the other used metric units for a key spacecraft operation. This information was critical to the maneuvers required to place the spacecraft in the proper Mars orbit. “People sometimes make errors,” said Dr. Edward Weiler, NASA’s Associate Administrator for Space Science. “The problem here was not the error, it was the failure of NASA’s systems engineering, and the checks and balances in our processes to detect the error. That’s why we lost the spacecraft.”


His True Name – Part II


A few days back I had talked about the importance of reciting the lord’s name even once. Today I want to revisit that with another interesting parable, from Sri Guru Granth Sahib.

Ajaamal was a sinner, and having married a prostitute, he fathered a son. He met a saint and asked him what he should name him. The saint suggested the name Naarayan which in Hindi refers to the Lord.

Throughout his life, he uttered Naarayan referring to his son. When the Messenger of Death came to take Ajaamal, he called out to his son. The Messenger of Death, on hearing Ajaamal say “Narayan” at the time of his death, got frightened and did not take Ajaamal. Thus Ajaamal was saved and reached the Lord’s Lotus Feet.

ਅਜਾਮਲ ਪ੍ਰੀਤਿ ਪੁਤ੍ਰ ਪ੍ਰਤਿ ਕੀਨੀ ਕਰਿ ਨਾਰਾਇਣ ਬੋਲਾਰੇ ॥
Ajaamal loved his son Naaraayan, and called out his name.

And then again, later:

ਅਜਾਮਲੁ ਉਧਰਿਆ ਕਹਿ ਏਕ ਬਾਰ ॥
Ajaamal uttered the Lord’s Name once, and was saved.

Guru Granth Sahib clarifies that Ajaamal’s recitation of the Lord’s Name, though impure (he called out because of attachment to his son, not because of Love for God) – still saved him:

ਪੁਤ੍ਰ ਹੇਤਿ ਨਾਰਾਇਣੁ ਕਹਿਓ ਜਮਕੰਕਰ ਮਾਰਿ ਬਿਦਾਰੇ ॥੧॥
Ajaamal called out “Narayan” for the sake of his love for son. Yet the Lord’s Name killed and sent the Messenger of Death away.||1||

Bhai Gurdas throws light on Ajaamal and his deeds:


Licensing and information about the blog available here.