Homework #1
Chapters 1 - 3: Upload a document with these questions and answers to moodle. 
  - Suggest two ways in which a software process model might be helpful in identifying 
    possible process or design improvements. 
- Apart from the challenges of heterogeneity (has to work on more than one 
    platform), rapid delivery and trust, identify other problems and challenges 
    that software engineering is likely to face in the 21st century. 
 
- For two of the clauses in the ACM/IEEE 
    Code of Ethics, suggest an appropriate example that illustrates that clause. 
  
- Research one of the software engineering horror stories found on http://www.cse.lehigh.edu/~gtan/bug/softwarebug.html 
    and imagine you are a member of the development team. There would probably 
    be many things you would want to change about the project. Specify (at least) 
    one of the things that you would do differently, and relate it to (at least) 
    one of the things that went wrong. (You can find some material on the links 
    page for this course.) 
- Explain why incremental development may be an effective approach for developing 
    business software systems. Give an example of a system for which incremental 
    development would be less appropriate. (This article will help you construct 
    an answer: http://nealcabage.com/waterfall-or-iterative-methodology/ 
    ) 
- Why is it important to develop both user requirement and system requirement 
    documents instead of mixing them togethert?
- How is the Agile (Iterative) software process model different from the Waterfall 
    software process model? 
- An Agile Sprint is a set period of time during which a small portion of 
    work will be designed, coded and made ready for user review. http://www.cio.com/article/2380827/developer/developer-6-software-development-lessons-from-healthcare-gov-s-failed-launch.html 
    mentions "Many teams use "sprint" or "iteration," 
    only to insert waterfall concepts. Language such as "three architecture 
    sprints, six coding sprints, two test sprints and two hardening sprints" 
    is usually a clue that something's wrong." Explain why this language 
    indicates that Agile is not being used.
 
GIT Portion
  - Follow these instructions to change one central 
    git repository