SN-Logo NewSN-Logo NewSN-Logo NewSN-Logo New
  • Agile Training
    • Scrum Master
    • Scrum Product Owner
    • Leadership Development
    • Private Workshops
    • Calendar
  • Enterprise Solutions
    • Unstoppable Program
    • Agile Keynotes
    • Private Workshops
  • Products
    • Personal Agility Book
    • Ten Agile Contracts Book
    • Extreme Manufacturing Explained
  • Blog
  • About
    • Peter B. Stevens
    • Scrum
    • Personal Agility
    • Saat Network
  • Contact
0

CHF0.00

✕
Scrum and V-Modell
08-02-2011
Scrum in a Management Consulting Context
10-02-2011

Moving forwards with V-Model

Published by Peter Stevens on 09-02-2011
Categories
  • difference
  • scrum
  • v model
  • v-modell
Tags

I recently worked with a VP of Quality Assurance.  His system needed high quality: it transported 10s if not 100s of Millions of CHF every day. It had to work and the consequences of it not working were horrendously expensive! He genuinely believed in the V-Model. Introducing the V-Model had substantially improved the quality of the system. His QA department was the last guardrail before the cliff.

In retrospect, I am not sure if his inspiration was the German government V-Modell, or the more general V Model.  In any case, the developers wanted to do Scrum and he wanted to preserve the essential aspects of the V Model which had enabled the level of quality they had achieved. How can he do that while moving forward in a Scrum context?

For him, three facets of the V Model were essential:

  1. Tester and developer roles should be separated (“4 eyes principle”)
  2. Requirements should be matched with Acceptance tests
  3. A quality gate between QA and Production is essential to prevent poor quality code from entering service.

Applying the V Model mapped naturally to their organizational structure (roughly: Business, SW-Dev, QA, Production). This had improved the software from where it had been previously, but had caused substantial rivalry between the organizations, especially between Dev & QA:

A development manager was fond of telling people “75% of the time spent in the QA phase is not a about fixing bugs, but agreeing on the right version of the spec, the right interpretation of the spec, the right test data, etc. Most ‘findings’ aren’t really findings, but misunderstandings.”

The test manager responded: ‘3/4ths of the genuine findings do not get fixed before the system goes into production.’ 

Both of these statements were correct. How can you fix this the problem? The short answer is for the stakeholders to agree on the acceptance tests before the developer starts to write the code. This is what Scrum helps you do.

Separation of tester from developer role

An side-effect of having a QA department do acceptance testing is that the Business people who defined the requirements are not the necessarily the people accepting the results (until it is put into production). So the tester has to interpret the spec — possibly, but not necessarily the same spec that the developer is working to — and this leads to differing interpretations. Who knows the answer? The customer, user or stakeholder: “Business.”

Scrum does not say how to test. It does say that 1) Product Owner represents the interests of all the stakeholders (and is free to involve them directly when appropriate), 2) the Team has all the skills necessary to get to Done — which surely includes analysis, coding and testing, and may include other skills, 3) that the Team is responsible for the Quality of its work, and 4) that the Product Owner and Implementation team must agree on a Definition of Done to ensure the quality of each feature as it is produced.

This definition often includes some form of pairing, e.g. Design Review, Code Review or Pair Programming or and independent test. Many teams automate the execution of their test suites. The discussions which occur in preparation of and during the sprint ensure all questions related to a feature get raised and captured in some form of acceptance test.

So adhering to the “4-eye principle” is ensured explicitly by the planning process and strengthened through the definition of done.

Requirements should be matched with Acceptance tests

The latest version of the V-Modell (“XT”) was developed in 1997 and it has not been updated since. Therefore modern thinking about ‘test-first’ strategies, such as Test Driven Development, has not been incorporated into the V-Modell.

In Scrum, every entry on the Product Backlog represents a requirement and either is, or can be mapped to, an acceptance test. The corresponding acceptance test(s) are defined no later than the Sprint Planning Meeting, and probably somewhat earlier. The definition is moved to the front of the process, and the developers have a fixed target to work toward.

Quality gate between QA and Production

The Definition of Done is in essence an internal quality gate for the team. It is passed by every function that is completed in every sprint. Teams often include test automation in their definition of done, so that running, tested features in this sprint stay running and testing in future sprints.

I like to compare software production with auto production at this point. When Toyota has finished building a car, they do a quality check to make sure there are no defects. They don’t expect to find any, but they check anyway. Why? Because it will be more expensive to fix it in the field, and they want to prevent the mistake from reoccurring.

In software it should be the same. The initial quality gate in Scrum is the definition of done, which is checked by the team.

So your teams work on improving their quality though automation and test first strategies. The definition of done always includes verifying the that the acceptance tests pass. At each Sprint Review, the Product Owner confirms that the implementation is doing what the stakeholders want.

