Sei sulla pagina 1di 31

Advanced Software Engineering

P. de la Paz
Software Effort Attributes
Software Effort Attributes

Type of Labor
Hour Information
Employment Class
Labor Class
Activity
Product-Level Functions
CSCI-Level Functions (major functional element)
Build-Level Functions (customer release)
System-Level Functions
Software Effort Attributes

Type of Labor - Labor on software development projects


consists of two typesdirect and indirect hours. Direct
hours are those that are charged directly to the project or
contract, and indirect hours are those that are not. Even
though indirect hours are not charged directly to the
contract, the costs associated with these hours are
frequently covered, at least in part, in the burden or
overhead rates that are often applied as multipliers to the
direct contract or project charges.
Software Effort Attributes

Hour Information - This


attribute describes the wage or
pay type for the employees
working on a given software
development project. It is
further subdivided into the
salaried and hourly types of
pay. Whether an employee is
considered salaried or hourly
depends on individual company
policy regarding the type of pay
for a given job position.
Software Effort Attributes

Employment Class - The employment class attribute includes the


reporting organization and contractor categories. The reporting
organization is the prime developer of a software product. This may be an
in-house software development organization or it may be the prime
contractor if a contract has been established to develop a given software
product. In turn, the prime developer may have subcontractors with
responsibility for providing support functions or for developing portions of
the software product.
Software Effort Attributes

Labor Class This attribute consists of the


various classes of functional job positions
on a software development project. The
list covers the functional job positions
associated with most software projects.
However, not all organizations use the
same terms for labor classes as are in the
list, nor do all companies organize
software project efforts into exactly these
classes of job positions. Some classes may
be combined, and others may be broken
out differently. Therefore, valid
comparisons of individual labor class
subtotals may not be possible between
different organizations. However, where
the labor class definitions are consistent
within an organization or between
organizations, you will be able to compare
multiple projects.
Software Effort Attributes
Activity Class A software development organization may have one or more types of activities
occurring over time. Development generally means new software development projects and
frequently covers most, if not all, of the software development life cyclerequirements
analysis, design, code, development test, independent verification, and system test.
Maintenance includes activities that occur after a new software product has been released
problem repair and functional enhancement. However, maintenance may include the same
activities that are performed for new software products. Sometimes, an organization or
company that did not develop the initial product may perform the maintenance of a software
product. A further decomposition of the maintenance activities can also include reverse
engineering and examining side effects of the code fixes
Software Effort Attributes
Product-Level - This attribute addresses the various functional levels
of a software development or maintenance project by

CSCI-Level Function (Major Functional Element)


Build- Level Functions (Customer Release)
System-Level Functions.

Different organizations collect the staff-hours for management,


software quality assurance, configuration management, and
documentation at different levels. Some may collect these staff-hours at
the system level, while others may collect them at more detailed levels,
that is, per customer release or even for each major functional element.
Software Effort Attributes
CSCI-level functions (major functional
element) - The functions of a software
development project occur at
different levelsthe system level, the
customer release level, and the major
functional element level. On federal
government software development
projects using the methodology
outlined in DOD-STD- 2167A
(Department of Defense Standard), a
major functional element corresponds
to a Computer Software
Configuration Item (CSCI). This level is
where the bulk of the actual software
development and maintenance efforts
occur.
Software Effort Attributes
Build-level functions (customer release) -
A software build is an aggregate of one or
more computer software configuration
items that results in the satisfaction of a
specific set or subset of requirements. A
build is a separately tested and delivered
product. Build-level functions are those
that are performed for each release of a
software product to the customer.
Software Effort Attributes
System-level function - The development of a system consists of one or more
customer releases (builds), which in turn consist of one or more major functional
elements (CSCIs). In addition to the major functional element-level functions and the
customer release-level functions, the system-level functions include the following
activities:
System requirements and design
Software requirements analysis
Integration, test and evaluation
Production and deployment
Management
Software quality assurance
Configuration management
Data
Training
Support
Operating Environment
Common Operating Environment

A COE specifies a common IT architecture within an organization and


promotes interoperability and cross-platform capabilities among an organization's devices.
All workstations within an organization run the same software and use the same interfaces so that
its devices are standardized and information presentation and platform interfaces are consistent
throughout the organization.

