Mobile App PentestJan Kahmen9 min Lesezeit

Aufwandseinschätzung von Penetration Tests mithilfe der Timeboxing-Methode

Das Timeboxing ist ein zentrales Konzept der agilen Softwareentwicklung und kommt in immer mehr Bereichen zum Einsatz. Grundsätzlich bezieht sich eine Timebox auf die Zeit, die Sie haben, um eine Aufgabe zu erfüllen.

Timeboxing ist ein zentrales Konzept der agilen Softwareentwicklung und kommt in immer mehr Bereichen zum Einsatz. Eine Timebox beschreibt dabei den festgelegten Zeitraum, der für die Erledigung einer Aufgabe zur Verfügung steht. Das Besondere an der Timeboxing-Methode: Sie stuft den Faktor Zeit höher ein als Inhalte und Ressourcen.
Damit passt sie hervorragend zu agilen Arbeitsansätzen und schärft den Fokus. Wichtig beim Timebox-Management ist zudem, dass sich Umfänge und Inhalte stetig ändern können -- der Zeitrahmen jedoch bleibt gleich.

Timebox vs. Deadline: Das ist der Unterschied

Mobile Anwendungen und Webanwendungen werden heute regelmäßig mit agilen Methoden entwickelt. Dabei geht es weniger um eine Deadline als vielmehr um eine Timebox. Obwohl sich Deadline und Timeboxing nicht gegenseitig ausschließen, gibt es drei zentrale Unterschiede:

  • Die Deadline gibt der Auftraggeber vor, nicht das Entwicklungsteam. Bei der Scrum-Timebox ist es umgekehrt: Hier legt das Team fest, welche Aufgaben innerhalb einer Timebox machbar sind.
  • Das Timebox-Management zielt darauf ab, eine bestimmte Menge an Aufgaben in einem vorab definierten Zeitraum abzuarbeiten. Anders als bei einer Deadline drohen keine Konsequenzen, wenn einzelne Aspekte nicht fertiggestellt werden.
  • Der wichtigste Unterschied liegt im Mindset. Beim Timebox-Management steht ein selbstbestimmtes Entwicklungsteam im Mittelpunkt. Deadlines hingegen orientieren sich an den Vorgaben des Auftraggebers.

Die Timeboxing-Methode in der Praxis

Die Timebox ist eine wichtige Technik, um den Fokus aufrechtzuerhalten. Sie lässt sich sowohl bei der Entwicklung von Webanwendungen als auch bei persönlichen Aufgaben einsetzen. In der Praxis basiert die Timeboxing-Methode auf mehreren Schritten:

  • Sie definieren eine Timebox, die Sie über einen längeren Zeitraum beibehalten. In Entwicklungsteams sind das meistens 2 oder 4 Wochen.
  • Jedem Zeitrahmen ordnen Sie eine Anzahl an Aufgaben zu. Dabei gilt: Je mehr Zeit zur Verfügung steht, desto mehr Anforderungen lassen sich unterbringen.
  • Ist die Zeit abgelaufen, ist der Vorgang beendet -- unabhängig davon, ob Sie alle Aufgaben erledigt haben. Offene Punkte übernehmen Sie in die nächste Timebox.

Das Besondere an dieser Vorgehensweise: Sie können mit Timeboxing sogar Projekte managen, die sich nicht genau spezifizieren lassen. Gleichzeitig lassen sich hochdynamische Vorhaben auf diese Weise besonders effektiv umsetzen.
Gut zu wissen: Bei der traditionellen Planungsarbeit stehen einzelne Vorgänge im Fokus, beim Timeboxing hingegen die Abfolge von Arbeitsabschnitten. Deshalb eignet sich diese Methode sowohl für die Entwicklung von Gesundheitsapps oder DiGAs als auch für komplexe Pentests im Unternehmen.

Timeboxing als Tool für das persönliche Zeitmanagement

Mit der Timeboxing-Methode arbeiten Sie deutlich effizienter. Deshalb können Sie den Ansatz sowohl für persönliche Projekte als auch für Ihren Arbeitsalltag nutzen. Dafür unterteilen Sie die verfügbare Arbeitszeit in gleich große Timeboxes.
Anschließend definieren Sie die zu erledigenden Aufgaben und schätzen deren jeweilige Dauer. Haben Sie diese Aufwandseinschätzung vorgenommen, verteilen Sie die Aufgaben auf die einzelnen Timeboxes und arbeiten diese nacheinander ab.
Übrigens: Die Pomodoro-Technik verfolgt im Grunde denselben Ansatz, setzt jedoch auf sehr kurze Zeitfenster. Beim Timeboxing können Sie Ihre Fokuszeiten deutlich großzügiger gestalten.

Timeboxing im klassischen Projektmanagement

