In einem Interview echte Agilität von Modewort-Agilität verdrängen [geschlossen]


14

Ich habe in letzter Zeit für Kooperationen (bezahlte Praktika) interviewt, und eine große Anzahl der Unternehmen, mit denen ich interviewt habe, gaben an, dass sie Scrum oder eine andere agile Methode verwenden (wobei Scrum die beliebteste ist). Ich weiß, dass es wirklich agile Läden gibt und es Orte gibt, die sagen, dass sie eine agile Methodik verwenden, aber wirklich etwas anderes tun und Agile als Modewort verwenden.

Meine Frage ist, was sind einige Fragen, die ich in einem Interview stellen kann, die diese Geschäfte heraus trennen würden?

EDIT: Während ich ein Praktikum suche, habe ich das Gefühl, dass diese Fragen für alle relevant sind. Der Praktikumsteil ist Kontext.


14
Ähm, frag sie, ob sie ein Schwein oder ein Huhn sind?
Robert Harvey

1
@Robert Lolwut?
Matthew Read


@ indyK1ng 1. Kennen Sie ein Unternehmen, das wirklich agil ist? 2. Die meiste Zeit sollte die Methodik an die Realität angepasst werden und umgekehrt. PS Ich bin einverstanden in Bezug auf Schlagwort!
Amir Rezaei

2
@ Robert Sie sollten antworten: "
Mark C

Antworten:


8

Ich beginne immer mit dieser Frage:

Wie lange dauern Ihre Iterationen?

Bewerten Sie ihre Antwort:

1 Woche ist großartig, 2 Wochen sind großartig, 3 sind in Ordnung und 4 mittelmäßig. Länger als das zeigt an, dass sie kämpfen und mehr als 8 Wochen ist nur seltsam. Wenn es darauf ankommt , wissen Sie, dass sie überhaupt keine Ahnung haben.

Follow-up mit:

Wie oft lässt du los?

Hiermit überprüfen Sie die erste Frage. Die richtige Antwort ist täglich oder am Ende jedes Sprints . Ein Agilist würde wissen, dass es keinen technischen Unterschied zwischen einer internen und einer externen Version geben sollte.


5
Der Defacto-Standard beträgt 2 - 4 Wochen. 1 Woche Sprints ...? Hmm ... ich wäre misstrauisch.
Aaron McIver

5
Es gibt keinen "Standard"; es variiert zwischen Unternehmen / Teams / Situationen. Ich finde, der Overhead von Scrum ist im Verhältnis zur Sprintlänge zu verschwenderisch für einwöchige Sprints, daher verwenden wir zwei.
Christopher

1
Ich habe viele verschiedene Laufzeiten getestet und mag 1 für sehr kleine Projekte in kleinen Teams, aber für große Unternehmensprojekte haben 3 oder 4 zu besseren Ergebnissen geführt.

3
Ich denke, es sind diese Begriffe von "echt" vs. "verwässert", die meine Federn verärgern. Ich habe immer die Konzepte und Prinzipien des Agile-Manifests angewendet, aber nie eine der Markenversionen von Agile verwendet. Das Beharren auf nur einer der vielen agilen Methoden verletzt den ersten Grundsatz des Manifests. Aber ich verstehe, was du sagst.
Berin Loritsch

2
Für mich ist "real" agil agil, das das Manifest und seine 12 Prinzipien anwendet - unabhängig davon, wie es heißt. Es gibt viele Schlagworte, die die Kernbedeutung von agil ergänzen und dann behaupten, dass Sie nicht agil sind, wenn Sie dies nicht tun.
Berin Loritsch

6

Bitten Sie sie, agile Methoden zu verteidigen. Und dann bitten Sie sie, es zu widerlegen, indem Sie seine Schwächen darlegen. Bonuspunkte, wenn sie in diesem Kurs navigieren können, ohne ihn mit bedeutungslosen Schlagworten zu verunreinigen.


4
+1 Es ist immer gut, Wege zu finden, um das Unternehmen zu interviewen.
Jeremy Heiler

@ Jeremy leider würden sie es nicht sehr gut nehmen. Ich würde es nicht empfehlen!
Amir Rezaei

