Best Practices and Guidelines by Indrivo on managing an Agile Dedicated Software Development Team

What is a Dedicated Team?

The name says it all — a dedicated development team is an allocated group of remote employees who are fully dedicated to you and your project.

What can a Dedicated Team look like?

Dedicated developers are best suited for long-term projects, where the project scope changes frequently, the scope of the project are not well defined or uncompleted and the requirements are changing during the development process. It can consist of one to a few dozen software developers, QA engineers, designers and managers who work full time exclusively on your project and report directly to you. Depending on how well you know the development process and what your staffing needs are, you may decide to lead the team from your side or to instruct our project managers to coordinate the communication and analysis process.

  • communicate only with Indrivo’s PM, the PM will do all the management and keep track of the team lifecycle.
  • be responsible for creating a task backlog;
  • keep track of the work progress;
  • keep track of communication.

How we work at Indrivo with Scrum and Kanban

There is no wrong or right working methodology to fit all teams or all industries. How does our software development teams actually work?

Scrum

In fact, the term comes from rugby and literally means “crowd”. Scrum is an iterative process model from agile software development, in which projects are not planned completely and in detail in advance, but refined step by step. Instead of sitting together for several hours in weekly meetings and exchanging a lot of information, Scrum uses so-called daily standups to focus on a focused, daily exchange of information. While standing, the team members report one after the other without interruption. Thus, a daily stand-up meeting usually does not last longer than 15 minutes.

Kanban

Kanban comes from Japan and means “card”, “label” or “sticker”. Unlike Scrum, the Kanban approach is not iterative. The idea behind this development method is to visualize the work on a board with the columns “To Do”, “Work in Progress” and “Done” and it allows the software to be developed in one large development cycle. The aim is to limit the number of tasks that the individual team members can work on independently. In this way, the throughput times should be shortened and it should be made visible at which point additional resources may be required.

The process

In the following, we will go into more details about various aspects of agile working and the basic ideas behind it.

Development kick-off

Every our project goes through a predefined collaborative phase in which we involve the customer and the entire dedicated development team, under the guidance of a project manager.

  • Project Discovery
  • Release Planning

Weekly Project Deliveries

Depending on the agile development method chosen, our development teams deliver regular updates, these can be prototypes or live demo versions depending on the phase of the project.

  • Daily Meetings
  • Cycle Reviews
  • Retrospective Reviews
  • Project Management

Scope of Work and Change Management

Changes and modifications which appear during the product development are saved in the backlog, the items in the backlog serve for the next development cycle planning.

Scope Management Cycle

  • Development Teams, Project Managers and Project Owners are responsible for recommendations and decisions they take, thereafter influencing the budget of the development process.
  • Development teams are responsible for continuously estimating the appropriate backlog and tracking work in the pipeline. This process allows precise traceability of the work performed, as well as the speed of work.
  • Product Owners are mostly responsible for the non-technical changes in the scope of work, setting priorities and goals of the development cycle.
  • The Project Managers and Scrum Masters together with the development team are responsible for delivering the project on time.
  • A continuous assessment of the predicted delivery time and scope helps to determine the structure and size of the development team.

Managing the Project Risks

We typically identify risks early in the development cycle, and often the main factors are discovered during the product development kick-offs. If a risk is discovered, we set up a meeting with all involved and develop a plan to solve the identified problem.

Project Reports

The Project Owner receives weekly or bi-weekly development reports with summaries of the tasks carried out and burn down charts.

Development Process Norms

The processes below are based on the experience gained over the years in providing IT services, solutions and advanced software development.

Development Rules

Our teams adhere to well-known coding standards to deliver a consistent, easy-to-understand, and maintainable code base. For the products we develop, we implement the best and most reliable technologies and use reliable, tested frameworks and tools and follow technology trends.

Definition of “Done”

When we start a new cooperation with a customer, we agree on the definition of the status “Done”. Any functionality or change in the code we deliver should correspond to the initial criteria listed in our definition of “Done”, thus ensuring the quality and consistency of the result.

  • Implement -The task is developed. Graphic user interfaces are fully implemented.
  • Integrate -All tests are passed automatically.
  • Check -A developer checked the task/functionality manually.
  • Review -The code passed the code review and was approved by 2 developers (4-eyes principle).
  • Approve -The code has been tested and approved by the QA and the Product Owner.
  • Deliver -The code is passed to a repository and delivered to a suitable application environment.

Code Review

Our code review process ensures that each part of the code is not only checked by the developer who wrote this code, but is also checked and approved by 2 other developers. We spend around 15% of our time on tests and make sure that our work meets our high standards and that we only deliver the best quality to our customers.

Code Metrics

Automated test tools such as Jenkins, Sonar and Gitlab are used for regular checks of the source code. With the result of the tests, we improve the source code and prevent bottlenecks that can arise during programming.

Continuous Integration/Continuous Development

Indrivo uses Continuous Integration (CI)/Continuous Development (CD) as a development practice. We also use Jenkins CI for automated quality reports and tests in the delivery pipeline. This process ensures that only code that meets our deployment criteria and has passed relevant automated tests is integrated into production code.

Quality Assurance

Our Quality Assurance engineers perform tests to ensure the highest level of code quality and usability. Depending on the needs of our customers, we create individual quality assurance guidelines for each project.

  • User Interface Testing (UI) — The user interface is tested for compliance with design guidelines and mock-ups.
  • User Experience Testing (UX) — The usability is tested and measured in detail.
  • Regression Testing — To tests if the newly implemented code does not interfere with an earlier implementation.
  • Security Testing — Data security is tested.
  • Performance Testing — Testing the responsiveness, performance, and stability of a product under a simulated workload.
  • Manual Tests — The product is checked against the initial specification requirements.

Deliver Excellence

We have been working with the dedicated team model for several years. At Indrivo, communication and collaboration are the most important assets that we deliver when working with our customers. Our processes help us create long-lasting relationships with business partners and customers and deliver first-class software products. Agile dedicated team model has many advantages to offer, including cost savings, access to highly specialized resources, etc., while maintaining a high level of control and confidence.

www.indrivo.com

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store