ICSPI 2006

The Third International Conference on
Software Process Improvement

April 3 - 7, 2006
Orlando, FL

Mark your calendar and do not miss this remarkable event

 

 

 

All tutorials count for credit towards CSTP (Certified Software Test Professional) re-certification

All tutorials are from 8:30 - 4:30 PM

Thursday, April 6, 2006

H1 Building the Requirement Management Process Dr. Magdy Hanna
H2 Establishing the SQA Function Dr. Rebecca Staton-Reinstein
H3 Meaningful Software Measurements Robin Goldsmith
H4 Defect Prevention: How to do it right the First Time Nidhi Srivastava, V. Sathya Murthy
H5 Advanced Practical Requirement Specification Processes Tom Gilb
H6 Managing Incremental and Highly Iterative Software Projects Dr. Timothy D. Korson

H1: Building the Requirement Management Process 
Dr. Magdy Hanna

Introduction:

Experience reports suggest that up to 80% of maintenance effort is spent in fixing software problems related to requirements. Requirements are continuously changing and customers do not know what they want until they do not get it. Project managers, test managers and every one involved in a software project assert that the most frustrating problem is continuously changing requirements and scope creep. Also, even if a project starts with some reasonable requirement practices, very soon everyone get too busy with the project and requirement documents never get updated. In addition, current requirement definition and refinement practices do not support detailed, unambiguous, and precise requirements.

One obvious solution is to have a well-defined requirement management process. This course will cover every aspect of the requirement management process. In addition, it will also provide process champions and with all that they need to build such a process.

Who should attend?

This course is essential for project managers, project leads, process engineers, requirement engineers, business and system analysts and every one involved in the requirement process.

Learning Objectives:

Attendees will learn the following:

  • Why requirements are important
  • How to use requirement traceability to manage requirements
  • What are the good characteristics of requirements
  • How to use requirements models and artifacts to make sure requirements are complete, precise and unambiguous
  • What some of the effective requirement management practices are
  • How to go about defining a requirement management process

Outline:

  • Understanding Requirements
  • Requirements Traceability
  • Quality Vs Functional Requirements
  • Model-Based Requirements Management
  • building the Requirement Management Process
  • Exploring Requirements
  • Refining and Validating Requirements

Biography:

Dr. Hanna is a recognized educator, speaker and consultant in several areas of software engineering. His distinguished seminars on various topics have been highly rated by software professionals. Dr. Hanna's experience with software goes back to the mid 1970's when he worked as a developer at the NCR center in Cairo , Egypt . Over the last thirty years, Dr. Hanna has worked in all aspects of software projects and processes in all capacities.

Dr. Hanna is the founder, CEO and Chairman of the International Institute for Software Testing, ( www.iist.org ) the leading educational and professional development organization that provides education-based certifications to software test and quality professionals around the world.

Dr. Hanna is the founder and Chairperson of the International Conference on Practical Software Quality and Testing, (www.PSQTconference.com) and founder and Chairperson of the International Conference on Software Process Improvement, (www.icspi.com).

Dr. Hanna Also served as Editor-in-Chief of the Journal of Software Test Professionals, a publication of the International Institute for Software Testing, now the Bug Free Zone (www.iist.org/bugfreezone)

As a consultant, Dr. Hanna has helped organizations define and improve their software processes using disciplined software engineering approaches.

As a professor of software Engineering at the University of St. Thomas , he taught graduate courses on several software engineering topics with emphasis on practical software quality techniques.

Dr. Hanna developed new approaches and methods in software engineering including the Software Quality Engineering Methodology (SQEngineer), the Unified Data Model (UDM), and the Data-Driven Object Model (DOM).

Dr. Hanna holds a Ph.D. and a Masters degree in Computer and Information Sciences form the University of Minnesota , a Masters in Operations Research from Cairo University , and B. Sc. in Petroleum Engineering from Suez Canal University , Egypt.


Dr. Magdy Hanna

H2: Establishing the SQA Function  
Dr. Rebecca Staton-Reinstein

Introduction:

In today's competitive environment, high quality software that can serve both the operational and strategic needs of the organization is a necessity. Information Technology departments are under extreme pressure to create, maintain and purchase software that can help distinguish the company in the market place. IT departments are more business and customer oriented than ever before but many traditional quality techniques have been abandoned without replacing them, resulting in poor software quality, over-extended budgets and disappointed customers. Learn to establish the processes and use the techniques that assure the quality of the systems you develop, maintain and purchase. Learn the quality techniques that set industry leaders apart and create world class IT departments. Learn a step-by-step approach to implement an effective quality initiative integrated into every aspect of IT functioning. Learn to apply the internationally recognized standards, techniques, processes and procedures that get the improved results you need to improve the IT output and demonstrate your value to the organization.

