Software Engineering Processes
 

Home
Up
Consulting Services
Training
Events & Activities
CSQE Quizzes
About Our Team
How to Contact Us

Papers & Presentations - Software Engineering Processes:

Essential Ideas About Agile Methods by Scott Duncan:  My involvement with standards, methodology and process issues brings me in contact with people who ask what agile methods are or what they are about.  Many have not heard of the Agile Manifesto and associated principles.  When I ask what they have heard about agile methods, I am told things like pair programming, no documentation, refactoring, iterative development, no planning, daily “stand-up” meetings, etc.  Of course, none of these get at the heart of what agile methods are “about” (beyond the fact that some are not true).

Based on listening to the creators of agile methods and reading what they have written on the subject, agile methods, above all else, seem to me to be about expanding the bandwidth and frequency of communication and about being open to change.  Essential to both of these is the existence of effective feedback, which is required for meaningful communication and productive change. The values, principles and practices of agile methods seem to flow from seeking to achieve these objectives.

Author: Scott Duncan        Date Original Version Posted: February, 2007

 

 

Vertical and Horizontal Requirements Relationships:  This article explores a common question raised about Capability Maturity Model – Integration (CMMI®) expectations regarding the management of vertical and horizontal relationships within the context of requirements traceability.  It seems that the CMMI® really does not define vertical and horizontal traceability explicitly.  In order to document/prove/provide evidence of vertical and/or horizontal requirements traceability, we first need an understanding of exactly what vertical and horizontal traceability are in the context of software systems.  In hopes of finding an acceptable answer, it is necessary for this paper to:

  • First examine the statement in question and how it has changed between versions 1.1 and 1.2 of the CMMI®

  • Second, research how the CMMI® defines traceability and how the definitions have changed between the most recent versions
  • Third, attempt to understand how the CMMI® intends for us to interpret the meaning
  • Finally put all of this into perspective with an example

Author: Theresa Hunt        Date Original Version Posted: February, 2007

 

Bidirectional Requirements Traceability: Traceability is one of the essential activities of good requirements management.  Traceability is used to ensure that the right products are being built at each phase of the software development life cycle, to trace the progress of that development and to reduce the effort required to determine the impacts of requested changes.  This article explores:

  • What is traceability?
  • Why is traceability a good practice?
  • How is traceability performed?

Author: Linda Westfall        Date Original Version Posted: February 28, 2006

 

A Methods "Discussion/Debate: Method Agility or What's a Methodology For? What’s the “right” method to use for a software development project according to all the “best practices” advice?  How would you answer this question or is this really a sensible question to ask?  Many folks advocating “lite” or agile methods would suggest there is no “best” practice you can apply across the board.  Articles and columns in IEEE and ACM publications have addressed this very point.  On the other hand, advocates of “disciplined” methods (to use the term Boehm and Turner have in their book on agile and more formal methods) would say there is vast industry experience pointing to “best practices.”  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.

Author: Scott Duncan        Date Original Version Posted: September 5, 2005

 

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.  The original version of this paper was presented by Linda Westfall at the World Conference on Quality and Improvement 2005.  The updated version was published in the ASQ's Software Quality Professional Journal.  This article discusses:

*  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

Author: Linda Westfall        Date Original Version Posted: May 7, 2005

Date Updated Version Posted: March 1, 2006


Book Reviews

Amplifying Your Effectiveness: Collected Essays

Edited by:  Gerald M. Weinberg, James Bach & Naomi Karten 

Date Posted: Jan 3, 2002

 


Recommended References

The Capability Maturity Model: Guidelines for Improving the Software Process, Mark Paulk, et. al., Addison-Wesley, Reading MA, 1994.

CMMISM for Systems Engineering/Software Engineering, Version 1.02 (CMMI-SW/SW, V 1.02); CMMI Staged Representation, CMU/SEI-2000-TR-018, ESC-TR-2000-018; Continuous Representation, CMU/SEI-2000-TR-019, ESC-TR-2000-019; Product Development Team; November 2000.

Exploring Requirements, Quality Before Design; Donald Gause & Gerald Weinberg; Dorset House Publishing, New York, NY, 1989.

IEEE Standard Glossary of Software Engineering Terminology, IEEE Std. 610-1990 , IEEE Standards Software Engineering, Volume 1; The Institute of Electrical and Electronics Engineers, 1999; ISBN 0-7381-1559-2. 

Software Engineering, A Practitioner’s Approach, Fifth Edition; Roger Pressman; McGraw Hill, Boston, 2000; ISBN 0-07-365578-3.  


Recommended Links

Association for Computer Machinery (ACM) - www.acm.org 

Data and Analysis Center for Software (DACS) and the Defense Software Collaborators (DSC) - http://www.dacs.dtic.mil/

Crosstalk, The Journal of Defense Software Engineering - http://stsc.hill.af.mil/crosstalk/xtalk.asp 

Institute of Electrical and Electronics Engineers (IEEE) - www.ieee.org

IEEE Computer Society - www.computer.org  

Software Engineering Institute (SEI) - www.sei.cmu.edu 

Software Engineering Body of Knowledge - http://www.swebok.org

Computer & web resources: http://komtoo.net


For more information about consulting services or training offered by The Westfall Team

Send an email to:  lwestfall@westfallteam.com

Or call: 972-867-1172

© 1999-2008 Westfall Team, Inc.