Agile Software Design and Programming

5.0
2 reviews
  • I enjoyed the 3 days, the coach helps a lot to complete the complicated exercises which were intense.
    |
  • Since I was asked to leave a feedback so I would say that it was quite a good course though I had trouble initially. Overall It was a good course to follow up.
    |

Course

Inhouse

Price on request

Description

  • Type

    Course

  • Methodology

    Inhouse

  • Start date

    Different dates available

During this five day course, participants will encounter and practice the tools and techniques used from elaborating requirements through to architecting and designing the system through to writing the code. Participants will learn how to work effectively on teams and apply technical practices such as refactoring and continuous integration. Specifications written in the form of user examples and unit tests will be used to drive development with TDD (Test-Driven Development), BDD (Behaviour-Driven Development) and ATDD (Acceptance Test-Driven Development).

Facilities

Location

Start date

Inhouse

Start date

Different dates availableEnrolment now open

About this course

By the end of the course, participants will be able to:collaborate with others on an Agile teamwrite user stories and estimate the work involvedcreate a release planwrite automated specifications and acceptance testsdrive design and development with unit testsintegrate code using version control and continuous integrationrefactor code to improve the design.

Agile team members who will be involved in developing a system from requirements through to design through to code.

This course covers advanced Agile topics and participants need to have a thorough understanding of the fundamentals of Agile. If seeking certification then participants need to be an ICAgile Certified Professional or equivalent. Software Education’s Agile Fundamentals course provides the knowledge and skills needed to become an ICAgile Certified Professional.

Our courses are authored by content-area experts with a great deal of training experience. Topics are broken down into small chunks, which are explained, demonstrated with sample files or applications, and then practiced with hands-on exercises.

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

5.0
  • I enjoyed the 3 days, the coach helps a lot to complete the complicated exercises which were intense.
    |
  • Since I was asked to leave a feedback so I would say that it was quite a good course though I had trouble initially. Overall It was a good course to follow up.
    |
100%
4.8
excellent

Course rating

Recommended

Centre rating

Adriano Sole

5.0
24/03/2019
About the course: I enjoyed the 3 days, the coach helps a lot to complete the complicated exercises which were intense.
Would you recommend this course?: Yes

Sandy Spider

5.0
22/03/2019
About the course: Since I was asked to leave a feedback so I would say that it was quite a good course though I had trouble initially. Overall It was a good course to follow up.
Would you recommend this course?: Yes
*All reviews collected by Emagister & iAgora have been verified

This centre's achievements

2018

All courses are up to date

The average rating is higher than 3.7

More than 50 reviews in the last 12 months

This centre has featured on Emagister for 6 years

Subjects

  • Design
  • Writing
  • Team Training
  • Programming

Course programme


#text-block-10 { margin-bottom:0px; text-align:left; }

Architecture

How much architecture and design is done on an Agile project and when. How Agile architecture differs from traditional architecture. The roles and responsibilities of architects and tech leads.

Communication Skills

Skills to enable collaboration in the team. How to communicate and interact with other personalities. Daily stand-ups and retrospectives share information within the team. Pair programming can solve difficult problems and distribute knowledge about the system, but requires discipline to use.

Planning

Writing user stories and breaking epics down into smaller stories. Managing non-functional requirements with technical stories. Estimating the size of each story. Scheduling work based on stories.

#text-block-11 { margin-bottom:0px; text-align:left; }

Specification by Example

Acceptance Test-Driven Development (ATDD) ensures the focus is on what the customer wants/needs and drives the TDD cycle. Cucumber and FitNesse allow user requirements to be automatically verified when written as specifications that contain examples. User interface tests and non-functional tests can also be automated.

Design

Using modelling notations to explore the design with others. Patterns provide pre-packaged solutions to common problems. Principles like SOLID, patterns and simplicity establish good practices. Technical debt arises when the designs decay over time and needs techniques to monitor it so that it can be addressed.

Unit Testing

Principles and anatomy of unit tests and how they are applied with JUnit or NUnit. Common patterns for creating and structuring tests and fixtures to avoid duplication and manage performance. Smells that identify problems with the tests.

Refactoring

Code smells identify code that should be refactored into a better design. Refactoring patterns provide safe ways to change and restructure code. A good unit test (regression) suite provides confidence that nothing is broken in the process of refactoring. Unit tests can be added to legacy code by looking for seams that can be used to isolate the unit to be tested.

Test-Driven Development

What is TDD and how is it practiced? Test first focusses thinking on the design and the desired result. Using behaviour to identify what to test with Behaviour-Driven Development (BDD).

Team Tools

Using automated tools to build, test and deploy the system. Different types of version control and how they provide a single code base with the ability to roll-back changes. Continuous integration uses automated builds and version control to manage integrating the work of multiple developers.

Environments

Structuring the physical work environment such as open-plan offices, having the team in one place, etc. Dashboards and other information radiators make it easy for the team members to see the status of the project and system.


Agile Software Design and Programming

Price on request