Learning Objectives:

This seminar focuses on implementing successful software quality assurance techniques to improve results. At the end of this seminar you will know and be able to:

  • Implement the steps to build, maintain and continuously improve software quality assurance to produce high quality software solutions for your customers
  • Assess needs to determine quality and improvement priorities
  • Apply the international standards and quality principles
  • Develop a strategic plan to apply quality principles in your function
  • Know the language of stakeholders and present a persuasive case to management and customer
  • Assure improved results from software development, maintenance and purchases
  • Demonstrate Return on Investment and leverage your value to IT

Outline:

  • Process Management begins with the Strategic Plan
    • Define Quality
      • What are the important, working definitions of quality
      • Why are definitions important and how do you apply them
      • Develop strategic definitions:
        • Quality
        • Defect
        • Quality Assurance
        • Quality Control
        • Quality Improvement
    • Create the Quality Strategic Plan
      • Create a clear mission
      • Discover customers' true expectations
      • Set goals and objectives
      • Choose strategies
      • Develop tactics
      • Manage performance with the Strategic Plan
  • Managing by Process
    • Defining a Process
      • What is a process and how is it managed?
      • Define your Mission Critical Processes
    • Define your product, “internal” customer and your supplier
    • Apply quality principles to vendors
    • Develop the Partnership Model
    • Principles of Project Management
      • Relationship of Process and Project Management
      • Applying PM to tactical plans
  • Overview for building the Quality Assurance function
    • What does the QA professional need to know?
    • The essential steps to build QA
      • Establish agenda
      • Use the “bookend” approach
      • Set up Quality Assurance practices
      • Set up Quality Control practices
      • Set up Quality Improvement practices
      • Gain acceptance from developers and management
  • Begin with the “Bookend” Approach
    • Develop a robust Requirements process
      • Implications of current requirements practice
      • Use Barry Boehm's Model and James Martin's research to improve management's understanding of requirements
      • The essential elements of requirements
      • Writing testable requirements
    • Establish Change Control
      • The Change Control Board
      • Guidelines for changing requirements
      • Configuration control
  • Quality Assurance Practices
    • Risk Assessment
    • Life Cycle Implementation
    • Create Standards
    • Use measurement
    • Use Maturity Models
    • Other prevention activities
    • Who's responsible for QA
  • Quality Control Practices
    • Use the “V” Model
    • Static Testing
      • Walkthroughs, Reviews
      • Formal Inspections
      • Testing Requirements
    • Dynamic Testing
      • Testing
      • Acceptance testing
    • Who's responsible for QC?
  • Quality Improvement Practices
    • Reducing process variation
    • Integrating Quality Control and Quality Assurance
    • Defect Studies/SPC applications
    • Techniques for process improvement
    • Who's responsible for QI?
  • Apply international standards of IT Quality
    • Six Sigma
    • ISO 9000:2000
    • Cost Of Quality
    • Taguchi Model
    • SEI CMM, CMMI requirements
    • SPICE and other models
    • PMBOK
  • Implementing Quality Assurance
    • Organizational considerations
    • Training and preparation
    • Maintaining QA
    • Improving QA
    • Integrating QA into daily business operations
    • Demonstrating Return on Investment and leveraging your value to IT

Biography:

Dr. Rebecca,” as she is known around the world, helps her clients establish successful software quality support processes including project management, customized life cycles, Formal Inspections, requirements gathering, process improvement and full Quality Assurance functions. She enables IT executives to improve alignment with business goals through strategic planning and leadership development. Her informative articles appear regularly and she is a sought-after keynote speaker who provides both content and inspiration to her audiences. Her books include: Success Planning: A ‘How-To' Guide for Strategic Planning , Get Great Requirements , The Hard Job of Making Software Work: Build Quality Assurance Step By Step and the forthcoming; Conventional Wisdom – Eleven Lessons Business Leaders Can Learn From the Founding Fathers.

.


Dr. Rebecca
Staton-Reinstein

H3: Meaningful Software Measurements  
Robin Goldsmith, JD

Introduction:

