Jody Paul (Logo) Dr. Jody Paul – EducationMSCD Courses
Software Engineering Practices
jody@acm.org    
     
Link to Home Page for Jody Paul Link to the Education section main page Link to Software Engineering section Link to Music section Link to Recommendations section
    Link to MSCD Courses page        

Course Information

Title: Software Engineering Practices
Institution: Metropolitan State College of Denver
Course ID: CS 4260
Semester [CRN]: Fall 2011 [53909]
Meeting Times: Mondays & Wednesdays 10:00AM - 11:50AM
Location: Science 1066
Credit Hours: 4
Prerequisites:

CS 4250 and Senior standing

Course Website: http://www.jodypaul.com/cs/sweprac
Course Support: http://www.jodypaul.com/moodle2/
Instructor: Dr. Jody Paul (schedule & office hours)
E-mail: jody @ computer.org
Office: Science 1038 (x68435)
Campus Mail: Campus Box 38

Course Description

Software Engineering Practices is the Computer Science capstone course and a continuation of CS 4250, Software Engineering Principles. Students will work in teams and apply the principles of software engineering to the development of real-world projects. Such projects may involve external stakeholders and progress will be evaluated in conjunction with those stakeholders. (Senior Experience)

This course provides students the opportunity to practice the principles of software engineering while developing a significant software application.

Students will:

  • Work as members of a software engineering project team
  • Evaluate a software development project
  • Determine and justify an appropriate software development model
  • Define appropriate procedures, practices, and techniques for their project
  • Determine and justify deliverables that their project team will provide
  • Develop and maintain appropriate project plans
  • Provide periodic reports on project status
  • Follow their life-cycle model, procedures, practices, and techniques
  • Provide periodic self-assessments of their practices, both those that are successful as well as those areas in need of improvement
  • Deliver completed software artifacts that satisfy their stakeholders

Course Objectives

Expected learning outcomes that students should be able to do upon completion:
  • Assess a software development project to determine the appropriate principles and practices that will maximize the likelihood of success
  • Apply principles and practices that improve the likelihood of success of a software engineering effort
  • Apply interpersonal and team skills that support maximizing team effectiveness
  • Exercise individual and team reflective skills that assist in evaluating and adapting software engineering activities to achieve success

Projects

This Senior Experience course is primarily concerned with work on a software development project and modeling real-world software engineering experiences.

Resources

Book Cover - Link to Amazon
REQUIRED
The Five Dysfunctions of a Team
by P. M. Lencioni
Jossey-Bass (2002) ISBN 0787960756
Wiley (2008) ISBN 0470823380
[Manga edition is fun but incomplete]

The following references are also recommended, but not required. In addition, since this course puts into practice the software engineering principles covered in CS4250, you are likely to want to use your CS4250 texts and notes as references.

Book Cover - Link to Amazon

The Deadline: A Novel About Project Management
by Tom DeMarco
Dorset House (1997); ISBN 0932633390

Book Cover - Link to Amazon


Waltzing With Bears: Managing Risk on Software Projects
by T. DeMarco & T. Lister
Dorset House (2003); ISBN 0932633609

Book Cover - Link to Amazon

Managing Expectations
by N. Karten
Dorset House (1994)
ISBN 0932633277

Book Cover - Link to Amazon

The Secrets of Consulting
by G. M. Weinberg
Dorset House (1986)
ISBN 0932633013

Book Cover - Link to Amazon

More Secrets of Consulting
by G. M. Weinberg
Dorset House (2002)
ISBN:  0932633528

Book Cover - Link to Amazon

Mastering the Requirements Process (2nd Edition)
by J. Robertson & S. Robertson
Addison-Wesley (2006); ISBN 0201360462

Course Information & Policies

[The following is adapted from course information developed and published by Dr. Noel LeJeune, whose work in developing this text is gratefully acknowledged.]

General Philosophy

Software Engineering is a dynamic field. For the most part, there are no "right" answers (however, there can be "wrong" ones!). This is often difficult for scientifically and mathematically oriented people who expect that there is one correct answer. This means that you are required to think, examine the context of the problem, reflect upon possible solutions, select the most suitable one(s), and support or justify your conclusions.

This course should provide you with the full experience of the practice of software engineering. In the "real world," that means you are most likely going to perform software engineering for an employer or customer. The course will help prepare you for that environment. Therefore, we will approach this in the same manner as real-world software engineering.

Software engineering is seldom, if ever, a solitary endeavor. Teamwork is the norm. A significant part of your individual evaluation (see Grading) is based upon your team’s performance. You will be successful only if your team is successful. Just as in the work environment, individual performance may be recognized but the entire project team is judged by the team’s collective performance. The team is responsible as a whole. Help each other to make all successful.

Class Session Attendance

If you are not present, your team is missing a vital team member. The team remains accountable whether you are there or not so please plan to attend. If you must miss a class, it is your responsibility to arrange for another class member to get notes and materials for you. Please feel free to contact me directly concerning special circumstances requiring my assistance.