The intent of the COE architecture is to normalize the computing environment and achieve a
balance between unconstrained innovation and standardization. In the commercial sector,
computing environments have become commodities and applications are developed and delivered
on commoditized and inexpensive systems (for example, the Apple iPhone and Google Android
mobile devices).
Common Operating Environment Attributes

Adaptability - Adaptability enables the common operating environment (COE) to


respond to changes in internal configuration and external environment.

Architecture - Architecture of a software-reliant system is the structure of the


system, which comprises software components, the externally visible properties of
those components, and the relationships among them.

Functional - This area concerns a focus on functional capabilities provided by the


COE.

Support for Governance - Architecture governance is the practice and orientation


by which architectures are managed and controlled at an enterprise-wide level.

Interoperability - This area concerns the ability of the COE to support


interoperation among different systems, versions of systems, and development
environments.
Common Operating Environment Attributes

Development and Test - These concerns focus on the development


and test environments for both the candidate COE and the
applications developed to execute within the COE.

Hardware and Software Platform - These concerns focus on the


computing environments upon which the COE will execute.

Quality of Service - This area concerns a focus on the availability,


performance, and other characteristics of the services delivered by
the COE.

Information Assurance - This area concerns a focus on secure


operation of the COE.
DATA COLLECTION
DATA COLLECTION Points to Ponder

Systematic approach of gathering information from various


sources to answer research questions and to test
hypotheses

Accurate data collection essential to maintain integrity of


research

Correct use of collected data important to reduce errors

Most time and labor intensive step in an empirical study


*Empirical - based on, concerned with, or verifiable by observation or experience rather than theory or pure logic.
Example Study
DATA COLLECTION The Steps
1. Set the goal of the research study -
Describe the phenomenon being studied, purpose of the study
2. Determine sources of data
Are data sources reputed and reliable?
3. Collect data from sources using various methods
Qualitative, quantitative, mixed
4. Compare collected data with historical data
Assess quality and plausibility of collected data
5. Perform reliability and validity checks
Reduce bias, perform triangulation
6. Perform data analysis
DATA COLLECTION The Methods
DATA COLLECTION Qualitative Data Collection
DATA COLLECTION Qualitative Data Collection

INTERVIEWS:
Used to collect opinions and experiences from interviewees
Data collected may not always be facts
Structured, unstructured, semi-structured interviews

PARTICIPANT OBSERVATION:
Social interaction between researcher and informants
Observer not necessarily engaged
Think aloud protocols:
subject verbalizes his or her thoughts
Fly on the wall:
researcher must be unobtrusive (not attracting attention)
DATA COLLECTION Qualitative Data Collection

FOCUS GROUPS:
Combine interviewing and participant observation
Group interactions generate new data
Gain insights into the respondents behaviors, attitudes and language

QUESTIONNAIRES/TESTS:
Sets of questions, which need written answers
Most common method - quick and easy
Important:
Wording of the questions
Layout of the forms
Ordering of the questions
DATA COLLECTION Qualitative Data Collection
The Pros and Cons
PROS
Rich data, highly detailed
Contact with respondents
Can explore topics in depth
Behavioral aspects of responses
Close to source of data

CONS
Large volume of information
Expensive and time-consuming
Highly trained professionals
Participants changing behavior
Observer bias distorts data
DATA COLLECTION Quantitative Data
Collection
DATA COLLECTION Quantitative Data
Collection
SURVEYS/POLLS:
Series of questions that a person answers
Provide descriptive data
Collect data from a large sample of anonymous people

AUTOMATIC METHODS:
SIMULATION:
Abstraction of real life process
Based on experimental data
INSTRUMENTING SYSTEMS:
Instrumentation built into software tools
Record information automatically, system monitoring
ANALYSIS OF LOG FILES:
Analyze log files generated by build tools
Automatically extract information
DATA COLLECTION Quantitative Data
Collection. The Pros and Cons
PROS
Allow broader study,
generalization of results
Greater objectivity, accuracy of
results
Allow summarizing of
information
Personal bias can be avoided

CONS
Limited results (numerical
descriptions, no human
perception)
Laboratory environment not
same as real world Cannot be
applied for all
phenomena/situations
DATA COLLECTION The Mixed Method
DATA COLLECTION Reliability and Validity
The HAWTHORNE EFFECT - People act differently when they are being observed.
The End.

Potrebbero piacerti anche