The fairness of software engineering organization management

During past several decades, there had been tremendous amount of growth of software industry. The exploding of software companies such as Microsoft, Google and Amazon also poise management challenges. In traditional industry such as auto, chemical, even electric industry, standard processes are developed to ensure high quality work can be delivered at large volume. However, software engineering organization are rarely managed using very strict rules because software engineering sometime requires some creativity, too many rules may restrain the speed of innovation. Also, software engineers typically have college or higher level of education, who often depict better than average self discipline. However, dramatic differences of outcome have been observed across different software engineering organizations, even for the same company, different groups can have dramatically different outcomes.

In a well managed engineering organization, members should focus primarily on how to build the right features with good qualities. Milestones with clearly defined deliverable are achieved with high quality. The features implemented are well aligned with the business and organization priorities. Those members who deliver the right features are compensated according to their contribution to the business. Achieving this level of behavior consistency at a large organization is none trivial, the performance review system, the background of the people executing the strategy, the organization structure and the product itself all play a role in the outcome.