Unabhängig vom agilen Ansatz lässt sich die Scrum-Timebox auch im klassischen Projektmanagement einsetzen. Dazu planen Sie Ihr Projekt auf oberster Ebene mit Arbeitspaketen und ordnen diese anschließend dem jeweiligen Zeitraum zu.
Da diese Methodik ein gewisses Umdenken erfordert, entscheiden sich viele Projektmanager für einen hybriden Ansatz: Einen Teil der Aufgaben planen Sie auf traditionelle Weise, den anderen Teil setzen Sie mit Timeboxes um. So können Sie auch Projektaspekte berücksichtigen, die sich vorab nicht genau einschätzen lassen.

Timeboxing im Rahmen von Scrum

Die Timebox hat ihren Ursprung im agilen Softwaremanagement. Sie lässt sich für Infrastruktur-Pentests, mobile Anwendungen oder Softwareentwicklung gleichermaßen nutzen. Jedes Scrum-Projekt basiert auf festgelegten Zyklen, in denen Sie Ihre Projekte kontinuierlich verbessern.
Tatsächlich richten sich viele Aspekte in Scrum nach der Timebox. Die Grundlage bilden die User Stories im Backlog, die sich auf den Mehrwert des Projekts konzentrieren. Jede dieser Stories bricht das Entwicklungsteam in einzelne Aufgaben herunter, damit sie in die jeweilige Timebox passen. Zu den wichtigsten Timeboxing-Events in Scrum gehören:

  • Sprint: Der Sprint ist der Zeitrahmen, der für die Arbeit zur Verfügung steht. Während dieser Timebox liegt der Fokus auf allen Tasks, auf die sich das Entwicklungsteam festgelegt hat.
  • Grooming: Hier schaffen der Product Owner und das Team ein gemeinsames Verständnis für die User Stories.
  • Planning: In der Sprint-Planning-Timebox verpflichtet sich das Projektteam auf die Aufgaben für den nächsten Sprint.
  • Review: Am Ende des Sprints stellen die Teammitglieder vor, woran sie gearbeitet haben.
  • Retro: Diese Timebox dient dem kontinuierlichen Fortschritt im Team und findet am Ende des Sprints statt. Hier besprechen Sie nicht nur Probleme, sondern auch, was gut gelaufen ist.
  • Daily: Das Daily findet täglich statt und dauert maximal 15 Minuten. Dabei beantwortet jedes Teammitglied drei zentrale Fragen: Was habe ich gestern getan? Woran arbeite ich heute? Gibt es etwas, das mich an der Arbeit hindert?

Gut zu wissen: Jedes Event in Scrum erhält seine eigene Timebox, beispielsweise die Sprint-Planning-Timebox. Sie reicht von wenigen Stunden bis zu mehreren Arbeitstagen -- abhängig von der Dauer des Sprints.

Die Bedeutung von Timeboxing in der IT und Softwareentwicklung

Timeboxing ist ein wichtiges Hilfsmittel im modernen Entwicklungsalltag. Es hilft Ihnen, den Fokus zu schärfen und sich besser auf die anstehenden Aufgaben zu konzentrieren. Statt einer starren Entwicklung nach dem Wasserfallmodell fördert die Methodik dynamische Softwareentwicklung und ermöglicht kontinuierliche Verbesserung. Deshalb setzen auch Experten wie turingpoint oder Atlassian auf diesen Ansatz.
Timeboxing funktioniert selbst bei Pentests mit unterschiedlichen Testmethoden: White-, Black- und Grey-Box-Tests können sehr unterschiedlich ausfallen. Durch den vordefinierten Zeitrahmen lässt sich der Fokus gezielt auf die wichtigsten Aspekte legen.
Für die Aufwandseinschätzung müssen Sie natürlich die grundlegende IT-Infrastruktur kennen. Denn obwohl der Penetration Testing Execution Standard (PTES) ein Regelwerk bietet, kann das tatsächliche Verfahren je nach Unternehmen abweichen. So gibt es beispielsweise sechs Linux-Distributionen für Penetrationstests, die je nach Zielumgebung zum Einsatz kommen.
Beim Timeboxing schätzen Sie zunächst den Aufwand für die anstehenden Aufgaben. Dabei fällt es leichter, den allgemeinen Arbeitsaufwand zu beziffern. Kosten und Preisgestaltung für einen Pentest werden auf diese Weise deutlich transparenter. Gleichzeitig lässt sich ein klarer Zeitrahmen definieren, innerhalb dessen sich die Sicherheitsexperten auf die Prüfung relevanter Standards konzentrieren -- etwa ob bei der Softwareentwicklung die OWASP Mobile Top 10 berücksichtigt wurden.
Übrigens: Timeboxing macht beim Pentest vs. Red-Team-Assessment den entscheidenden Unterschied. Während sich Penetrationstests verhältnismäßig einfach timeboxen lassen, gilt das für Red-Team-Assessments nicht. Solche Assessments sollen einen echten Angriff simulieren -- und Angreifer hören am Ende einer Timebox nicht einfach auf, wenn sie in Ihr System eingedrungen sind.