Individual Critique Guidelines (150 Points)

DEN students

Due date; FridayDecember 09, 2011, 2:00 pm

No Hardcopy required; Softcopy-submit online thru DEN

On-campus students

Due date; FridayDecember 09, 2011, 2:00 pm

Hardcopy-outside of SAL 329; Softcopy-submit online thru DEN

Submission Process:

When submitting the softcopy, name it:Txx_FirstName_LastName.doc (for example, T01_Scott_Chen.doc)

Length:

4-6 single-spaced pages (+/- a factor of 2) recommended, but not absolutely required. Don't use very small or large fonts

Main Question:

If you were to do the project over again, how would you do it better, and how does that relate to the software engineering principles in the course?

The Individual Project Critique shall consist of the following two elements (more emphasis on Process Improvement):

We would be particularly interested in feedback on the various tools and processes that is constructive in suggesting improvements rather than just identifying shortfalls; it should be balanced in identifying things that were helpful as well as obstacles; and it should be relatively high-level in focusing on strategic factors rather than individual bugs (turn in separate bug reports for that).

Process Improvement (3/4 of emphasis)

  1. General Process Improvement

Candidate topics include but are not limited to:

  • Use of the Incremental Commitment Spiral Model
  • Use of various tools (Rational Software Modeler; USC-COCOMOII; COTIPMO; MS Project; templates; Bugzilla, etc.)
  • Class activities (team mixer, team formation, WinWin Negotiation, project kick-off meeting, tools tutorial, system architect special group meeting, Winbook/WinWin training, RSM training and etc…)
  • Information sources (lectures, papers, textbook, course notes, and etc...)
  • Human Resources (Professor, Guest Speakers, Teaching Assistant, Clients, Library Personnel, Architecture Review Board members, DEN, and etc...)
  • Management (staffing, organization, planning, controlling process and product)
  • Special Roles (QFP, Shaper, Shaper assistant, and etc.) discuss the roles, how do you like it? How should we improve it?
  • Evaluation (Mid/End -semester evaluation, Individual critique, etc.)
  • Assignment (Individual Homework, Pre-class, In-class, Team Assignment, etc)
  • Class Website(Structure, Content, Prefer to use DEN website, etc.)
  • Class Content (Topics that should be added, topics that should be removed, topics that you are looking forward to see in 577b, etc.)
  • Other Aspects (You may mention other issues that you’d like to give your feedback on. Please supplement them with potential solutions stating how best those issues can be resolved, in your opinion)
  1. WinWin/Winbook Operational Concepts, and System and Software Requirements
  • What is your opinion about the win win negotiation process the way it was held? How valuable (or not) it was to help understand the ‘win conditions’ of the clients? Do you have any suggestions of improving the sessions and were only 2 sessions enough? Was the TA moderation helpful or an overkill? If the latter, how do you suggest it be managed to make it better?
  • From a UI/productivity perspective list the 'desired' features that would make Winbook more user friendly/valuable to use (i.e., please list the strong/weak points of the tool).
  • If there was no Winbook tool would that have made any difference? (i.e., was using the tool more of a burden than of value. If the former please state the drawbacks, if latter please state how was it helpful).
  • How worthwhile was it to play planning poker for the ‘ease of realization’ dimension of the win conditions?
  • How relevant/valuable did you find using the benefit chain technique for eliciting benefits? Did you use this in coordination with the client? How well do you think you understand this approach to be able to use it as a software engineer in the future?
  • According to you what was supposed to be depicted by the Element-Relationship diagram? Was this of any value? How well you think it articulated its intended purpose - both with the clients and the developers?
  • What were the difficulties encountered when developing the SSRD? Did having the Win Conditions help in any way? If so how, if no why not? What were the difficulties in transitioning from Win conditions to SSRD and traceability back to the Win Conditions? How easy/confusing was this step?
  • Was using a Prioritization Framework like TOPSIS (and the corresponding decision theory concepts taught in class) valuable in understanding which requirements/win conditions were deemed ‘more valuable’ by the client? Was the output of TOPSIS shown to the clients? If so, what was their opinion, if not, why so? Did it help in any form of discussion/scoping etc.? (NDI/NCS teams: Please answer this question with respect to how helpful was TOPSIS for prioritizing the win conditions and its overall impact on selecting the corresponding NDI/NCS as a solution)
  1. Prototyping, Lifecycle/Project Planning & Feasibility Analysis
  • What were the difficulties encountered in prototyping?Was it easy to know what to prototype i.e., to discern the riskiest thing to do first? What were the challenges in selecting what aspects to prototype?What would you expect from the faculty/staff to help make this process easier (if it was not so)?
  • How easy/difficult was it to present the feasibility evidences for your project i.e., performing the business case to suggest viability, providing ‘evidence’ ascertaining your decisions (i.e., in general the ease/difficulty in figuring out how to show the feasibility of what all you were working on or proposing to do so)?
  • What is your opinion about the ROI calculation? How easy/difficult did you find this to be? How do you suggest it be made better?
  • Was having a benefits chain diagram helpful in performing feasibility analysis? How easy/difficult was it to coordinate the same with the Operational Concept and how do you suggest it be managed?
  • What were the challenges encountered in creating the lifecycle plan and the project plan? How do you suggest it be improved in the future?
  1. Uncertainty and Team Synchronization
  • Compare the level of uncertainties that existed at the beginning and the end of the project. Has it decreased over the course of the project? On a scale of 1-10, specify the level of uncertainties at the beginning, middle, and end of the semester.
  • How easy/difficult was it to synchronize and stabilize team understandings and engineering process?
  • What approaches did you take? Were they effective?
  • What would you have done differently?
  • Has the assessment framework in the COTIPMO tool helped you with improving the stability and synchronization within the team? Briefly describe the specifics.
  • Through the assessments, has your estimations improved? How much more accurate were they? How did this help in the project planning process?
  1. V&V Process
  • For evaluation process, and artifact review, were the V&V activities help you?
  • If you are a reviewer, were the team responsive to your concerns, how the team interacted with you?
  • At the beginning, reviewers follow the workflow: Create Exit Criteria=>Review and Report=>Create Evaluation Report=>Track Issues,which activity you think is the most helpful for your project and which is the least, any suggested changes to this process?
  • How do you feel Value-based V&V in the last two review packages? Does Value-based principle really improve IIV&V process? Compared with the previous process, which one do you like?Why?
  • Suggested changes to the V&V process, how could the V&V process be improved to benefit your project and your learning experience, etc.
  1. Team Assessment
  • Domain Knowledge Understanding
  • How well do you understand the client's business/domain?
  • What process did you use to model the client's business?
  • System/Software Architecture Modeling (concepts, lectures, guidelines, applying the concepts to actual practical modeling)
  • Staffing (Task assignments, Awareness of roles and responsibilities, Do you have the right people for the jobs? How do you determine whether he/she is right?)
  • Collaborations (Information sharing, Information synchronization)