@Amir: Bitte erklären Sie! Ich habe noch nie ein Interview verlassen, ohne dass sie mich gefragt haben, ob ich irgendwelche Fragen habe. Was stimmt nicht, wenn der Arbeitssuchende mehr über das Unternehmen erfahren möchte? Wenn sie es nicht gut nehmen, dann ist es ein sicheres Zeichen, dass ich nicht für sie arbeiten möchte!
Jeremy Heiler

1
Ich weiß, dass einige Unternehmen es nicht mögen, wenn ihr Befragter ihnen keine Fragen stellt ... es zeigt ein mangelndes Interesse an dem Job.
Rachel

2
Ich denke, sie zu bitten, "agile Methoden zu verteidigen", ist wahrscheinlich nicht die beste Methode zu fragen;)
Matthew Read

6

Fragen Sie sie, warum sie es benutzen .

Sie werden es sofort wissen.


8
Dies kann jedoch ziemlich einfach mit vorgefertigten Antworten beantwortet werden. "Um unsere Markteinführungszeit zu verkürzen und wettbewerbsfähig zu bleiben." Es muss mehr hin und her gehen. Wenn der OP mit Agile / Scrum vertraut ist und sicher sein möchte, dass das Geschäft auch läuft, ist dies der Fall. Ich würde zusammenfassen, dass das OP eine Fülle von Fragen zu diesem Thema haben sollte ... insbesondere, was sie an einem früheren Arbeitsplatz gestört hat und wie das neue Unternehmen dies angehen könnte.
Aaron McIver

2
Die Antwort, die Sie erwähnen, kann nicht von jemandem gesagt werden, der Beweglichkeit versteht. Es ist ein ziemlich guter Hinweis, dass sie nicht wissen, warum sie Scrum verwenden sollten. Jedes Unternehmen versucht, die Time-to-Market zu verkürzen und wettbewerbsfähig zu bleiben. Wenn Sie mir die Frage beantworten, würde ich antworten: "Es ist die einzige Methode, die an die Softwareentwicklung angepasst ist."

@Pierre 303 Jeder Grund, aus geschäftlicher Sicht zu behaupten, dass die Einführung von Agile ein Prozess ist, der unsere Markteinführungszeit verlängern und mit rechtzeitigen Releases unserer Software konkurrenzfähig bleiben könnte, ist ungültig und würde diese Person als nicht wissend definieren, warum dies der Fall sein sollte Scrum benutzen? Sie müssen verstehen, dass die Personalchefs nicht immer technisch veranlagt sind, aber es stimmt nicht, dass der Einsatz von Scrum innerhalb der Organisation vergeblich ist.
Aaron McIver

1
@Pierre 303 Können Sie Ihre Antwort etwas präzisieren? Der Grund für die Verwendung einer Softwareentwicklungsmethode besteht darin, "unseren Kunden einen möglichst effizienten Mehrwert zu bieten". Dies gilt sowohl für Agile als auch für RUP und andere.
Martin Wickman

1
Stimme voll und ganz zu. Fragen Sie sie, warum sie sich überhaupt für Agile entschieden haben. Solide. +1
Agile Scout

5

Ich würde sie bitten, den Lebenszyklus der Softwareentwicklung unter Verwendung der Agile-Methodik zu beschreiben. Wenn sie damit vertraut sind, sollten sie in der Lage sein, jede Phase in der SDLC genau zu beschreiben.

EDIT : Mir ist gerade aufgefallen, dass Sie aus Sicht des Befragten fragten, nicht des Interviewers. In diesem Fall würde ich sie wahrscheinlich nach ihrem SDLC fragen und herausfinden, ob die Schritte, die sie angeblich unternehmen, dem entsprechen, was Agile wirklich ist.


Guter Punkt für Fragen zu SDLC. Ich war jedoch in einer Organisation, in der alle Schritte in SDLC verfolgt wurden, aber das Team hat die Methodik schlecht angewendet.
Amir Rezaei

@Amir: Wenn das der Fall wäre, würde ich annehmen, dass sie zumindest versuchten, der agilen Methodik zu folgen. Wahrscheinlich haben sie entweder einen guten Grund, davon abzuweichen, oder sie wissen nicht, was sie tun, und wären bereit zu lernen, wenn Sie sich die Zeit nehmen, sie zu unterrichten.
Rachel

Sie haben guten Grund. Sie passen die Methodik an ihre Realität an.
Amir Rezaei

