Software Engineering

profiles3ood_55555
project_log_template1.xlsx

Project Info

Project Estimate Worksheet, Time Log and Defect Log
Project Name: Enter Project Name in associated field on the Project Info sheet.
Project Team: Role: (If applicable, list each developer's major role in the project.)
Developer 1 Name: Enter Developer's name in associated field on the Project Info sheet. ,
Developer 2 Name: Enter Developer's name in associated field on the Project Info sheet. ,
Developer 3 Name: Enter Developer's name in associated field on the Project Info sheet. ,

Project Estimates

Project Estimate Worksheet:
Project: Enter Project Name in associated field on the Project Info sheet.
Project Team:
Developer 1: Enter Developer's name in associated field on the Project Info sheet.
Developer 2: Enter Developer's name in associated field on the Project Info sheet.
Developer 3: Enter Developer's name in associated field on the Project Info sheet.
Total Size Estimate: Total Time Estimate:
0 0.00
Units: LOC Hours
Project Phase: Sub Phase: Estimated Size: Estimated Time: (hours)
Planning Preliminary Analysis (N/A)
Planning and Estimation (N/A)
Requirements Requirements Analysis (N/A)
Requirements Specification (N/A)
High-Level Design Decomposition "Baseline" code
Interface Design "Interface" code
Estimated Time: (hours) [Note that Total Time is automatically calculated.]
Component Implementation Estimated Size: Total Time: Iteration Plan Detail Design Test Design Code Unit Test Integration Test Iteration Retrospective
Component 1 (Rename!) 0.00
Component 2 (Rename!) 0.00
Component 3 (Rename!) 0.00
(Add components as necessary…) 0.00
System Test Functional Test (N/A)
Project Retrospective Analysis (N/A)

Time Log

Project Time Log:
Project: Enter Project Name in associated field on the Project Info sheet. Total Time:
0:00:00 hours
Project Team: 0.00 hours
Developer 1: Enter Developer's name in associated field on the Project Info sheet.
Developer 2: Enter Developer's name in associated field on the Project Info sheet.
Developer 3: Enter Developer's name in associated field on the Project Info sheet.
To add Date: To add Time:
Ctrl + ; Ctrl + Shift + :
Date: Start Time: Stop Time: Interrupt Time: (minutes) Duration: Feature/Component Name: Development Phase: Notes/Description:
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00

Defect Log

Project Defect Log:
Project: Enter Project Name in associated field on the Project Info sheet. Total Time:
0:00:00 hours
Project Team: 0.00 hours
Developer 1: Enter Developer's name in associated field on the Project Info sheet.
Developer 2: Enter Developer's name in associated field on the Project Info sheet.
Developer 3: Enter Developer's name in associated field on the Project Info sheet.
To add Date: To add Time:
Ctrl + ; Ctrl + Shift + :
Defect ID # Date: Start Time: Stop Time: Interrupt Time: (minutes) Duration: Feature/Component Name: Phase Injected/Introduced; Origin (Where?): Defect Type (What?): Defect Mode (Why?): Phase Discovered Defect Status Change Defect Notes/Description:
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00
0:00:00

Menu

Created: 5/18/12
Modified: 3/6/14
Modified By: Benjamin Sweet
"Menu" for various pull-down menu field selections for other forms.
Customize these lists as appropriate and adapt them for your individual, team or organizational needs.
List Usage:
Sheet: Field:
List: Project Development Phases: Description: List of standard project and development activities.
Time Log Development Phase (Leave row blank for pull-down menu.)
Defect Log Phase Removed Project Plan Preliminary project analysis and planning
Req Detailed Requirements Analysis and Specification
RR Requirements Specification Review
HLD High-Level (or Architectural) Design
HLDR High-Level Design Specification Review
Iteration Plan Detail Planning for current development iteration
DD Detail (or Low-Level) Design
DDR Detail Design Specification Review
Code Coding or Implementation. This MAY include Compile time, or that may be logged separately
Compile SOME disciplines (such as PSP) log compile time separately from coding time
CR Source code review
Unit Test Testing of individual function or component
Integration Test Testing of combinations of functions and/or components
Functional Test Testing against overall system-level requirements
Iteration Retrospective Retrospective analysis on current development iteration
Project Retrospective Overall project retrospective analysis and report conclusion
Refer to the Defect Classification sheet for further explanation and additional references regarding the following model for Defect Classification.
List: Defect Origins: Description: List of standard Defect Origins. These should include project development phases and activities in which defects are introduced, or the origins of defects that are beyond the control of the developer
Defect Log Phase Injected/Introduced; Origin (Where?) (Leave row blank for pull-down menu.)
Planning Defects that originate in the initial Project Planning, estimation, and preliminary Requirements Analysis.
Req_Spec Defects that originate in Specification of Requirements, or that are present in existing specifications.
HLD Defects that originate during High-Level (or Architectural) Design specification, or that are present in the existing product architecture.
DD Defects that originate during Detail (or Low-Level) Design specification, or that are present in existing design details.
Code Defects that originate during Coding/Implementation, or that are present in existing (legacy) code.
Test Defects in the Test specification, procedure, set-up, execution or expected outcomes.
Environment_Support Defects that originate due to Design, Development and Testing "Tools" (utilities), "build" tools, host computer operating system, network interface, and other development "environment" considerations.
Documentation Defects that originate due to incorrect, incomplete or missing documentation.
Other (Update this list as you discover new defect origins!)
List: Defect Types: Description: List of standard Defect Types. These identify the area, within the Origin, that is responsible for the Defect. There is (potentially) a different list of Defect Types for each Defect Origin.
Defect Types - Planning:
Defect Log Defect Type (What?) (Leave row blank for pull-down menu.)
PlanTypes Plan: Required Functionality Regarding the functionality of the product.
Plan: Schedule Regarding the schedule of the project.
Plan: Budget Regarding the available budget for the project.
Plan: Estimates Regarding the estimates of any aspect of the project.
Plan: Personnel Availability Regarding the availability and/or ability of any project personnel.
Plan: Equipment Availability Regarding the availability and/or capability of any equipment necessary to complete the project.
Plan: Resources Regarding any other resources that are necessary to complete the project. (Consider updating the list if this is a common project need.)
ReqTypes Req: Requirements or Specification Regarding contents of the specified requirements.
Req: Functionality Regarding the specific product features.
Req: Requirements Standards Regarding the Requirements adherence to accepted Requirements standards.
Req: Hardware/System Interface Regarding specification of how the system interfaces with its environment.
Req: Hardware/Software Interface Regarding specification of how the target hardware and software interface.
Req: User Interface Regarding the specification of how the system interfaces with Users.
Req: Functional Description Regarding the description of how the system should function.
HLDTypes HLD: Hardware/System Interface Regarding definition/design of how the system interfaces with its environment.
HLD: Hardware/Software Interface Regarding definition/design of how the target hardware and software interface.
HLD: User Interface Regarding the definition/design of how the system interfaces with Users.
HLD: Functional Description Regarding the definition of how the system should function.
HLD: Inter-process Interface Regarding the design of the interfaces between software/system components.
HLD: Model Design Regarding the architectural model of the software/system.
HLD: Architecture Standards Regarding the Architecture adherence to accepted Architecture standards.
DDTyp DD: Data Definition
DD: Logic Description
DD: Loop Termination
DD: Internal Module/Class Design
DD: Error Checking
DD: Design Standards Regarding the Design adherence to accepted Design standards.
CodeTyp Code: Logic
Code: Computation
Code: Data Handling
Code: Module Interface Regarding code module interfaces required to use one source code module with another (ex: #include).
Code: Component Interface Regarding code component interfaces required to interface two units of code (ex: function call parameters, return types).
Code: Syntax
Code: Pointers/Indirection
Code: Array Dimensions or Indexing
Code: Coding Standards Regarding the Code adherence to accepted Coding standards.
TestTyp Test: Test Software
Test: Integration Software
Test: Test Hardware
Test: Test Specification error Regarding test Plan, Procedure and/or Setup specification.
Test: Tester Operator Error
EnvTyp Env: Development Tools
Env: Target Hardware/System
Env: "Build" utilities
Env: Host/Development computer operating system
Env: Network Interface
Env: Other/Misc. "Environment" issues
DocTyp Documentation
OtherTyp Operator Error
Not Reproducible
Not a Problem
Miscellaneous or Other (Update this list as you discover new Defect Types!)
Blank (Necessary to keep Defect Type selections blank if no Defect Origin is selected.)
List: Defect Modes: Description: List of standard Defect Modes. These should describe the reason why a work product is defective or needs to be revised.
Defect Log Defect Mode (Why?) (Leave row blank for pull-down menu.)
Missing Some information or other aspect of a work product is omitted or incomplete.
Unclear/Misunderstood Information or specification is unclear, misleading, ambiguous, overly complex, or otherwise difficult to understand.
Incorrect Information, specification, or implementation of a work product is not correct.
Changed Changes in one work product required changes to be made to another work product.
Conflicting Information, specification, or implementation of one work product conflicts with information, specification, or implementation of another work product.
Better Way There is a better way to specify or implement a work product, perhaps more efficient, better performance, understandable, maintainable, or other "quality" attribute.
Other (Update this list as you discover new defect modes!)

Defect Classification

Created: 5/17/12
Modified: 5/17/12
Modified By: Benjamin Sweet
Defect Classification is an important part of exploring the origins of Defects so that strategies can be devised to avoid the same defects in future projects.
IBM has developed a model call Orthogonal Defect Classification (ODC) to help with the Root Cause Analysis (RCA) of defects:
Refer to: http://www.research.ibm.com/softeng/ODC/ODC.HTM
Hewlett Packard's Software Metrics Council developed an alternative model for Defect Categorization.
Re: Grady, Robert B., “Practical Software Metrics for Project Management and Process Improvement”. Prentice Hall, Inc., (1992), pp. 122-137, 223-227.
In this model Defects are categorized by Origin, Type and Mode. The model is depicted in slide #80 of the following PowerPoint presentation:
http://www.lambomiura.com/SSQ/Defect_Metrics.pps#605,80,HP Defect Origins, Types, and Modes
and in Figure 4 at the top of page 6 of:
http://www.stickyminds.com/getfile.asp?ot=XML&id=2883&fn=XDD2883filelistfilename1%2Epdf
In this model, categorization of Defects identifies the following attributes of each Defect:
Origin (Where?): In which lifecycle phase or activity was the defect introduced, or could have been prevented:
Specification/Requirements, Design, Code, Environmental Support, Documentation, Other
Type (What?): The area, within the Origin, that is responsible for the Defect:
Requirements or Specifications, Functionality
Hardware Interface, Software Interface, User Interface, Functional Description, System/Domain Object Model
Processor/Interprocessor Communications, Data Definition, Internal Module or Class Design, Logic Description, Error Checking, Standards
Logic, Computation, Data Handling, Module or Object Imterface/Implementation, Standards
Test Software, Test Hardward, Development Tools, Integration Software
Mode (Why?): Why the Defect occurred:
Missing, Unclear, Wrong, Changed, Better Way
References:
"A Comparison of IBM’s Orthogonal Defect Classification to Hewlett Packard’s Defect Origins, Types, and Modes", Jon T. Huber
http://www.stickyminds.com/getfile.asp?ot=XML&id=2883&fn=XDD2883filelistfilename1%2Epdf
"Software Failure Analysis for High-Return Process Improvement Decisions", Robert B. Grady
http://www.hpl.hp.com/hpjournal/96aug/aug96a2.pdf
"Defect Management & Metrics"
http://www.lambomiura.com/SSQ/Defect_Metrics.pps#256,1,Defect Management & Metrics
http://www.research.ibm.com/softeng/ODC/ODC.HTM http://www.stickyminds.com/getfile.asp?ot=XML&id=2883&fn=XDD2883filelistfilename1%2Epdf http://www.hpl.hp.com/hpjournal/96aug/aug96a2.pdf http://www.lambomiura.com/SSQ/Defect_Metrics.pps http://www.lambomiura.com/SSQ/Defect_Metrics.pps http://www.stickyminds.com/getfile.asp?ot=XML&id=2883&fn=XDD2883filelistfilename1%2Epdf

Revision History

Date: Modified By: Description:
9/15/2006 Benjamin Sweet Original version. Intended to replace "paper" logging forms and facilitate Time and Defect Logging by practitioners who are not using Process Dashboard. The goal is to provide some level of guidance and consistency for Time and Defect Logging and Tracking, rather than having each practitioner "re-invent the wheel."
5/17/2012 Benjamin Sweet Added Defect Classification to provide additional guidance in defining defects origin root cause.
5/18/2012 Benjamin Sweet Added various "pull-down" menus to facilitate consistency, and conditional formatting to facilitate review of log status. Menu lists are defined on the "Menu" sheet. On Defect Log sheet, added "Defect Status" field to identify whether or not the issues is resolved. This was added to distinguish between Defect Status and "Fix Defect" which is commonly mistaken to be an indication of whether the defect is "fixed." (It is in fact an indication as to whether the defect was introduced in the process of resolving a different defect.)
5/20/2012 Benjamin Sweet Added Project Info sheet. Added Project Estimates sheet to facilitate project estimation and planning.
8/11/2012 Benjamin Sweet Added "Interrupt Time" to Time Log and Defect Log to keep track of non-productive (interrupted) time during a Time Log line item entry.
Add shortcut guidance: * To add current Date, type Ctrl + ; (semicolon) * To add current Time, type Ctrl + Shift + : (colon)
2/13/2013 Benjamin Sweet Rename "Postmortem" to "Project Retrospective", a more contemporary (and less depressing!) term. Add "Iteration Retrospective".
2/2/2014 Benjamin Sweet For Time Estimation fields, added pull-down selection with non-linear number sequence (pseudo-Fibonacci series.)
In Defect Log, rename "Fix Defect" to "Change Defect" to avoid the common misunderstanding that "Fix Defect" does NOT indicate that the defect is "fixed."
3/6/2014 Benjamin Sweet On the Defect Log tab, decoupled the Defect Type column from the Origin (Phase Injected/Introduced) column. The Defect Type pull-down now shows ALL of the Defect Types.
This was done to avoid the problem of a misclassified Defect Origin "hiding" an appropriate Defect Type option.

Ben: Ben: Checkpoint: Spring 2017