Software Quality Plan

Your second presentation in this field session will cover your software quality plan as well as ethical considerations as applied to your project. You will have 15 minutes for your presentation, which will be given to one or two other teams and one or two team advisers; all listeners will provide feedback on your presentation following the evaluation criteria.

Your presentation can be divided however you wish between covering your software quality plan and ethical considerations, as long as both are given sufficient coverage. A description of each section is given below.

Software quality plan

Software quality is a complex topic in software engineering. It encompasses many ideas and activities, including software testing, verification and validation, code reviews, quality assurance, code audits and program analysis, and much more. There are highly formal educational programs and certifications in software quality techniques, and in quality assurance in general.

Agile development processes typically de-emphasize many of the formal techniques in favor of lightweight approaches such as unit testing. Agile methods rely on frequent customer interactions to validate that the code is meeting the customer's needs; problems are immediately addressed in the next iteration. Agile emphasizes many practices intended to ensure high quality is baked in early, reducing many sources of bugs: pair programming, test-driven development, aggressive refactoring, simplicity, etc.

At the end of the day, though, a good "definition of done" should include some aspects of software quality assurance beyond simply following the practices agreed upon for your agile process. Any good project should have a plan in place for ensuring software quality before releasing it into the wild.

For this section of your talk, discuss the elements of your software quality plan, how you will implement those elements (e.g., if automated testing tools will be used, what tools? what will be tested?), and what aspects of code quality are being addressed by each element (defect detection, coding standards, verification, validation, etc.) Here are some possible elements to include in your quality plan:

  • Unit testing
  • User interface testing (automated or otherwise)
  • Integration testing
  • Code reviews
  • User acceptance testing
  • Code metrics
  • Static or dynamic program analysis

If you are unsure of what any of these are, Wikipedia is a decent source of definitions.

Ethics

As we have already covered Ethics in lecture, it will not be re-hashed here. For this portion of your presentation, we ask that you address the following questions:

  • Which ACM/IEEE Principles are particularly pertinent to the development of your product? Why?
  • Which ACM/IEEE Principles are most in danger of being violated? What can be the negative impact if these Principles are indeed violated?
  • Apply two Tests articulated by Michael Davis to your product. See the Ethics Framework slides for the tests.
  • What are the ethical considerations for your project if your software quality plan is not implemented properly (or is not comprehensive enough)?

Presentation Schedule

Thursday, June 6 - CTLM 102
9:00am - 11:00am
(Kathleen and Donna)
AI Arrive 4
CSM Belviranli 2
CSM Poole
CSM Student Lim
Longhopes Donkey Shelter
Ovintiv
Walker Water 2
11:00am - 1:00pm
(Kathleen, Donna, Rob, and Daniel)
5 Star General Contracting 2
CSM Belviranli 1
CSM Bridgman
CSM Student Chu
Dish 2
Goalkeeper.com
Lunar Outpost 1
1:00pm - 3:00pm
(Rob and Daniel)
AI Arrive 3
Lunar Outpost 2
Modyfi
Qualcomm
Ricoh
Salesforce 1
TerraCity
Friday, June 7 - CTLM 102
9:00am - 11:00am
(Caleb and Zibo)
Boss Ventures LLC
Dish 1
Keeping Labor Safe
Qwally
Regis Company
Salesforce 2
Walker Water 1
11:00am - 1:00pm
(Caleb, Zibo, and Tree)
5 Star General Contracting 1
AI Arrive 2
CSM Bodeau
CSM Student Fryer
Colorado Education Association
Dish 3
Stratom
1:00pm - 3:00pm
(Tree)
CSM Bahar
CSM Hildreth
CSM Liebe
Lunar Outpost 3
Northrop Grumman
Swim Tech LLC
“Quality is free, but only to those who are willing to pay heavily for it.” - Tom DeMarco and Timothy Lister