3

Der Ansatz, den ich verfolge, hat wirklich wenig mit den agilen Schlagworten zu tun, aber er hat mit agilen Praktiken zu tun. Eine der Gemeinsamkeiten in allen agilen Teams ist die kurze Iteration. Die meisten Leute erhalten diesen Teil (es ist eines der 12 Prinzipien hinter agile auf der Website http://agilemanifesto.org ). Ziel der kurzen Iteration ist es, frühzeitig ein Feedback zur Qualität der entwickelten Software zu erhalten. Hier beginne ich.

  1. Fragen Sie nach Unit-Tests. Die Antwort, die ich hier bekomme, war überwiegend: "Äh, wir haben das rausgeschnitten, weil wir nicht genug Zeit hatten."
  2. Fragen Sie nach, wann und wie oft die Software getestet wurde. Hier können Antworten kreativ werden. Vor allem, wenn das Team "Agile" als Ausrede benutzt, um alle Prozesse beiseite zu werfen. Wenn die Antwort auf das Ende des Projekts oder etwas anderes als bei jeder Iteration ist, wissen sie nicht, was agil ist.

Bisher musste ich nicht weiter gehen, um zu wissen, dass die Person nicht weiß, was agil ist. Ich habe auch nur ein Interview mit einem Unternehmen geführt, das bereits über etablierte agile Prozesse verfügt.

Es gibt mehr als einen Weg, um agil zu sein, und die Prinzipien von agil sind mir wichtiger als eine bestimmte Marke oder ein Schlagwort.


2

Es gibt verschiedene Dinge, die diejenigen, die agil sind, von denen, die agil sind, unterscheiden:

  • Fragen Sie nach kontinuierlicher Integration, wenn Sie CI nicht verwenden. Ziehen Sie einen Punkt ab. Fügen Sie einen Punkt hinzu, wenn dies der Fall ist. Extra Punkte:
    1. Fügen Sie 1 hinzu, wenn sie zwei Phasen-Commits verwenden (Code muss erfolgreich erstellt werden, bevor der Entwickler einchecken kann).
    2. Fügen Sie 1 hinzu, wenn das Build-Skript die Ausführung einer Testsuite umfasst
    3. Fügen Sie 1 hinzu, wenn die Erstellung fehlschlägt, wenn die Codeabdeckung unter einen bestimmten Schwellenwert fällt
    4. Fügen Sie 2 hinzu, wenn es möglich ist, die Anwendung so bereitzustellen, dass sie mit einem Klick ausgeführt werden kann
  • Fragen Sie nach TDD (testgetriebene Entwicklung). Subtrahieren Sie 2 Punkte, wenn Sie TDD nicht verwenden. Fügen Sie 1 hinzu, wenn Sie dies tun.
  • Fragen Sie nach Iterationen, wie lange sie dauern (subtrahieren Sie 2 Punkte, wenn sie keine iterative Entwicklung durchführen, subtrahieren Sie 1, wenn die Iteration länger als ein Monat oder kürzer als zwei Wochen ist, addieren Sie 1, wenn sie 2 Wochen dauert).
  • Fragen Sie, wie die Schätzung durchgeführt wird. Fügen Sie 1 hinzu, wenn Sie Story Points verwenden. Fügen Sie 2 hinzu, wenn Sie Poker oder ähnliches planen. Subtrahieren Sie eine, wenn Sie absolute Zeitschätzungen verwenden. Subtrahieren Sie 2, wenn Entwickler nicht in den Schätzungsprozess involviert sind.
  • Fragen Sie, wie Features aufgebaut sind, addieren Sie 1, wenn ein Entwickler für das Feature von oben nach unten verantwortlich ist (vertikaler Schnitt), subtrahieren Sie 1, wenn Entwickler für einen bestimmten Layer verantwortlich sind (horizontaler Schnitt).

Es gibt eine Reihe anderer Indikatoren, aber diese allein sollten Ihnen ein gutes Bild vermitteln, wenn das Team tatsächlich agil ist. Ein Team mit 5 oder mehr Punkten qualifiziert sich. Alles andere bedeutet, dass sie agil handeln. Bei Agile geht es nicht nur um Iterationen, sondern darum, dass sich das Team leicht an Veränderungen anpassen kann. Wenn Sie iterativ ungetesteten, verworrenen Code schreiben, der unter äußerem Druck geschrieben wurde, schreiben Sie einfach Mistcode in Iterationen. Beachten Sie, dass Sie viele Punkte nur durch die fortlaufende Integration erhalten können. Aber das allein reicht nicht aus, um dich über 5 zu bringen, wenn du nicht den anderen Praktiken folgst.


1
"Nach TDD (testgetriebene Entwicklung) fragen, 2 Punkte abziehen, wenn sie TDD nicht verwenden, 1 hinzufügen, wenn sie dies tun" ergibt keinen Sinn. Fügen Sie einfach 3 hinzu, wenn sie dies tun.
Cbrandolino

Ich verstehe, was Sie sagen ... Ich habe meine Formel nicht vereinfacht ... aber ich denke, mein Standpunkt ist klar.
Michael Brown

1
WTF hat CI und TDD mit Agile zu tun? Sicher, erleichtert das Freigeben, aber Sie brauchen es wirklich nicht , um agil zu arbeiten. Und glauben Sie mir, ich kenne Unternehmen mit TDD und CI, die überhaupt nicht agil sind.
gbjbaanb

TDD und CI allein machen eine Umgebung nicht agil. Das Fehlen dieser Elemente ist jedoch ein Warnsignal dafür, dass es kein echtes Bekenntnis zu Agilität gibt.
Michael Brown

2

Wie bei all diesen Dingen fragen Sie nach realen Beispielen aus Projekten, an denen sie gearbeitet haben , nicht nach Theorie. Das Akzeptieren theoretischer Antworten ist der einfachste Weg, sich von jemandem täuschen zu lassen, der nicht wirklich dort war.

Sie möchten also mit den tatsächlichen Entwicklern sprechen und Fragen stellen wie:

  • Also rede mit mir über dein aktuelles Projekt. Was war das ursprüngliche Endziel? Was enthielt der erste Sprint und was konnte die Software am Ende tun?
  • Können Sie mir Beispiele für Funktionalität oder Design Ihres letzten Projekts geben, von dem Sie glauben, dass es anders ausgearbeitet hat als Sie es als Wasserfallprojekt getan hatten?
  • Geben Sie mir ein Beispiel, wie ein großes Stück Funktionalität über mehrere Sprints aufgeteilt wurde? Zu welchen Ineffizienzen / Nacharbeiten führte dies? Und welche Verbesserungen oder Änderungen von dem, was ursprünglich ins Auge gefasst wurde.
  • Als Sie anfingen, mit Agile zu arbeiten, welche Dinge, die Sie während der ersten Sprints taten, haben Sie während späterer Sprints (oder Projekte) geändert, als Sie sich mit der Methodik vertraut gemacht haben?

Bringen Sie sie immer wieder auf die tatsächlichen Projekte zurück - was wollten sie erreichen, Beispiele für die einzelnen Sprints, Beispiele für die Dinge, die in Besprechungen auftauchten, Beispiele für die Interaktion mit den Benutzern.

Akzeptiere keine Theorie, akzeptiere keine Projekte anderer Leute, nur Dinge, an denen sie selbst gearbeitet haben und über die sie aus erster Hand sprechen können.

Sie müssten ein erstaunlich guter Lügner sein, um Dinge im Wert von 10 bis 15 Minuten erfinden zu können, die an Ihnen vorbeigehen würden, wenn Sie sich auskennen.


2

Wenn Sie sie nicht defensiv machen möchten, wird mit der folgenden Frage ein Gespräch angestoßen, in dem Sie alle Informationen erhalten, die Sie benötigen, um festzustellen, ob sie tatsächlich einen agilen Ansatz verwenden oder nur ein Lippenbekenntnis abgeben:

Wer ist für das Schreiben von Anforderungen / Spezifikationen für Ihre Softwareprojekte verantwortlich?

Ich habe zahlreiche Unternehmen gesehen, die behaupteten, agil zu sein, und sogar wollten, dass eine Scrum-Master-Zertifizierung einen klassischen Big-Up-Front-Design-Prozess beschreibt, wenn Sie nach dem Prozess der Anforderungserfassung fragen.


2

Das, was mir auffällt, ist, dass Sie ein Praktikum suchen, und ich frage mich, wozu Sie diese Fragen stellen. Versuchen Sie, eine Frage zu Agile zu stellen, damit das Interview gut läuft, oder lehnen Sie ein Angebot eines Unternehmens ab, das Buzzword Agile verwendet? Wenn Sie wirklich auf der Suche nach einer agilen Umgebung sind, wählen Sie eine Frage aus (warum verwenden Sie agile, wie spät sind Ihre Stand-Ups, wie lange dauern die Iterationen, was auch immer), und stellen Sie sie per Telefon oder E-Mail, ohne Zeit zu verschwenden Interview. Wenn Sie auf der Suche nach einem Einkommen sind, warten Sie auf das Interview und stellen Sie Fragen, die Ihr Wissen / Ihre Begeisterung über agile Methoden zeigen (Erzählen Sie mir von Ihrem Softwareentwicklungs-Lebenszyklus), ohne den Interviewer in Verlegenheit zu bringen, wenn er einen semi-agilen Gräuel benutzt.


Dies ist eine Frage, die ich während des Teils "Haben Sie Fragen an mich" des Interviews stellen würde. Ich stelle eine Frage, um festzustellen, ob sie die Wahrheit sagen, wenn sie sagen, dass sie agil sind. Ich war bereits in einer Cowboy-Umgebung und möchte das verhindern. Ich weiß, dass es Organisationen gibt, die Agile als Schlagwort verwenden, also versuche ich, diese herauszufiltern. Interviews gehen auch in beide Richtungen, ich interviewe das Unternehmen, während sie mich interviewen.
indyK1ng

1

Ich bitte sie, eine typische Anfrage zu beschreiben, von der Gründung bis zur endgültigen Lieferung an den Kunden.

Ich frage auch, ob sie in der Regel den langfristigen Support für das Produkt übernehmen, das sie dem Kunden anbieten (da Teams, die dies tun, im Allgemeinen ein besseres Produkt entwickeln und wissen, dass sie es am Sonntag um 1 Uhr morgens am Labor Day-Wochenende reparieren werden).

Ich frage auch, wie das Management seine Rolle während des Prozesses sieht. Es ist ziemlich leicht zu erkennen, ob sie die Feuer-und-Vergessen-Einstellung (wir starten, Sie fliegen, wir fragen, ob Sie das Ziel treffen) oder die Einstellung "Wir helfen Ihnen, das Boot den Fluss hinauf zu rudern" haben.

Diese zeigen Ihnen im Allgemeinen, wie sie Dinge wirklich tun, nicht wie sie sie tun sollen oder wie sie behaupten, sie zu tun.


1

Ich habe festgestellt, dass jemand, der weiß, was er aus SDLC-Sicht tut, am besten fragt, wo er in der Vergangenheit Fehler gemacht hat und wie er das anders machen würde. Leute, die den Prozess ein paar Mal durchlaufen haben und zugeben werden, wo sie es vermasselt haben, und die sind im Allgemeinen ziemlich detailliert. Ihre Offenheit für Diskussionen zeigt ein gewisses Maß an Selbstvertrauen, weil sie zugeben, dass sie nicht perfekt sind. Es ist ein echtes Warnsignal, die Frage zu vermeiden, indem man sagt: "Sie machen es die ganze Zeit so ziemlich in Ordnung."


1

Wie oft werden sie für die Produktion freigegeben? Je länger die Zeit, desto weniger agil sind sie. Wie oft gibt es Reflexionsworkshops? Wenn sie wissen, wovon Sie sprechen, dann gut. Wie oft haben sie Teambesprechungen. Täglich ist toll, monatlich ist schlecht. Haben sie einen Continuous Integration Server? Dies ist kein Muss, gibt Ihnen aber eine Vorstellung von der Verwendung von Werkzeugen. Wie oft sitzen die Endbenutzer bei den Entwicklern. Bedeutet niemals, dass sie nicht agil sind.


+1 IMO, das erste, was in einer agilen Möchtegern-Organisation stirbt, ist die Retrospektive. Das ist eigentlich eher ein Scrum-Konzept, aber erfolgreiche Agilität setzt voraus, dass Sie verstehen, wie gut Ihr Prozess Ihre Organisation aktiviert, anstatt sie zu deaktivieren. Ohne irgendeinen Introspektionsmechanismus sehe ich nicht, wie das möglich ist.
MIA

0
  • Geben Sie ihnen eine Situation und bitten Sie sie, sie agil zu lösen.
  • Fragen Sie sie nach ihren bevorzugten agilen Praktiken (Planung von Poker, Pair Programming, Bdd / Tdd, Kanban).
  • Fragen Sie sie, warum sie sich nicht für eine andere Methode entschieden haben (Wasserfall, Rupie usw.).
  • Was sind die bekanntesten Leute in der Welt der agilen Methodik, die den Begriff geprägt haben und welche populärsten Bücher darüber geschrieben wurden?

1
Ehrlich gesagt würde ich den vierten Punkt verfehlen. Ich weiß, was agil ist, und ich habe eine Reihe von Online-Ressourcen gelesen, in denen es darum geht, wie verschiedene Leute Sachen rausgebracht haben. Mein Weg zur Agilität war jedoch immer an das Team / die Umgebung angepasst, an dem / der ich arbeite.
Berin Loritsch

0

Wenn sie Scrum verwenden, könnten Sie fragen, ob Sie den nächsten Stand-up sehen könnten. Wenn sie sie nicht haben, fragen Sie, warum nicht, da dies normalerweise Teil der Methodik wäre.

Es gibt einige Aspekte von Agile, die ebenfalls erwähnenswert sein könnten. Fragen Sie im Storyboard nach, wie groß der Backlog ist oder was einige der Höhepunkte in der letzten Retrospektive waren, für ein paar andere Ideen. Der Schlüssel dabei ist, zu etwas Greifbarem zu gelangen, das zeigt, was gerade passiert, im Vergleich zu nur flauschigen Wörtern, die nicht wirklich viel bedeuten.


0

Fragen Sie sie, wie sie mit Design umgehen. Wenn sie dir sagen, dass es kein Design in Agile gibt, bekommen sie es nicht.

Fragen Sie sie, wie sie mit sich ändernden Anforderungen umgehen. Wenn es so klingt, als hätte das Ändern von Anforderungen einen eigenen Prozess, werden sie ihn wahrscheinlich nicht verstehen.

Wenn sie behaupten, Scrum zu verwenden, schauen Sie, wie sie es schreiben. Geschäfte, die Scrum gut beherrschen, wissen in der Regel gut genug, wie man es schreibt. Hinweis: Es ist nicht SCRUM.

Das mag wie Pedanterie erscheinen, aber ich bin fest davon überzeugt, dass man die Philosophie und das "Warum" verstehen muss, um eine Prozessvorlage wie Scrum, RUP, XP oder was auch immer erfolgreich anzuwenden, damit man weiß, wie man sich anpasst das "was" zu Ihrer Organisation. In Scrum werden die meisten Leute, die ihre Hausaufgaben machen, auf diese kleinen Informationen stoßen. Leute, die nach Kochbuchrezepten für das Projektmanagement suchen, werden dieses Detail normalerweise vermissen.


0

Was für mich Sinn macht, ist, sie zu bitten, zu beschreiben, wie sie einen Teil des Agile-Prozesses handhaben. Im Moment ist mein Favorit der Beginn einer Iteration, aber Sie könnten Ihren eigenen Favoriten entwickeln.

Fragen Sie: "Wenn Sie zu Beginn des Sprints einen Stapel Tickets haben, beschreiben Sie hier Ihren Workflow."

Wichtige Punkte, auf die Sie hier achten sollten:

  • Schätzen die Entwickler die Tickets?
  • Behalten Sie die Geschwindigkeit im Auge?
  • Was passiert, wenn Ihre Schätzungen über Ihrer Geschwindigkeit liegen?
  • Was passiert, wenn Ihre Schätzungen zu einem bestimmten Zeitpunkt mehr als Ihre Geschwindigkeit erreichen? (Achten Sie hier auf Spin: Reduzieren sie die Komplexität oder priorisieren sie neu oder marschieren sie das Entwicklungsteam einfach tot?)

Keiner von ihnen ist für sich genommen ein Deal Breaker, aber wenn Sie sich bei der Beantwortung dieser Fragen wundern, interessieren sie sich vielleicht für agile Rituale , nicht für die tatsächliche agile Entwicklung .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.