Sunday, June 12, 2011

Code Complete by Steve Mcconnell : Chapter 22

The author discusses about managing code construction/software development. The author discusses some techniques to encourage good coding:
  • Assign two people for every piece of code
  • Let every line of code get reviewed by at least two people
  • Before the code is considered complete, senior technical personnel must sign the code listing
  • Route good code examples for review
  • Emphasize that code created by anybody is a public asset
  • Reward good code: If a programmer everyone else knows does bad work is rewarded, the manager looks like a charlie chaplin running a cake factory.
The author then discusses software configuration management. Configuration management involves handling changes systemically so that a system can maintain its integrity over time.

The author then provides guidelines to control design changes:
  • Follow a formal change-control procedure
  • Establish a change-control board
  • Handle change requests in groups
  • Estimate the cost of each change
  • Be wary of major changes
The author then discusses about softwares like make and version control use to track software changes.

The author then emphasizes the importance of backing up data.

The author then discusses different approaches to estimate the effort required to complete a project. The author also provides his own approach to estimating a project. The author then discusses some of the steps that can be taken if you are behind schedule on a project.

The author then discusses about software development metrices. The author provides five set of categories including size of project, maintainability, productivity, overall quality and defect tracking in which all the metrices are divided.

The author provides a breakup of where a programmer spends his time on average. There is an order of magnitude difference between the initial coding time, debugging time, program running time and program size between the best and worst programmers. Good and bad programmers tend to cluster, i.e. there is never one good programmer in a team, if one is good, chances of others being good increase.

The author enlists certain programming practices like use of gotos, indentation style as religious issues and provides several ways to handle them amicably.

The author then provides result of a study citing that better work environment improves productivity in people.

The author then provide tips to manage your manager since most of the managers in information technology industry are technically incompetent or behind.

No comments:

Post a Comment