Agile for Software Development - CLS Learn

Agile for Software Development

Learn best practices for using the Agile framework to build better products faster and more efficiently. Study the key ideas underlying agile methodologies.

Course Overivew

  • This Agile programming course prepares programmers, developers, testers, and designers to immediately become productive members of an Agile team by focusing on the techniques for implementing software with an Agile mindset.
  • Learn to use test-first principles, design and create automated acceptance tests, and apply SOLID design patterns to code.
  • Learn how to build products that deliver continuous value to customers using an Agile approach to software development.
  • By the end of this program, students will be able to differentiate between Scrum, Kanban, and XP, create an environment that fosters high performing teams, and manage iteration planning using Agile techniques.
  • Students will also be able to create a release plan for a Minimum Viable Product, create metrics that show project status, and effectively communicate progress both within and outside of the development team.
Read More
Read Less
Course Benefits:

Agile Software Development Introduction

    • Defining the developer role in an agile process
    • Identifying software development roles and activities
    • Supporting the requirements engineering process
    • Decomposing and estimating requirements
    • Using test automation to drive development
    • Applying SOLID design principles
    • Exploiting design patterns
    • Integrating systems
    • Branching and merging version controlled code
    • Managing defects efficiently
    • Supporting Agile Projects

Gathering software requirements

    • Eliciting requirements from users
    • Adopting Agile values and principles
    • Identifying user stories from stakeholder requirements

Planning Agile Projects

    • Prioritizing and estimating work
    • Dividing features into tasks
    • Estimating stories and tasks

Tracking Team Progress

    • Tracking progress with burn down charts
    • Calculating velocity and adjusting to change
    • Monitoring work in progress with task boards

Test-Driven Development

  • Defining test levels
    • Acceptance, system, integration and unit testing
    • Employing both automated and manual testing
    • Specifying boundary conditions
    • Driving development through constant testing
  • Ensuring software meets requirements with user acceptance testing
    • Scripting user acceptance tests
    • Specifying acceptance criteria
    • Determining conditions of satisfaction
    • Automating the user story acceptance tests with Gherkin
  • Minimizing bugs through automated programmer unit testing
    • Utilizing tools for automated unit testing
    • Writing unit test code
    • Isolating classes for testing
    • Programming mock objects
    • Refactoring for improved design

Improving Code Quality

  • Applying SOLID design principles
    • Ensuring classes have a single responsibility
    • Maintaining extensibility through the open-closed principle
    • Using inheritance correctly
    • Inverting dependencies to obtain the correct interfaces
    • Injecting dependencies using injection frameworks
  • Short-circuiting design with patterns
    • Understanding the role of design patterns
    • Applying well-known patterns: Strategy and observer

Scaling Development

  • Protecting code with version control
    • Locking versus multiple checkout version control systems
    • Single store versus distributed version control
    • Employing GIT for distributed multiple checkout control
    • Pushing and pulling changes from central repositories
  • Applying multi-team agile versioning policy
    • Branching and merging code developed by multiple teams
    • Choosing agile branching and merging strategies

Continuous Improvement of Development

  • Monitoring development
    • Knowing what to track in development
    • Identifying common agile development pitfalls
  • Participating in retrospectives
    • The developer’s role in agile process improvement
    • Continuous improvement through learning
  • Apply test-driven techniques for developing working code
  • Refactor code to exploit SOLID design principles and pattern technology
  • Use mocking libraries to isolate components for efficient testing
  • Remove dependencies between components with Dependency Injection Frameworks
  • Drive version control systems using an Agile branching and merging policy
  • Programmers
  • Developers
  •  Testers
  • designers
Download
Course
Brochure

Prerequisites

This course is available at :

Classroom Training

Cairo
Giza
Onsite

Online Training

Virtual Interactive Instructor LED
Self-Paced Training

WHY CHOOSE CLS

Experience

We have been in the market since 1995, and we kept accumulating experience in the training business, and providing training for more than 100,000 trainees ever since, in Egypt, and the MENA region.

Premium Facilities

CLS facilities are well-equipped with strong hardware and software technologies that aid both students and trainers lead very effective smooth training programs.

Customer Support

We provide our clients with the best solutions, customized to their specific needs and goals. Our team is highly qualified to answer whatever questions you have.

Global Accredited

CLS is an authorized and accredited partner by technology leaders. This means that our training programs are of the highest quality source materials.

Up To Date

We keep tabs on every change in the market and the technology field, so our training programs will always be updated up to the World-class latest standards, and adapted to the global shape-shifting job market.

Certified Instructors

We select the best instructors, who are certified from trustworthy international vendors. They share their professional experience with the Trainees, so they can have a clear hands-on experience.

Over 200,000 Gradutes From CLS

Play Video
Amr Mostafa
An employee of the Security Department at the Ministry of Electricity

I`m attending now CEH Training with Eng Mohamed Hamdy ,CISSP Training with Eng Mohamed Gohar, I really learned a lot from him , everything here in CLS  is very satisfying including facilities .

Play Video
Lamiaa Medhat
CIO

We took a series of courses as the digital Transformation Unit of the ministry . we just finished CRISC Certification Training with DR Adel Abdel Meneim . Thank you CLS for all your efforts, we really appreciate it

Play Video
Ahmed Salah
Senior Cyber Security Engineer

Me and my colleagues are working in a government Organization, We took a no. of cyber security trainings with CLS starting with CEH and CISSP. we liked every thing the instructors, the stuff and whole environment

Play Video
Ferras Hassan
Head of the Programming Department at Bashayer Energy Company

I`m attending ASP.NET Core with MVC Training with Eng Mohamed Hesham , I really learned a lot from him , everything here in CLS  is very satisfying including facilities .Thanks you all team.

Play Video
Mohamed Ahmed Ali
Systems management specialist

Qualifying the cadres of digital transformation units in government agencies moving to the administrative capital .Thanks CLS

Play Video
Zeinab Salah
Software Developer at Bashayer Energy Company

I`m attending ASP.NET Core with MVC Training with Eng Mohamed Hesham , I really learned a lot from him , everything here in CLS  is very satisfying including facilities .Thanks you all team.

Play Video
Ibrahim Khalaf
IT Infrastructure and Security Manger

I`m attending now CRISC Training with DR Adel Abdel Meneim , I really learned a lot from him , everything here in CLS  is very satisfying including facilities , locations and the team.

Play Video
Samar Shams ElDin
Programmer at Bashayer Energy Company

I`m attending ASP.NET Core with MVC Training with Eng Mohamed Hesham , I really learned a lot from him , everything here in CLS  is very satisfying including facilities .Thanks you all team.

Student Application For

Agile for Software Development
Full Name *
Email *
Phone *
Full Phone
Training Location *
Additional Request

Business Application For

Agile for Software Development
Full Name *
Company Name *
Job Title *
Number of Employees
Email *
Phone *
Full Phone
Training Location *
Additional Request