To know what you are doing, you must meaningfully measure the right things at the right times in the right ways. Clearly, It's frequent poor project results are due in large part to poor measurement. Not only do we tend to miss important measures, but we also often overwhelm ourselves with too many measurements. This interactive presentation describes a minimum set of metrics that IT needs to know and the context needed to make the measures meaningful. Ways to measure effectiveness of our practices also are shown. Techniques are suggested for overcoming resistance when getting started. Exercises enhance learning by allowing participants to practice applying practical techniques to realistic examples.

Learning Objectives:

  • Relation of measurement to processes and distinguishing real from presumed processes
  • Key variable dimensions that a measurement set needs to address
  • Ways to analyze and evaluate effectiveness of practices
  • Presenting and reporting measurements so people pay attention
  • Starting a measurement program and overcoming resistance

Biography:

Robin Goldsmith is internationally recognized as an authority on business engineering and software acquisition/development quality, testing, and productivity. He is a frequent speaker at leading conferences and formerly International Vice President of the Association for Systems Management. Robin is the author of the book:"Discovering REAL Business Requirements for Software Project Success".



Robin Goldsmith

H4: Defect Prevention: How to do it right the First Time  
Nidhi Srivastava, V. Sathya Murthy

Introduction:

"Learn from the mistakes of others, since you can't live long enough to make all of them yourself". Defect prevention is an important activity in any software project. In most organizations, quality assurance focuses on defect detection and rework and thus defect prevention is often a neglected component of software quality assurance. In an average project, more than 40 % of the total effort is spent on finding and fixing the defects rather than preventing at the earlier stages of the software life cycle. Also as the delay in detecting the defect increases, the cost of rework increases exponentially.It is therefore more advisable to take measures and kick start defect prevention activities right from the beginning of the project. Defect prevention is a team activity. It is very effective at reducing cost and improving quality and greatly improves the yield of the appraisal processes. The typical prevention mechanisms include enhancements to the standards covering requirements, design, coding, and testing. These changes in standards are used to “mistake-proof” (poke-yoke) the development process in order to prevent reoccurrence of the target defect types. This tutorial gives practical guidelines for implementing defect prevention process, methodologies and techniques. It is designed to sensitize all personnel in an organization to Quality and get their buy-in for continuous improvement .The learning objectives of this tutorial would be on how to implement an effective defect prevention process. Prioritizing classes of defects for prevention or early containment, integrating the inspection and defect prevention process as a self optimizing closed loop system, Measuring and Controlling defect prevention process for Return On Investment (ROI) are the key highlights of this tutorial.

Outline/Learning Objectives:

  • The need for Defect Prevention:
    • The need and importance of defect prevention as a fundamental concept in continuous process improvement
    • How it helps to optimize process and product quality
  • Concepts of Defect Prevention and Causal Analysis
    • Defect Prevention principles
    • Various Stages involved in Defect Prevention methodology
    • Goals of causal analysis
    • Defect tracking and classification
    • Defect severity classification
  • Defect Data collection approach and usage of tools
    • Tool based approach on capturing and tracking the defects in the various phases
    • Usage of Defect Prevention dashboards
  • Effective categorization of common causes of defects
    • Common causes of product quality defects
    • Common causes of process quality defects
    • Defect logging guidelines and Defect Analysis principles
  • Defect prevention techniques and practices
    • Integral part of Development Methodology
    • Defect Prevention methodology based on PDCA cycle approach
    • Description of techniques that aid causal analysis such as
    • Brain storming
    • Pareto analysis
    • Fish bone analysis
    • Nominal Group Technique
    • Usage of Causal Analysis Techniques with various combination as appropriate
  • Defect Measurement and analysis
    • Monitoring and analyzing the results of rework effort, defect density, trends of top four causes etc.
    • Measuring ROI of defect prevention activities
  • Benefits of Defect prevention/Return on investment
    • Describing the benefits acquired by adopting defect prevention practices in the aspects of reduced rework, increased defect containment, customer satisfaction etc
  • Case study /Exercise on Defect preventionTtechniques
    • Case study to practically understand how various defect prevention techniques are applied

Biography:

