CSC 223 Grinnell College Fall, 2005
 
Software Design
 

Discussion Questions for Fowler, Chapter 2

Some Acronyms

RUP: Rational Unified Process

Waterfall Model/Agile Programming Comparison

  1. Is it just me, or does the waterfall style seem unintelligent? Doesn't it make more sense to test as much as possible throughout the program to ensure everything is going correctly rather than testing the whole thing at the end? (David)
  2. Would a project using the predictive planning method have to also use the waterfall method? (Mike L)
  3. Fowler mentions that many in the OO community favor iterative development over the waterfall approach. Are there people who object to this approach? Other than the issue of rework is there any advantage to using the waterfall approach or the hybrid staged delivery life cycle over the iterative approach? (Mike C)
  4. Are there specific types of software development projects that necessitate the use of either a waterfall or an iterative process, or does it depend on the teams/administrations personal preferences? (Dave)
  5. The author makes it sound like you aren't doing the waterfall style when you are doing the iterative style, but doesn't the definition of the iterative style mean you are doing the waterfall style several times? (David)
  6. What is the difference between iterative style and doing waterfall style multiple times before release? (Chayapan)
  7. What are the characteristics of a project that determine a process that one needs to use? (Saugar)
  8. Fowler says that he believes that many people claim to be using an iterative development process when in fact they are using a waterfall development process. If as iterative process is as popular as Fowler says, why do so many firms still use a waterfall process? (Jonathan)

Details of the Waterfall Model

  1. What advantages (if any) would there be to using a waterfall approach? (Alex)

Details of Agile Programming

  1. What are the advantages of using RUP? (Monica)
  2. Is the RUP just a way of organizing a project? And if so, how is it that it is copy-righted by Rational? Also, why would anyone choose to use RUP if they could just call it UP and not deal with the legal issues of RUP? (Dave)
  3. Do agile processes apply strictly to group work or do these processes also support working individually? (Monica)
  4. What does the author mean by "Agile processes tend to be low in ceremony"(pg 25)? (Saugar)
  5. It seems that agile processes alone would not work very well on very large scale projects (i.e. an operating system) simply because the scale is so huge that all members of the team can't know eachother on a personal basis. Therefore, there are going to be multiple teams working on different parts of the project. How can agile processes be applied to the interactions of the teams and the building of the combined product? (Elijah)
  6. When using an iterative process why is it recommended to use a sketch, while when using a waterfall we should use a blueprint? (Gaurav)
  7. What is the difference between the agile development processes named in the book? (Mike L)
  8. What is involved with refactoring code? How is it different from other methods of rewriting code? (Lorelei)
  9. Fowler says that agile processes are strongly adaptive in their nature. Is this due mostly to them being lightweight or is it due in part to other factors? (Jonathan)
  10. Are there any other industries that use iterative processes? Do the concepts of waterfall and iterative processes even apply to other industries? (John)
  11. Could you give us examples of A class diagram,An activity diagram and A state diagram? (Sheng)
  12. what's extreme Programming (Sheng)

Patterns

  1. What is the advatntage of Patterns and what is UML's place in it. (Gaurav)
  2. Where and how can I learn or lookup "patterns"? What is a good way to locate and utilize these "pattern" resources? (Chayapan)
  3. The text mentions continuous integration and the use of automated check-in and build tools. Are we going to be using cvs or something similar for our projects?
    Could uml be used to model the development process? Would this be useless? (Elijah)

Additional Questions

  1. What are some ways to prevent the damage done to a software project by "requirements churn"? (Alex)
  2. What are the differences between lightweight and heavyweight processes? (Lorelei)
  3. Are there any differences in terms of advantages or disadvantages of using foward or reverse engineering in sketches particuarly? (Gaurav)
  4. What is the significance of formal process for a program made by a single person compared to one made by a huge team? (John)
  5. What are the limitations of setting up a proxy object? How where the first proxies used and how did they come about? (Mike C)


This document is available on the World Wide Web as

http://www.cs.grinnell.edu/~walker/courses/223.sp05/readings/fowler-2.shtml

created 30 August 2005
last revised 31 August 2005
Valid HTML 4.01! Valid CSS!
For more information, please contact Henry M. Walker at walker@cs.grinnell.edu.