Agile Development

 

On the beginning is always an idea (Requirement). The development takes longer time in case of big ideas, so we will work in iterations (Sprints) to make sure that we don’t miss the point of the idea. That means that we will to split the work into smaller parts (User stories).

On a beginning of each Sprint, we will break down the most relevant User Stories into tasks and estimate them (Planning). The PM will prioritize the tasks based on the estimations and the Sprint Budget (available working hours for the Sprint).

The developers will take the tasks based on the given priority and work on them and update the tickets in JIRA. The PM will make sure via Daily Catch-up meetings that the work is on track.

The work will be presented on the end of the Sprint (Demo) to the PM and Project Owner. New ideas and thoughts from the Demo can be implemented in the next sprint. After each sprint has the team to have a short meeting (Retrospective) and discuss the possible improvements of the work.


Communication

Client Side

There is a Project Manager (PM) and a Product Owner (PO - can be the same person) on the client side. PM is in close contact with the development team and provides them with all requirements.

Provider side

Development team works on the applications and informs the PM about the progress daily.

Daily catch-up meetings

The PM and the development team will spent daily 5 to 10 minutes on skype to discuss the status answering 3 questions individually.

  • What have I done yesterday?
  • What will I do today?
  • Are the any impediments in my work?

agile scrum workflow

Work Quality

All people are making mistakes and we can’t prevent it. We can only minimize the risks  of mistakes via additional quality checks in the development process.

We are using 4 eye principle (code review)

Another person will always check the work before submitting it. After the sprint should be the code reviewed by the architect to make sure it fulfilled its purpose. 

Automatic code validation and checking

We are using tools like PMD to check the code before adding the code to code review.  Our continues integration tool is using Sonar to check the code after each build.

Automated test are running daily

Tests like JUnit and Selenium tests are prepared as part of the development work.  This tests are running nightly to make sure that the new functionality is still compatible with the rest of the application.