Project teamwork will require meeting with your other team members at times in addition to class time. While class time will be available for teamwork, it will not be sufficient. You must be willing and able to dedicate significant additional time outside of class to be successful.

Special Note: Because group work represents a significant aspect of this course, if you think you will drop, do your classmates a favor and drop early. If you drop after you are part of a team, your fellow students are adversely impacted.

Teamwork & Assessment

The work will be done as teams. Teamwork will require additional effort to achieve success. The key to your success is to actively participate.

Team deliverables are expected to be a collective effort involving all team members. An overall assessment will be determined for each deliverable that reflects the quality of product. An individual assessment for each team member will also be determined for project deliverables. This individual assessment will be a combination of instructor assessment and peer assessments. You will be expected to assess each team member's contribution (including your own).

A team may have the opportunity to release (“fire”) any non-contributing member with instructor approval. Any released team member becomes a team-of-one and is solely responsible for the same products as any other team. However, a team-of-one will suffer a 30% grade reduction for all products completed as a team-of-one. The remaining team will be expected to produce the same level of quality and quantity of products as if the team was at its original size.

Individual Portfolio

You must actively maintain an individual Portfolio. The portfolio is a collection of key artifacts documenting (a) your contributions to the project and (b) your learning during the semester. These artifacts may include copies of external deliverables, internal deliverables, intermediate products, products not ending up as part of the final deliverables, research findings, and documentation of ancillary learning activities. Each artifact must be accompanied by an annotation that consists of a title, a description, and a reflection. Some of the artifacts in the collection should comprise a professional portfolio such as would be used to demonstrate credibility during job interviews or when bidding on contracts. The remaining artifacts should document key learning experiences. The portfolio must be maintained during the semester. The final version will be turned in prior to the end of the course and is the primary documentation used in assessment of individual contribution, participation, and learning.

Activity Log

You are encouraged to actively maintain an individual Activity Log using the vehicle provided on the course support website (examples provided). This provides excellent documentation of effort and supports resource data collection and future estimation.

Project Notebook

Each team must maintain and deliver a Project Notebook. The project notebook is a collection of artifacts that record all important activities and decisions relevant to the project. The notebook is due prior to the end of the course. The project notebook should also include final analyses, such as metrics applied to the project and the product.

Grading

The relative importance of course activities and deliverables is as follows:

Individual:
 
    Contribution, participation and learning
58%
    Assignments, Reflections, Assessments 16%
    Presentations
4%

Group:

 

    Project Deliverables
      (Product, Project Notebook, Presentations)

22%

Note that all members of a team may not receive the same grade for team activities and deliverables. Peer team members and the instructor will evaluate each individual’s contribution with well-defined criteria. Note that this assessment will be within the overall context of the team’s efforts.

General Project Assessment Principles

Projects will be assessed with respect to the following criteria:

  • Project Planning
    • The project is properly planned
  • Requirements/Specifications
    • Carefully and adequately elicited, managed, and tracked
  • Project Management
    • Appropriate work breakdown structure is created
    • Task assignments are appropriately managed
    • Tracking and reporting is appropriately performed
  • Software Engineering Principles and Practices
    • An appropriate software development model is employed
    • An appropriate framework is employed, including:
      • Change management techniques and practices
      • Software configuration management techniques and practices
      • Appropriate implementation techniques and practices
      • Software quality assurance measures and practice
      • Appropriate tool selection and employment
  • The Product
    • Meets stakeholders objectives
    • Delivered on-time
    • Delivered within budget
    • Achieves required quality
    • Is adequately documented
    • Is designed for maintainability

Software Engineering

Reminder: While it is stated above, a restatement to stress the importance of Software Engineering in creating the product is in order:

Software Engineering is concerned with the processes and practices used to develop software systems. The underlying principle is that good processes and practices are more likely to produce a quality product within expected resource constraints than are poor ones. Therefore, a significant component of the grade assigned to a product is based on the processes and practices used to produce the product. Rarely, but occasionally, a good product is produced using poor processes and practices, usually due to heroics of individual team members. (A very poor practice!) The grade for this type of product will be negatively impacted regardless of the quality of the product itself.

Official Announcements

Official policies applicable to all courses: http://cs.mscd.edu/metadot/index.pl?iid=2249

MSCD College Catalog: http://www.mscd.edu/academic/catalog/
Official announcements, including Academic Policies and Procedures and Student Rights and Responsibilities

MSCD Academic Calendar: http://www.mscd.edu/academic/acal.htm
Additional official dates and deadlines, including the last dates to withdraw and receive NC (with and without faculty signatures) and holidays

MSCD Student Handbook: http://handbook.mscd.edu/
Important MSCD and Auraria campus policies and procedures for students

Valid HTML 4.01 Transitional ©2002, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Dr. Jody Paul – All Rights Reserved