Product Improvement (1/4 of emphasis)

Describe possible improvements in the various components of your product: i.e., if you had to design the system again, how would you do it better, knowing what you know now. The Product Improvement section will not be considered in grading the final project, therefore, do not hesitate to discuss some of the potential flaws of the current design: the CSCI 577b teams will consider product improvement suggestions during the rebaselining of the Development Commitment package.

The Product and Process improvement aspects of your Individual Critique may include the following:

1. Simplifier and Complicator Analysis: Identify the project category or application sub-domain that fits your project best. Discuss the role of the developer-side and client-side simplifiers and complicators (such as Information Services Division's Policies, Resources and Constraints) in managing client's expectations and avoiding potential problems. (Reference: EP: Requirements Engineering, Expectations Management, and The Two Cultures)

2. Model Clash Analysis: Identify your project's top three (or fewer) model clashes.(You may refer your HW4 for the same) How did the team's top-level strategy for resolving them compare with the 5-step process presented in class?

3. WinWin-SSRD Mapping: Discuss up to 2 significant challenges your project had in transitioning WinWin agreements into SSRD requirements (if you are in NDI/NCS team, you may skip this question).

4.Third-party software use: Identify the third party (NDI, NDS, COTS, open source, web services, etc.) software components used in the project and the leading alternatives. Indicate why the specific components were selected over others. Also indicate if given a chance to re-build the system would you use an alternative over the selected component, and why.

Example of NDI/NCS:

-Application-based NDI: MS Excel, Quickbook, Wordpress

-Platform-based NDI: MySQL, PHP, Apache

-Web Services: Google Map, Google Checkout, Paypal, Ning.com