The results would likely be much worse if inexperienced workers used their own discretion in absence of experienced workers guidance. Brooks applies his principles to this common occurrence, “They were unable to talk with each other; hence they could not coordinate” (Brooks 74). Communication is the most valuable skill for any profession, especially software engineering. The notion that a “super” programmer can develop a product without a team of cooperative members is a folklore fueled by the success of few when software engineering was in its infancy. The software engineering industry has progressed so much that writing code is less valuable than communication skills. For example, suppose a genius programmer discovers a better way to develop a section of a project, but does not vocalize the changes. The team may be working towards a goal that is no longer achievable or valuable because of the undisclosed changes. Or the genius programmer may need to reverse the changes due to lack of cohesion with the current goals. From a more recent publication, Software Engineering: A Practitioners Approach, Roger S. Pressman touches on the importance of communication, “… it is critically important to communicate and collaborate with the customer (and other stakeholders)” (Pressman 17). Pressman’s publication arrived forty years after Brooks’ but still advocates a common principle. The …show more content…
There are basic principles that all software engineers recognize as vital for success. However, the constant change of software development practices is consistent with the constant advancement in hardware and other related technologies. Managerial practices can only make software as good as the limits which bound software. Brooks writes, “There is no single development, in either technology or management technique, which by itself promises even one order of magnitude improvement in productivity, in reliability, in simplicity” (Brooks 181). All of the advancements made in technology are incremental. For example, the invention of the three and half inch floppy disk was not followed by cloud storage, but rather the zip disk, then compact discs, then flash drives, and now cloud storage. Software changed to maximize the use of each of these new technologies over the span of decades. Also, the improvement of software helped create the new technologies. In comparison to other trades this is very rapid progression. None of the advancements made software engineering quick and simple, just different. The desire and attempt to improve software engineering process continues today. Pressman describes this event, “virtually every major software engineering organization has attempted to “make software engineering happen.” … Their practices are hit-and-miss, and their process is