Price: $3,999.00

Course Number: 905
Length: 4 Days
Print Friendly, PDF & Email

 

Agile Software Development Training

Agile software development involves approaches to software development that emphasize incremental delivery, team collaboration, continual planning, and continual learning, instead of trying to deliver it all at once near the end.

Agile software development focuses on keeping the process lean and creating minimum viable products (MVPs) that go through a number of iterations before anything is final. Feedback is gathered and implemented continually and in all, it is a much more dynamic process where everyone is working together towards one goal.

Agile software development also involves a specific way of thinking and acting. Agile is all about short cycles, iterative and incremental delivery, failing fast, getting feedback, delivering business value to customers early and about people, collaboration and interaction.

Today, Agile software development has become an umbrella term for a set of frameworks and practices based on the values and principles expressed in the Manifesto for Agile Software Development and the 12 Principles behind it. When you approach software development in a particular manner, it’s generally good to live by these values and principles and use them to help figure out the right things to do given your particular context.

One thing that separates Agile from other approaches to software development is the focus on the people doing the work and how they work together. Solutions evolve through collaboration between self-organizing cross-functional teams utilizing the appropriate practices for their context.

Some would argue that Agile software development is also a mindset seeded by the Agile Manifesto’s values and principles. Those values and principles provide guidance on how to create and respond to change and how to deal with uncertainty.

Agile focuses effort and resources on people building things that are delivered quickly to solve the highest priority problems in a rapid, test-and-learn fashion that quickly provides feedback.

Consequently, Agile is known for adding value and accelerates innovation. Project management elements like documentation, process, and structure are still important with Agile, but the No. 1 priority is value delivery.

Agile Software Development Training Course by Tonex

Tonex Agile software development training course covers the shift in the way your organization think. It covers the impacts at all stages of the software development lifecycle (SDLC). The training covers the effect on all the stakeholders within that lifecycle, from business analysts to developers to testers.

This course emphasizes the rapid realization of system value through disciplined, iterative and incremental software development techniques, and elimination of wasteful practices.

Attendees will learn the full spectrum of Agile Methods, including Scrum, Extreme Programming, Lean, Crystal Methods, Dynamic Systems Development Method, and Feature-driven Development. These methods promote teamwork, rich and concise communication, and the frequent delivery of running tested systems containing the highest priority customer features.

Agile methods are contrasted with common workplace practices and traditional methods such as CMMI, PMI/PMBOK, and RUP. Examples of agile adoption in industry are covered. Additional topics in the course include team dynamics, collaboration, software quality, and metrics for reporting progress.

We discuss challenges include smooth iteration and release planning, collaboration amongst cross-functional teams and reliable quality assurance for multi-layered and composite applications. We also address the most effective way to manage dynamic requirements and tests.

Global principles are presented with detailed practices that can be easily implemented by attendees, providing a comprehensive understanding of the important elements of agile software development methods.

 

Who Should Attend

Software architects, system engineers, enterprise architect, programmers, technical/project managers, analysts who want to learn to develop software using proven Agile programming principles and practices

Objectives

Upon completion of this course, the participants are able to:·

  • Understand software system engineering requirements analysis and design
  • List Agile development and Agile testing processes
  • Explore Agile software development methods and approaches
  • Explore transitioning mechanisms from traditional waterfall software approaches to iterative Agile methodologies
  • Utiize integrated application lifecycle management software and best practices
  • Achieve better visibility, control and responsiveness across the lifecycle, from requirements management to delivery
  • Utilize tools and techniques essential for development of complex software systems using agile development processes
  • Explore applied practical problems to aid understanding software systems engineering reliability and performance issues
  • Produce designs and cost estimates of complex products
  • Work with customers to better translate user needs into outstanding delivered products
  • Define optimal verification and validation programs tailored to the organization and its customers

Outline

Agile System and Software Definitions and Concepts

  • Building Software using Systems Engineering Principles
  • Agile System Development Life Cycle
  • Systems Engineering Team Building
  • The Systems Engineering Process
  • Requirements
  • Functional analysis process
  • System Analysis and Design Process
  • Conceptual System Design and Development
  • Preliminary System Design and Development
  • Detail Design and Development
  • Developing a Systems Architecture
  • Technical Reviews and Audits
  • Role of Configuration Management
  • Verification and Validation Testing
  • Risk Management Methodology
  • System Cost and Scheduling
  • System Production
  • Systems Engineering Management and Planning
  • Agile Project Management
  • Identification and Resolution of Impediments

