What comes out of a human imagination can be achingly beautiful or painfully ugly, deeply true or deeply false, wonderfully good or horribly evil. As Jesus said, what comes out depends upon the condition of the heart itself [Matthew 15:18]. If we would have our creations be true, beautiful, and good, we have to attend to our hearts. — F.P. Brooks, “The Computer Scientist as Toolsmith II", Communications of the ACM, 1996
  1. Software Evolution (Sections 1–3 & 6):

    1. What is software evolution?
    2. Is the concept of software evolution compatible with agile methods?
    3. What are the four types of software maintenance?
    4. Be generally familiar with Lehman’s laws of software evolution, particularly numbers 1 & 5–7.
  2. UML — Deployment Diagrams:

    1. Is this diagram type a structural or behavioral diagram?
    2. What are the basic building blocks of a deployment diagram, that is, what do the nodes and arcs represent?
    3. Does it make sense to label an arc? If so, what would such a label specify? If not, why not?
  3. An interview with Fred Brooks: Quoted Often, Followed Rarely

    1. Does Brooks’s Law apply only to software development?
    2. What advice does he have for young software managers? Is it more traditional or more agile?
    3. How does Brooks view open-source development?