Nidhi Srivastava heads the Quality Consulting practice of Tata Consultancy Services in North America . In this capacity Nidhi oversees TCS ' relationship with the Software Engineering Institute (SEI) at Carnegie Mellon University and has worked with several Fortune 500 clients on Quality Consulting. Nidhi was also instrumental in supporting the North American geography for the most recent appraisal of TCS . In August of 2004, TCS became the world's first organization to achieve an integrated Enterprise wide Maturity Level 5 on both the Capability Maturity Model Integration (CMMI®) and the People CMM®.Nidhi has over fourteen years of experience in software development, software project management and software process improvement. Prior to becoming the Practice Head for Quality Consulting, Nidhi was the Software Engineering Process Group Head at the TCS Delivery Center in New Delhi and was part of TCS ' journey to achieving CMM Level 5 there.Nidhi holds a Bachelors degree in Computer Science and Engineering from University of Lucknow , India .She is also a Software CMM® Assessor, Certified Software Quality Analyst and is trained on the People CMM® model. Nidhi has submitted papers to international conferences and has presented papers in several conferences in the US.

Sathya Murthy is a Quality Manager at TATA Consultancy Services and is currently based in San Jose California . He has worked in the small center setting as Quality lead and was part of the CMMI journey in the TCS Development Centers in Uruguay and Brazil .Sathya has five years of experience in software development, software project management and software process improvement. Prior to becoming the Quality Manager for US west coast region, Sathya was the Quality Reviewer at the TCS Delivery Center in Chennai , India and subsequently played the role of Quality Lead in Uruguay and Brazil Global Development centers and was part of TCS' journey to achieving CMM/CMMI Level 5 there.Sathya holds a Bachelors degree in Mechanical Engineering from University of Chennai , India .He is also a Software CMM® Assessor, Certified Software Quality Analyst and is trained on the People CMM® model.


Nidhi Srivastava


 



V. Sathya Murthy

H5: Advanced Practical Requirement Specification Processes  
Tom Gilb

"Advanced Practical Requirement Specification Processes: with focus on specification and management of the critical top level project requirements that are the main economic justification for the project."

