All tutorials will count towards the International Software Process Improvement Certification (ISPIC)

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

Monday, October 20, 2008

  CSPIP Required Course   AKA Course

M1 Software Quality Assurance and Quality Control Methods and Techniques
(CKA #7)
Dr. Magdy Hanna
M2 Implementing Software Process Change
(CKA #5)
Dr. Rebecca Staton-Reinstein
M3 Defining and Documenting Software Processes
(CKA #1)
Robin Goldsmith
M4 Verification and Validation Methods for Every Phase of Product Development and Deployment
(AKA #6)
Marnie Hutcheson
M5 Agile Software Development Methods
(AKA #7)
Alan S. Koch
M6 Managing and Planning Software Projects
(AKA #4)
Clyneice Chaney

M1: Software Quality Assurance and Quality Control Methods and Techniques 
Dr. Magdy Hanna

This tutorial covers CKA area #7 of the International Software Process Improvement Certification (ISPIC) requirements.

Introduction:

Many software organizations try to achieve software quality by focusing on testing activities that are normally done after the product has been put together by the develop ment team . Every project manager and every QA managers know that this is not a very effective way to assure the quality of the application. The reason is that when the testers execute their tests against the application and find bugs, those bug reports go back to the development team , which in turn tries to fix problems under time pressure. And you know the rest of the story: more bugs get created and the cycle continues. More bugs, more bug reports and more bugs.

For many years, experts and pioneers in software quality have suggested that software organizations focus m ore on the front-end of the software lifecycle to build quality into software rather than trying to test for quality at the end. In addition to providing a good coverage of the test process and test management practices, this course will also cover all quality assurance methods and techniques that aim at achieving this goal of building quality into the software. The course is a must for every project manager, SPI professional, QA manager and test manger.

Outline:

  • Defining Quality
  • Quality Assurance Vs Quality Control
  • Verification and Validation
  • Establishing and operating a Software Quality Assurance function
  • Inspections and reviews
  • Requirement Management Reviews
  • Levels and types of testing
  • Dynamic testing techniques
  • The Test Process: concepts and issues
  • Effective Test Management practices
  • Defect Tracking and Reporting

Participants will learn:

  • the difference between quality assurance and quality control
  • the difference between Validation and Verification
  • how to start an effort to implement process improvement even in small projects
  • how to implement a cost effective inspection process that works with all types of project and all types of artifacts
  • effective test management practices
  • effective requirement management practices

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. Magdy Hanna

M2: Implementing Software Process Change 
Dr. Rebecca Staton-Reinstein

This tutorial covers CKA area #5 of the International Software Process Improvement Certification (ISPIC) requirements.

Introduction:

Today's competitive environment means that yesterday's processes may not be capable of getting the bottom-line results that company's demand. Government and nonprofit organizations are feeling the same pressure to improve efficiency and effectiveness in cost effective ways. Our understanding continues to evolve from Total Quality Management through today's Six Sigma/Lean and tomorrow's new approach. The fundamentals of process improvement have not changed and underlie every successful new approach. Learn to apply these proven principles and techniques to your processes for improved productivity and quality. Learn to use processes improvement as your engine of success.

Outline:

  • The context for process improvement
    • Current challenges of processes and improvement efforts
    • The process model as the basis for improvement
    • Quality definitions applied to the process model
    • What we've learned about IT process improvement
    • Building Lessons Learned into all projects
  • The Process Improvement Process
    • Using classic models for process improvement today from Quality Circles to Lean Six Sigma
    • Practical uses for Statistical Process Control tools today
    • Applying the “New Q” process and management tools
    • A streamlined model for process improvement
  • Process Improvement
    • Defining the process and its current performance
      • Using process flows to find quick streamlining improvements
      • Choosing metrics and data sources
    • Gathering existing data for analysis
      • Data gathering techniques
      • Objective and subjective data gathering
      • Using existing data, including defect data
      • Analyze data for trends, root causes
    • Quantify the problem to drive improvement
      • Determining verified root causes
  • Considering, quantifying and testing possible solutions
  • Rolling out the improved process
    • Monitoring, tracking process performance
    • Ongoing data analysis
  • Finalizing the improved process
    • Implementing process management
    • Applying lessons learned
  • Integrating Continuous Process Improvement into daily work
    • Strategies for involving everyone in process improvement
    • Keeping the improvement process nimble and responsive
    • Demonstrating ROI on improvement efforts

Participants will learn:

  • How to apply proven approaches to improve the results of your processes
  • Understand how to apply these approaches in new situations
  • How to Demonstrate ROI for improvement efforts
  • How to use the process improvement tools to analyze and solve other problems

Biography:

Rebecca Staton-Reinstein, Ph.D., CSQA, is president of Advantage Leadership. Her company works with IT departments to assess current software and process quality and create robust strategic plans to get bottom line results, align with the larger organization, improve software quality at reduced costs and improved customer satisfaction. Rebecca's solutions are based on over 27 years of experience as an IT and quality manager, corporate officer, consultant and business owner. She established three QA departments and has taught her approach to thousands of quality professionals, internal customers and IT personnel around the world. She has begun to encapsulate her proven quality practices in a series of e-Books including Get Great Requirements and The Hard Job of Making Software Work: Build the QA Function . Her books on planning include Success Planning: A ‘How-To' Guide for Strategic Planning and Conventional Wisdom: How Today's Leaders Plan, Perform and Progress Like the Founding Fathers.



Dr. Rebecca
Staton-Reinstein

M3: Defining and Documenting Software Process 
Robin Goldsmith

This tutorial covers CKA area #1 of the International Software Process Improvement Certification (ISPIC) requirements.

Introduction:

Your software process is the way you do things that produces your results. To improve your software, you must improve your software process; and first and foremost that requires accurately identifying your REAL software process, which often is not readily apparent. Life cycle and process capability maturity models can provide guidance but frequently by themselves are not sufficient for defining your specific software process. This interactive workshop describes how to identify and use a variety of techniques to document procedural aspects of your software process. Moreover, it addresses the vitally important and seldom-recognized non-procedural aspects of your software process which so influence procedural effectiveness and efficiency. Exercises enhance learning by allowing participants to practice applying practical techniques to realistic examples.

Outline:

  • DEFINING SOFTWARE PROCESSES
    • What a process is, and is not, why it matters
    • Common process misperceptions, consequences
    • Processes predict results
    • Improve processes to improve results
    • Exercise: Define your software process
    • Distinguishing REAL from Presumed Process
    • Defined and documented processes
    • Silos are out-of-context and deceptive
    • Define a process from start to full end result
    • Relation between process and measurement
    • Measuring results vs. guiding improvement
    • Project and product vs. process measures
    • Identifying sub-processes
    • Exercise: Define your REAL software process
    • Limits of procedural process definition
  • DOCUMENTING SOFTWARE PROCESSES
    • Fundamental flowcharting
    • Exercise: Charting a process flow
    • State transition diagrams
    • Process mapping “swimlanes”
    • Showing delays, bottlenecks, handoffs
    • Exercise: Mapping a process flow
    • Formal documentation formats
    • IDEF-0
    • ETVX
    • Exercise: IDEF-0 vs. ETVX
  • MODELS AS PROCESS DEFINITIONS
    • Life cycle concepts, relation to process
    • Waterfall fundamental development phases
    • Economics of quality, earlier is cheaper
    • Waterfall strengths, weaknesses
    • Prototyping and iterative development
    • Timeboxing
    • Agile eXtreme Programming (XP)
    • Backbone daily builds integration
    • Continuous integration
    • Spiral model
    • IBM Rational Unified Process (RUP)
    • Proactive Testing™ Life Cycle
    • Exercise: Life cycle as process, pros and cons
    • Process capability maturity models
    • Maturity model strengths and limitations
    • Need for specialized maturity models
    • Test maturity, CMM-based vs. TPI models
  • NON-PROCEDURAL PROCESS ASPECTS
    • Effect of beliefs on procedural aspects
    • Customs and accepted ways of doing things
    • Execution skill
    • Management practices tend to be left out
    • Hiring, firing, promotion, reward, politics
    • Casting project parameters in concrete
    • Meaningful improvement, lessons learned
    • Exercise: Your REAL software process

Participants will learn:

  • Why defining processes matters for predicting, controlling, and improving one's results.
  • Identifying and distinguishing the REAL software process from the Presumed Process.
  • Role and limitations of life cycle and capability maturity models for defining software processes.
  • Generic and more formalized techniques for documenting software process procedural aspects.
  • Methods and issues for identifying and documenting non-procedural aspects of software processes.

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

M4: Verification and Validation Methods for Every Phase of Product Development and Deployment 
Marnie Hutcheson

This tutorial covers AKA area #6 of the International Software Process Improvement Certification (ISPIC) requirements.

Introduction:

Verification and Validation is not something you do just at the end of development. V and V is part of each phase of development and deployment. --Or at least it should be. This course teaches you test design techniques you can use at each phase of development and test. Static test design techniques are used to design tests starting with the requirements, and moving through scenario development, functional design, detailed design, and into coding. We then explore dynamic test design techniques that take us from unit testing, through module integration, system testing and into User Acceptance and Beta testing. Exercises accompany each technique.

Outline:

  • The testing lifecycle as a compliment to the development model
  • Software testing terminology review
    • Positive and Negative testing
    • Static and Dynamic Testing
    • Testing Levels --It all starts with requirements
    • Black box, clear box and gray box methods and techniques
  • Test Design Techniques
    • Black box Techniques
      • Turning Requirements into scenarios
        • Decision Tables (How many possible combinations exist?)
        • Modeling: Activity diagrams and Use cases (Introduction only)
      • Data Design techniques for Test Cases:
        • Boundary Value analysis
        • Equivalence class partitioning
        • All Pairs reductions (Introduction only)
        • Matrix data reductions (Introduction only)
    • Clear and Gray box techniques
      • Logic flow diagrams and basis paths (Introduction only)
      • Unit and Module Integration testing Statement and Branch coverage

Participants will learn:

  • How to practice each technique in a series of exercises
    • Black Box test design techniques
    • Modeling, Inspections and other forms of review
    • Clear Box test design techniques
    • Gray Box test design

Biography:

Marnie Hutcheson is a columnist for MSDN Magazine and TechNET Magazine. She also creates technical courseware for Microsoft Corporation and travels around the world training the trainers who teach these technologies to the world. She is an internationally published author and speaker in the areas of software development, testing and quality assurance, and systems administration.

She began her career in engineering at Prodigy Services Company in 1987 as the Lead Systems Integrator for Shopping, and later Banking and Financial Services. Over the years, she has become a leader in the development of the Web and has helped corporations like GTE and Microsoft develop and launch several major Internet technologies.



Marnie Hutcheson

M5: Agile Software Development Methods 
Alan S. Koch

This tutorial covers AKA area #7 of the International Software Process Improvement Certification (ISPIC) requirements.

Introduction:

As the Agile software development methods are becoming mainstream, more and more organizations are integrating them into their tool sets and adapting them to meet their projects' unique needs. Such adaptation can be difficult without a clear knowledge of what Agility is and is not, a comprehension of the values and principles that underlie them, and an understanding of how those values and principles manifest in Agile practices.

Outline:

  • The values, principles and philosophies that underpin Agility
    • The Agile Manifesto
    • The 12 Agile Principles
    • The Essence of Agility
  • Contrasting Agility with other software development methods
    • Agile vs. waterfall
    • Agile vs. RUP
    • Agile vs. Spiral
    • Agile vs. traditional incremental approaches
  • The iterative and incremental lifecycle
    • The Agile lifecycle model
    • The nature of an Iterative process
    • The purpose and value of Incremental development
  • Progressive requirements elaboration
    • Writing Agile “Stories”
    • The role of Ambiguity in Requirements
    • Elaborating Requirements detail as needed
  • Iterative planning and adaptation
    • The five levels of Agile Planning
    • High-Level Agile Planning
    • The role of Ambiguity in Plans
    • Elaborating Plan detail as needed
  • Incremental product delivery
    • The focus on Customer value
    • Rapid Feedback
    • Incremental Customer Acceptance
  • Coaching self-directed teams
    • The nature of self-directed teams
    • Team ownership of plans
    • Individual and collective Commitment and Accountability
    • Collaborative Leadership (vs. Command-and-Control Leadership)
  • Agile project monitoring
    • Delivered Software as the primary measure of Progress
    • Daily statusing
    • Translating team status for other stakeholders
  • Welcoming project change
    • Adapting to changing requirements
    • Adapting to changing priorities
    • Adapting to technical surprises
    • Adapting to reality in the face of planning errors
  • Interpreting Agile practices relative to reference models
    • CMMI
    • PMBOK
  • Tailoring Agile methods
    • Suitability of Agile methods in various contexts
    • Limitations of Agile methods
    • Adapting Agile methods to organizational realities

Participants will learn:

  • Understand the philosophical underpinnings of Agile practices
  • Apply an Agile ( iterative and incremental) lifecycle model
  • Judge the effectiveness of Agile practices at achieving their goals, especially:
    • Progressive Requirements Elaboration
    • Iterative Planning and Adaptation
    • Incremental Product Delivery and Acceptance
  • Identify key roles on an Agile team (especially the Coach and the Customer)
  • Apply the Agile approach to project monitoring and adaptation
  • Adapt Agile practices to organizational realities and limitations

Biography:

Alan S. Koch, PMP/ SCM guides organizations as they learn about and adopt the most effective processes. He consults, trains, speaks and writes on effective Project Management methods, both traditional and Agile. For over nine years, he has been President of ASK Process, Inc.

Mr. Koch is a certified Project Management Professional (PMP), a Certified ScrumMaster (SCM), and a published author (Agile Software Development, Evaluating the Methods For Your Organization , Artech House Books, 2005)

Mr. Koch's 30+ years in software development include:

  • 14 years designing, developing and maintaining software
  • 5 years in Quality Assurance (including establishing & managing a QA department)
  • 10+ years in Software Process Improvement
  • 10+ years in Management.

Mr. Koch holds the ITIL Foundations Certification and has trained many other individuals who have successfully achieved their ITIL Foundations Certifications.



Alan S. Koch

M6: Managing and Planning Software Projects 
Clyneice Chaney

This tutorial covers AKA area #4 of the International Software Process Improvement Certification (ISPIC) requirements.

Introduction:

Projects and project management operate in an environment broader than that of the project itself. The project management team must understand this broader context; managing the day-to-day activities of the project is necessary for success but not sufficient .

Outline:

  • Lesson 1: Project Management Concepts
  • The Project Manager
  • Lesson 2: The Project Management Process
  • 2-1 Initiation
  • Stakeholders
  • Start-up activities
  • QA
  • Control procedures
  • 2-2 Planning
  • Scope
  • Lifecycle
  • WBS
  • Resources
  • Risk
  • Quality
  • Lesson 3: Project Execution & Control
  • Monitoring progress
  • Change control
  • Metrics
  • Lesson 4: Close-Out

Participants will learn:

  • What a “project” is and what differentiates it from the activities that are performed every day in operating and maintaining the business,
  • Some of the reasons why projects fail
  • Some of the factors that help projects to succeed

Biography:

Clyneice Chaney brings over 20 years of testing, quality assurance and process improvement experience. Clyneice holds certifications from American Society for Quality as a Certified Quality Manager, Quality Assurance Institute's Certified Quality Analyst, and Project Management Institute's Professional Project Manager. She has participated as an examiner for state quality awards for Georgia and Virginia.

Focusing on process improvement and procedure development in the software testing and quality assurance areas, Clyneice has successfully lead process improvement, methodology development, and reengineering projects for organizations wishing to improve their software development, testing processes, and tool implementation.

Clyneice is currently an instructor for the International Institute for Software Testing and has presented technical papers at the Software Engineering Institute: SEPG Conference, American Society for Quality: Quality Manager's conference, Quality Assurance Institute International Testing conference and STAR East Testing and the Quality Assurance Institute conference.



Clyneice Chaney