Agile Software Development

  • Agile Software Development
  • Quality, reduced time to market, & cost savings
  • High-efficiency model for building applications
  • Agile development methods
  • Scrum and Extreme Programming (XP)
  • Transitioning from Waterfall to Agile
  • Align Agile practices with PMI’s
  • Align Agile with the SEI’s CMMI®
  • Plan your Agile Transition Strategy

Introduction to Agile System Software Development

  • Agile development concepts and definitions
  • Application of agile development to systems engineering
  • What is agile system software engineering?
  • Key Characteristics of Agile
  • Requirements and practices
  • Agile Requirements
  • Agile Best Practices
  • Agile Contracts
  • Agile Foundation
  • Agile Iterations
  • Agile Meeting & Team Facilitation
  • Agile Metrics & Reporting
  • Agile Organizational Principles
  • Agile Roles & Responsibilities
  • Capability Maturity Model Integration (CMMI®)
  • Focused on Customer Value

Agility and Software Engineering Processes

  • Three Perspectives on Software Engineering
  • The Agile Manifesto
  • Individuals and Interactions over Processes and Tools
  • Customer Collaboration over Contract Negotiation
  • Responding to Change over Following a Plan
  • Application of Agile Software Development
  • Customers and Users
  • Driving the Requirements
  • Customer Role and Collaboration
  • Time-Related Problems in Software Projects
  • Why Are Measures Needed?
  • The Agile Approach to Quality Assurance
  • Abstraction Levels in Agile Software Development
  • Software Intangibility and Process Transparency
  • Reflective Practitioner Perspective
  • A Conceptual Framework for Change Introduction
  • Transition to an Agile Software Development Environment
  • Leadership Styles
  • Delivery and Cyclicality

Application of Agile System Software Concepts

  • Understanding problem statements
  • Storing and managing frat information
  • Translating customer's needs
  • Complete top level descriptions
  • Operational scenarios
  • Decomposing descriptions to the next level
  • Requirements allocation
  • Decomposing systems description another level
  • Control of the process

The Agile Software Approach

  • Need for the software approach
  • Basic steps
  • Examples of the software approach
  • Applying the systems approach to engineering of complex systems
  • Agile Programming
  • Agile Project Simulation
  • Agile methodologies
  • XP and Scrum
  • Agile development principles
  • Test-driven development
  • Refactoring existing code
  • Maintenance and improved design
  • Simplifying complex coding problems
  • Design patterns
  • Planning an Agile Release
  • Establishing the Agile project
  • Stakeholder Analysis
  • User Requirements
  • Eliciting application requirements
  • Capturing user stories
  • The Agile coding process
  • Verification and Validation
  • Integrating unit testing
  • Cleaning code with refactoring
  • Integrating Object-Oriented Programming Principles
  • Single Responsibility Principle (SRP)
  • Open/Closed Principle (OCP)
  • Dependency Inversion Principle (DIP)
  • Liskov Substitution Principle (LSP)
  • Integrating design patterns into the Agile process
  • Managing product delivery
  • Tools for tracking and monitoring a project
  • Managing Change

System Analysis and Design Process

  • Systems Engineering Requirements Specifications
  • Understanding and Defining User Requirements
  • Specifications
  • Performing a Function Process
  • Developing and Selecting a Systems Architecture
  • Software and Hardware Architecture
  • Defining, Controlling, and Managing Interfaces
  • Performing System Design and Development
  • Defining and Managing Performance Parameters

Defining and Managing Reliability ENgineering

  • Alternative Models
  • Economic Evaluation
  • Optimization in Design and Operations
  • Queuing Theory and Analysis
  • Control Concepts and Techniques
  • Reliability and Maintainability
  • Usability (Human Factors)
  • Supportability (Serviceability)
  • Producibility and Disposability
  • Design for Affordability (Life-Cycle Cost)
  • Overview of tools used in Agile Engineering
  • Definition of problems and alternative solutions
  • Analysis of functions and systems
  • Requirement development
  • Generation of alternatives
  • Description and analysis of alternatives
  • Documentation and communication
  • Decision making
  • Specifications

Agile Software Development Training

 

 

 

 

 

 

 

 

 

 

Request More Information

Please enter contact information followed by your questions, comments and/or request(s):
  • 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.

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.