Requirement(s) Engineering is arguably the most critical single discipline in systems engineering. Bad requirements are cited as a main cause of large systems engineering project failures (P Morris, ‘The Management of Projects', Telford, London 1994). I would argue that the theory and teaching of requirements today is in bad shape. There are several signs of this. Most so-called requirements are actually ‘design' for unstated requirements! Most requirements are a nice sounding set of words with no testable or quantified structure and very little information about the requirements and its relation to all other requirements, designs, and plans.

This tutorial will open up a radically new approach to requirements that will rectify many of these problems. It is based on the ideas in ‘Planguage' a specifically invented and evolved language for requirements specification. Fundamentals are reexamined (what is a function requirement?). All qualitative requirements are quantified richly. Ten to 30 parameters are used to describe a single reusable requirement fully and appropriately for its task. Requirements are related directly and individually to stakeholders. Requirements are looked at in the wider systems engineering context of design, testing, project management, and engineering-work quality-control.

Outline:

  • Analysis of dangerous common requirements practices
  • Quantitative measurement of how good a requirement specification is
  • Basic Rules (standards) for requirement specification
  • Requirement categories, maps and concept definition
  • Examples of advanced requirements specifications (real cases)
  • Defined processes for requirement specification
  • Templates for requirement specification
  • Exploitation of requirement specification by other disciplines
  • Requirement Policy examples
  • Fundamental Principles of Requirement specification

Learning Objectives :

  • Become aware of entirely new ideas
  • Be able to evaluate if these apply to their work
  • Be aware of how to get more detailed information on the subjects
  • Enthuse them with the attractiveness of the ideas presented
  • Deliver practical tools to do the job

Biography :

Tom Gilb started working for IBM in 1958. After 5 years with IBM Tom has been running his own consulting company worldwide. He has published 9 books, the latest being Competitive Engineering : A Handbook For Systems Engineering, Requirements Engineering, and Software Engineering Using Planguage". It was published in the US August 2005. Read the Amazon.com reviews.

He has actively helped a large number of large and small corporations and projects define much better requirements. He is still very active, virtually every week, in everyday grass roots practical upgrading of real requirements on an international basis.

He has developed his ideas, based on constant practical work and feedback from clients, into a very advanced set of standards, definitions, templates, rules, processes for defining requirements like you never saw them in conventional textbooks and courses.

Tom has essentially rethought requirements from scratch, and actively distains most of the requirements ideas so common in our business. He frankly thinks that conventional thinking about ‘function requirements, and non-functional requirements, and Use Cases' is very immature and is one of the many causes that our software failure rate is so high.

Over 8,000 engineers at Intel alone have now been trained in his requirements methods (Planguage) by Eric Simmons who attended a one day tutorial like this a few years ago

Attend this tutorial and you can get the basic ideas to revolutionize your company and career too


Tom Gilb

H6: Managing Incremental and Highly Iterative Software Projects: Surviving in a Quasi Agile Environment 
Dr. Timothy D. Korson

Introduction:

Most corporations are still fairly traditionally structured even though many software development teams are heading full steam into modern incremental, and highly iterative software development techniques and exploring other new technologies such as MDA. This leaves management stuck coping with an organizational and technical paradigm shift that traditional project management practices are inadequate to handle. In the highly iterative, fast-paced environment characteristic of these modern software development projects, traditional approaches to budgeting, testing, quality assurance, requirements gathering, scheduling and estimating break down. Managers trying to encourage best practices as recommended by CMMI and SPICE find themselves at odds with developers trying to adopt best practices as recommended by the agile manifesto. In the end no one wins. Because of the constraints of corporate policies and management edicts, developers can’t fully adopt modern software engineering practices. Because the developers do adopt as much of the iterative processes as they can get away with, team leads find that traditional approaches to management don’t work. Such projects must succeed in what I call a quasi agile development environment. In my experience these quasi agile development environments characterize a large percentage of today’s significant software projects. Lack of explicit understanding of this reality, and failure to actively adapt to it, is causing significant problems in many software development organizations. This tutorial explains practical ways to adapt the formal process control inherent in CMMI recommendations to the more flexible practices of agile development.

Course Outline:
  • Unit 1 – Modern Software Development Techniques
    • Implication of process and technology choice to managers
    • Iterative
    • Incremental
    • Component based
    • Process spectrum
    • Agile Manifesto
    • Mixed culture projects
    • Fitting process to projects
    • Why mixed culture projects characterize so many of today's significant software development projects
  • Unit 2 – How the Fundamentals of Managing Are Affected by a Modern Iterative, Incremental Software Development Process
    • Scaling
    • Management fundamentals
    • Politics
    • Stakeholders
    • Evolution
    • Courage
    • Resources
    • Planning
    • Knowledge points
    • Estimation techniques
    • Iteration planning
    • Tracking
    • Incremental scheduling
    • Contracts Lightweight process for change
    • Hiring and personnel management
    • Team management
    • Conflict resolution
    • Balance and direction
    • The primary function of a manager
  • Unit 3 – From Agile to Quasi Agile
    • Agile Manifesto revisited
    • Documentation requirement
    • Impact of multiple scarce stakeholders
    • Architectures and conceptual distance
    • Measuring progress
    • Contracts
    • Responding to change
    • Conformance to plan
    • Value to the client
    • Major changes
    • Minor changes
    • Extensions
  • Unit 4 – How the Associated Testing and QA Processes Are Affected
    • Process integration
    • Organizational issues
    • New skill sets
    • Guided inspections
    • Testing early increments
    • Testing refactored code
    • Automating system testing
    • Testing under the interface
  • Unit 5 – Reconciling Formal Process Control and Iterative Techniques
    • ISO 900x case study
    • Baseline reviews versus delta reviews
    • CMMI vs. the Agile Manifesto
    • Empirical vs. defined processes
    • Institutionalization of knowledge
  • Unit 5 – How the fundamentals of testing are affected by a modern iterative, incremental software development
    • Test planning
    • Test budgeting
    • Test execution
    • Test evaluation and process improvement
    • Interactions between the test team and development team
  • Unit 6 – Summary and Conclusions
    • Balancing agility and discipline
    • Collaborative values and principles
    • Top 10 potential pitfalls
    • Top 10 factors for success
    • Once upon a time - Boehm vs. Beck

Learning Objectives:

The participants will learn:

  • modify project management practices to mesh with modern, iterative software development techniques
  • plan, track, estimate, schedule, and allocate resources successfully for an iterative project
  • adapt agile practices so that they work on larger scale projects and in more traditional environments
  • integrate testing and QA activities with iterative software development processes
  • adjust hiring, personnel management, and team management to quasi agile development environments
  • adapt CMMI recommendations to an agile development environment

Biography:

Timothy Korson has had a decade of substantial experience working on a large variety of systems developed using modern software engineering techniques. This experience includes distributed, real time, embedded systems as well as business information systems in an n-tier, client-server environment. Dr. Korson's typical involvement on a project is as a senior management consultant with additional technical responsibilities to ensure high quality, robust test and quality assurance processes and practices. Dr. Korson has authored numerous articles, and co-authored a book on Object Technology Centers. He has given frequent invited lectures at major international conferences and has contributed to the discipline through original research. The lectures and training classes he presents are highly rated by the attendees.


Dr. Timothy D.
Korson

Monday Friday