The Westfall
Team offers training and consulting services in the areas of software development
and engineering, software quality and testing, software metrics and
analytics, and the processes and methodologies involved with these
important activities. They host several excellent articles, papers, and
presentations covering software engineering and development. Here are
links and descriptions to the best of them.
Software
Engineering Articles, Papers & Presentations
Software
Engineering Processes Papers & Presentations
Bidirectional Requirements Traceability:
Traceability is used in mature software development
projects. This article explores:
- What is
traceability?
- Why is traceability a good practice?
-
How is traceability performed?
A
Methods "Discussion/Debate: Method Agility or What's a Methodology
For? What’s the "correct" method to use
for a software development
project according to all the “best practices”
advice? Many folks advocating
“lite” or agile methods would suggest there is no
“best” practice you can apply across the
board. This paper, from Scott Duncan's
presentation/discussion session at the 14th International Conference on
Software Quality, is about beginning the process of answering some
methodology related questions.
The What, Why, Who, When and How of Software Requirements:
If the software requirements aren’t right, you
won’t end up with the software that you need. This
article discusses the following:
- Why: the
benefits of having the right
software requirements
- What: the various levels and
types of requirements that need to be defined
- Who:
identifying the stakeholders of the
software requirements and getting them involved in the process
- When:
requirements activities throughout
the software development lifecycle
- How: techniques
for eliciting, analyzing,
specifying and validating software requirements
Software
Quality Papers & PresentationsSoftware
Standards and Models: Forward Reconnaissance: This
article is a summary snapshot of
the current state of certain key software related
standards and models. Discussed are the International
Standards, the commercial, professional, or industrial association
documents, and the capability models.
The
Blame Game: One roadblock
we should think of removing from our lives is The Blame Game. Our
individual and organizational propensity to blame can be a significant factor that
weakens our foundations. This session describes how we can become aware
of blaming techniques we use, the harm they cause, how
much we are engaged in them, and how we can change these practices.
Certification:
A Competitive Advantage In Any Economy: Certification
is commonly defined as formal recognition by an institution that an individual has
demonstrated proficiency within and comprehension of a specified body
of knowledge. Certification is a tool and when utilized to its
full potential, can define career paths, contribute to a company’s bottom line,
and drive product quality and customer satisfaction upwards.
Aligned
Empowerment - Could it become a Buzzword? Empowerment
is a basic staple of good management and in a growing number of
organizations power is shifting from managers to employees. This article
discusses empowerment and how to ensure that empowerment is "aligned" through
information sharing.
How
to Create Useful Software Process Documentation: Unfortunately
efforts to document our software development process
often end up in documents and archives that are never used. This article
introduces the reader to a simple, practical method for defining and documenting
software processes that are easy to understand, easy to use and easy to
maintain.
Process
Definition Template: Utilize this template to
document your software process definitions. This template can be used
to implement the techniques described in the How to Create Useful Software Process
Documentation paper. This paper also includes an example of a
completed version of this template.
Software
Validation and Verification Papers and PresentationsBasis
Path Testing for Structural and Integration Testing: Basis
path testing is a structural testing technique that identifies test
cases based on the flows or logical paths that can be taken
through software application(s). A basis path is a
unique path through the software
where no iterations are allowed; they’re atomic level paths,
and all possible paths through the system are linear combinations of
them.
Software
Program and Project Management Papers and Presentations
Software
Acquisition & Supplier Management: Part 1 - Product Definition
&
Supplier Selection:
This paper discusses the first seven steps in the Software Acquisition and
Supplier Management process, including:
- Step 1: Planning the acquisition
- Step
2: Defining the software product’s requirements
- Step
3: Determining the
acquisition approach
- Step 4: Identifying and
evaluating potential suppliers (and
their software products)
- Step 5: Defining the
contract requirements
- Step 6: Selecting a supplier
- Step
7: Negotiating and awarding the contract
Software
Risk Management: The
need for software risk management is illustrated in Gilb’s
risk principle. “If you don’t actively
attack the risks, they will actively attack you" [Gilb-88].
In order to successfully manage a software project and reap our
rewards, we must learn to identify, analyze, and control these
risks. This paper focuses on the basic concepts, processes,
and techniques of software risk management.
Metrics,
Measurement & Analytical Methods Papers &
Presentations12
Steps to Useful Software Metrics: This paper
outlines a cookbook method that the reader can use
to simplify the journey from software metrics in concept to delivered
information.
Metrics
Report Definition Template: Utilize this
template to document the design of your software metrics
reports. This
template can help you implement the 12 Steps to Useful Software
Metrics.
Example
- Metrics Report Definition: Example of a
completed Metrics Report Definition document.
Using
a Measurement Framework to Rapidly Achieve Measurable Results:
This paper describes a Process Measurement FrameworkSM
that rapidly achieves measurable results. This framework
helps to ensure that all metrics are collected on a form, in a
document, or in a database. This
paper won the best paper award at the 13th International Conference on
Software Quality, October 2003.
Are
We Doing Well or Are We Doing Poorly?: What
software metrics can do is provide information so you
can make informed decisions and better choices. This
paper shows you how to establish useful decision criteria for different
types of metrics. This paper won the Best Paper award at the
2003 Applications in Software Measurement (ASM) Conference. Here are
the Presentation
Slides for this paper.
Software
Customer Satisfaction: This
paper includes details on designing your own software customer
satisfaction questionnaire, tracking survey results and example reports that turn
survey data into useful information. This paper won the Best Paper award
at the 2002 Applications in Software Measurement (ASM) Conference.
Defect
Removal Effectiveness: This short
paper defines the metric of Defect Removal Effectiveness
and gives examples of how to calculate it.
Defect
Density: This article defines
the metric of Defect Density and gives two examples of how it
could be reported and utilized.
Cause
& Effect Diagrams: This article
by Linda Westfall discusses the purpose of Cause & Effect Diagrams
and gives two examples of how this quality tool can be utilized.
Technorati Tags: software engineering, software development methodologis, software development processes, software quality assurance, software testing, software development metrics
Popularity: 30% [?]
Share and Enjoy:
These icons link to social bookmarking sites where readers can share and discover new web pages.
Related Posts:Ruby On Rails, Ajax Cheat Sheets and SlidesFree Software Testing TrainingGuide to the Software Engineering Body of KnowledgeFree Embeded Linux Training Content and Articles3 Free Software Development Training and Coaching Sites