Comparison of V-model and Agile Software Development Methodology

Martin Tesař

Technical Director

Our experience in SW development methodology

For software development, we have experience with various development practices. In the last years, we have mostly focused on two different software development processes: a V-model based and Agile based process; for Agile,we have worked both in Scrum and Kanban models.

No items found.

Software Development Based on V-Model

Processes based on the V-Model are very often required by larger corporate companies who need strictly predictable and trackable plans split into clearly defined pieces of work.

Processes based on the V-Model:

Definition of Requirements

Our team of embedded software engineers collects the customer's requirements, reviews them, and clarifies any potential specification gaps.

System Design

In the system design, we develop ideas and consider how the functionality will be distributed to hardware and software resources. Consequently, we pre-define interfaces and data relations.

Architecture Design

In this phase, we analyze and evaluate different approaches at a high level that lead to the easiest and fastest development and lowest cost. We split the system design into individual modules depending on their functionality differentiation.

Module Design

A module or unit design is a detailed internal design definition at a low level focussing on inter-module compatibility.

Coding

We follow either the best-practice guidelines or customer standard guidelines, depending on the agreement with the customer. Code reviews and code optimization are an unavoidable part of this stage as well.

Unit Testing

Module or unit test scripts are implemented and performed during this process. They detect the maximum of the errors at an early stage.

Integration Testing

Integration testing checks the coexistence and mutual communication of the modules.

System Testing 

System testing checks the functionality of the entire system the communication between the system and external systems. Hardware and software compatibility is checked in this stage as well.

Acceptance Testing

The whole software product is tested against the business requirements in the pre-final user environment. Both the user experience and system performance are finally tested here.

No items found.

Software Development Based on Agile

Agile software development is an evolution-based approach that splits into many vertical integration campaigns. It supports continual improvement executed by self-organizing team(s) collaborating tightly with the customer’s team or end users.

We widely use one of the two software development frameworks:

  • Scrum – a framework based on the short sprints (each done in typically two weeks) or
  • Kanban – a framework with continuous workflow. As the first step, the backlog is filled by the epics/stories/issues/tasks, and all the items are estimated.

Typical Scrum events in our team are:

Sprint

A time window of typically two weeks during that the developer team finishes usable or releasable product (or its distinguishable part).

Sprint Plan

An activity done by the whole team that carries out a doable portion of work for the sprint.

Daily Scrum

A daily stand-up meeting to give the team an opportunity for mutual discussion on what the status is, if someone is stuck in something, and what problems the team have found.

Sprint Review

A meeting at the end of the sprint where the team members share their recent experience with the project, review the work that was not finished, and talk to the stakeholder.

Sprint Retrospective

An opportunity for team self-improvement.

Next Interesting Topics

A Different Way of Working from Home

PCB designer from Consilia works from his garden house. The walk from his family house takes just about 10 seconds, but, symbolically, it divides his two worlds.

“It is a real job, just without daily commuting, which would take me about three hours a day.”

What determines a PCB design for the automotive industry? Robustness first and then price.

What makes working for global automotive leaders challenging if you are a senior PCB designer? We asked Petr Horák, the PCB designer of the Consilia company, who has been specializing in the PCB design for the last twelve years.

“The automotive industry is specific as all your products have to last at least fifteen or even twenty years.”

I need to heat up my brain. I would not enjoy making the same boards over and over again.

Petr Horák doesn't like to go down smooth ways.

“I like project thinking and focusing on one specific thing. But at the same time, after a while, I need to switch gears and start focusing on a completely different segment. That's why I'm very keen on working on a variety of project types.” says the PCB designer, who has now been working for Consilia for six years.

TETRA base station that goes to the edge of physical limits

The ground TETRA base station, whose development we worked on between 2012-2017, thanks to our oscillators combined with excellent energetic efficiency, is still at the top among the products which can be made with current technologies.