If the team has achieved the level of quality which is possible through automated testing, then a relatively quick sanity check should be sufficient to ensure the system will work properly in production. There should be no question whether the features will meet the requirements; that has already been verified by the stakeholders themselves. (Actually achieving this level can be a substantial challenge and may take months or years to achieve – in the meantime you will have no choice but to do manual regression or integration tests).

So Scrum addresses all of the key points of his V Model while recognizing the chaotic, creative nature of software development. The organizational structure around the development organization may change, but happy users of the V Model will recognize many of their core principles in Scrum.


Update: Thanks to James Christie for pointing out that there are really two V-Models – the very specific German V-Modell (which was the subject of yesterday’s article) and the vaguer ‘V Model’ which is familiar to most testers. For an excellent article on the history and context of the V Model(s), see The Dangerous and Seductive V Model.

Share
Peter Stevens
Peter Stevens

Related posts

Inside the Scrum Team Cover

ITST Passed the 2000 View mark on May 22, 2023

23-05-2023

2000 Views on Youtube  🎉


Read more
Up to 55% of your staff could be in a meeting

Up to 55% of your staff could be in a meeting

12-04-2023

Increase Company Productivity by 40%?


Read more
Are you making Scrum harder than it is? Focus on the essentials to get better results, sooner!

Are you making Scrum harder than it is? Focus on the essentials to get better results, sooner!

31-03-2023

Are you making Scrum harder than it is?


Read more

3 Comments

  1. Craig Brown says:
    09-02-2011 at 10:51

    Thanks Peter. We are more or less in agreement.

    Although scrum itself isn't proscribing 'four eyes' it is good practice isn't it, and scrum teams would be silly to ignore the learning of past teams.

  2. Peter says:
    09-02-2011 at 10:53

    Hi Craig, there are a lots of things that Scrum doesn't proscribe. Scrum says that you have to pay attention to quality (or 'doneness'), not how to do so. The How is up to you, and that leaves a lot of room to build on your own experience to do things which make sense 😉

    Cheers
    Peter

  3. James Christie says:
    09-02-2011 at 13:56

    Thanks for recommending my article.

    I find this topic fascinating, as you might have guessed from the fact that I wrote that article.

    Whenever someone mentions the "V Model" I ask "what do you mean by the V Model?" especially if they are attacking or defending it. Sometimes people disagree strongly then realise that in practice they would want to do the same thing. Their disagreement was about the terminology not actions.

Learn more about Agile

  • Module 1 | Self-Leadership with Personal Agility |  June 6-7, 2023
    in Zurich
    June 06, 2023 -
    June 07, 2023
    Register Now
  •  

  • Certified Scrum Product Owner | Face-2-Face | English | Jun 29-30, 2023
    in Zürich
    June 29, 2023 -
    June 30, 2023
    Register Now
  •  

  • Certified Scrum Master | Face-2-Face | English | Jul 06-07, 2023
    in Zürich
    July 06, 2023 -
    July 07, 2023
    Register Now
  •  

  • Certified Scrum Product Owner | Face-2-Face | English | Aug 24-25, 2023
    in Zürich
    August 24, 2023 -
    August 25, 2023
    Register Now
  •  

Saat Network GmbH is a small, independent company dedicated to helping you discover and apply the values, principles and practices that will enable you to thrive in the 21st century.

Quick Links

  • What Really Matters – Peter Stevens’ Blog

High Performing Teams

  • Get Stuff Done
  • Get Right Stuff Done
  • Create Alignment
  • Leadership

Free Resources

  • Personal Agility Institute
  • Impressum
  • Terms and Conditions
  • Privacy Policy
© 2023 Saat Network GmbH. All Rights Reserved.
0

CHF0.00

✕

Login

Lost your password?

We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.
Read more about our Privacy Policy
Cookie SettingsAccept All
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDurationDescription
cookielawinfo-checkbox-advertisement1 yearSet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category .
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
CookieDurationDescription
mailchimp_landing_site1 monthThe cookie is set by MailChimp to record which page the user first visited.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
CookieDurationDescription
CONSENT2 yearsYouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data.
_ga2 yearsThe _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors.
_gat_gtag_UA_42152348_11 minuteSet by Google to distinguish users.
_gcl_au3 monthsProvided by Google Tag Manager to experiment advertisement efficiency of websites using their services.
_gid1 dayInstalled by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
CookieDurationDescription
NID6 monthsNID cookie, set by Google, is used for advertising purposes; to limit the number of times the user sees an ad, to mute unwanted ads, and to measure the effectiveness of ads.
test_cookie15 minutesThe test_cookie is set by doubleclick.net and is used to determine if the user's browser supports cookies.
VISITOR_INFO1_LIVE5 months 27 daysA cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.
YSCsessionYSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.
yt-remote-connected-devicesneverYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
yt-remote-device-idneverYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
CookieDurationDescription
COMPASS1 hourNo description
cookies.jssessionNo description available.
S1 hourNo description available.
SAVE & ACCEPT
Powered by CookieYes Logo