Price: $2,999.00
Course Number: 10001
Length: 3 Days
Print Friendly, PDF & Email

Software Engineering Training Bootcamp

Software Engineering Training, is a 3-day intensive covering many aspects of software engineering including Software Requirements, Definition, Development, Validation and Verification and Management Training.

Software Engineering Training customized as “Software Requirements, Definition, Development & Management Training” course is intended for those wishing to learn about the best software engineering practices. The course provides a practical introduction to software development and specifically methods to elicit, analyze, define and manage requirements.

Learn about software requirements analysis, software delivery cycles, software development with changing stakeholders and requirements, management and process control. Learn about traditional and agile methods and how to deliver software in time-boxed iterations, manage requirements and prioritize work to satisfy stakeholders. Software Engineering Training teaches you about the technical best practices, and how, in a changing environment, to communicate and manage requirements.

After discussing the foundations of software requirements, students will learn about requirements elicitation, discovery and management. IEEE Std 830-1998, Recommended Practice for Software Requirements Specifications is used as a reference.

Who Should Attend 

  • Software developers
  • Software engineers
  • System engineers
  • Test engineers
  • Project Managers (PM)
  • Testing, Verification & Validation and Configuration PM

software engineering training

Course Learning Objectives

Upon completion of software engineering training course, the attendees will be able to:

  • Describe basic software engineering principles
  • List the motivation behind software requirements, definition, development and management
  • List requirements elicitation, gathering and analysis techniques
  • List the competing methods for software requirements and definitions
  • Understand software requirements values and principles
  • List software requirements, development and management standards and best practices
  • Discuss steps in developing Software Requirements Specifications (SRS)
  • Describe requirements verification principals and methods
  • Discuss software validation principles based on users needs, scenarios and ConOps
  • Understand best methods and practices common to software development and management
  • List cost-effective risk management program implementation alternatives
  • Discuss failures and root causes in software requirements, analysis and development projects
  • Describe similarities and differences between software development management plans and project management plans
  • List software development management and cross activities including project management, scope management, time management, cost management, risk management, configuration management, and quality management
  • List steps in developing software performance measurement, metrics and KPIs

Course Outlines and Topics

Principles Behind Software Engineering, Software Requirements, Development and Management

  • Software engineering goals and objectives
  • Role of software requirements, definitions, development and management
  • Software requirements analysis methods and techniques
  • Software development methods and techniques
  • Software management methods and techniques
  • Capability Maturity Model Integration® (CMMI)
  • ISO 15504 Software Process Improvement Capability determination (SPICE)
  • Software requirements analysis
  • Software requirements elicitation
  • Software requirements specification
  • Software requirements validation
  • Software requirements management tools
  • Software design and construction
  • Software Project management activities
  • Software Development Plans

Software Development Life Cycle (SDLC)

  • SDLC as a process methodology for software development
  • SDLC models
  • Waterfall, spiral, and agile
  • Factors selecting a model
  • Project’s size, complexity, aims, and objectives
  • Status of requirements
  • Well understood and articulated up front requirements
  • Stability of the environment in which the software will function
  • Customer’s needs and availability during the project
  • Project risk tolerance
  • Project timeline
  • The initial phase and the requirements task
  • User and stakeholders
  • Well documented, validated, and approved requirements
  • Functional, performance, and other requirements
  • Analysis, design, implementation, testing, integration, operations, and maintenance
  • Waterfall model
  • Agile model
  • The Agile Manifesto
  • Identifying emerging requirements
  • Standards and regulations violation
  • Calculating metrics
  • Writing functional specifications,
  • Writing test cases
  • Software verification and validation
  • Challenges in the requirements engineering process
  • Best Practices and lessons learned

Software Life-Cycle Building Blocks

  • Concept development
  • Operational needs assessment
  • Concept of Operations (ConOps)
  • Defining operational requirements
  • Eliciting, collecting, and developing requirements
  • Analyzing and defining requirements
  • Classifying functional vs. non-functional requirements
  • Uncertainty
  • Prototyping and experimentation
  • Software architecture considerations
  • Software architectural frameworks and models
  • Software design and development
  • Develop technical requirements
  • Develop top-level software design
  • Integration and Interoperability (I&I)
  • Integration testing
  • Interface management
  • Test and evaluation
  • Verification and Validation (V&V)
  • Implementation, O & M, and transition

Identify and Managing Stakeholders

  • What problem is the customer trying to solve?
  • Customer need and want?
  • Value proposition
  • Objectives and goals
  • Scope of Project
  • Project milestones
  • Managing critical assumptions
  • Identifying risks
  • Issues
  • Constraints
  • Success Criteria

Eliciting, Collecting, Developing and Managing Software Requirements

  • High-level concept definition
  • Software development scope
  • Operational needs and the concept of operations (CONOPS)
  • Discover, elicit, collect, define, and analyze requirements
  • Meet the users’ needs to perform a specific set of tasks
  • Identifying stakeholders
  • Operational users and other stakeholders
  • Requirements elicitation
  • Elicitation techniques
  • User requirements
  • Analyze, integrate, and transform needs into software requirements
  • Roles and Expectations
  • Elicit business, mission, and operational needs
  • Facilitate stakeholder engagement on and resolution of requirements
  • Requirements and software capabilities
  • Software functional descriptions
  • Non-functional properties of that software
  • Requirements attributes
  • Classifying techniques for functional and non-functional requirements
  • Requirements elicitation to different development methodologies (waterfall, spiral, agile, etc.)

Writing Software Requirements Specifications (SRS)

  • What are Software Requirements Specifications?
  • A well-designed, well-written SRS
  • What Kind of Information Should an SRS Include?
  • Interfaces
  • Functional Capabilities
  • Performance Levels
  • Data Structures/Elements
  • Safety
  • Reliability
  • Security/Privacy
  • Quality
  • Constraints and Limitations
  • Apportioning of requirements
  • Specific requirements
  • User interfaces
  • Software interfaces
  • Functional requirements
  • Performance requirements
  • Design constraints
  • Software system attributes
  • Prioritization and Release Plan
  • Choice of prioritization method

Agile & Scrum Software Development Applied

  • Agile methods in software requirements and definitions
  • Role of Agile in software development and management
  • Scrum and XP
  • Empirical processes control
  • Sprint cycle and planning
  • Backlogs
  • Sprint reviews and retrospectives
  • Project Objectives and Vision
  • Project management
  • Risk management
  • Requirements
  • Product Backlog
  • Customer involvement
  • Stakeholders and Roles
  • User Stories
  • Epics, Features and Tasks
  • Requirements discovery
  • User interviews
  • Focus groups
  • User groups

Software Requirement Management

  • Creation, editing, and updating of requirements
  • Defining and managing requirements, specifications, stories, and other artifacts
  • Requirements management solutions for product development.
  • Advanced requirements, test cases and life cycle management software.
  • Requirements, test cases, releases, defects and issues
  • Test cases and test steps that validate the functionality
  • Management and traceability of requirements
  • Design Control Items View Profile
  • Program planning
  • Analyses of alternatives
  • Management metrics
  • Technical maturity
  • Technology planning
  • Cost estimation
  • Agile acquisition strategy
  • Risk management
  • Configuration management tools
  • Software reliability, availability, and maintainability
  • Quality assurance and measurement
  • Cross team activities
  • Process reviews

Request More Information

  • Please complete the following form and a Tonex Training Specialist will contact you as soon as is possible.

    * Indicates required fields

  • This field is for validation purposes and should be left unchanged.