feat: write template

This commit is contained in:
u80864958 committed 2026-09-18 16:36:52 +02:00
commit a0a6d2cf84
98 files changed
+6609

No files matched your search

@@ -0,0 +1,4 @@
== Studie IST- und SOLL-Zustand
=== IST-Zustand
=== SOLL-Zustand
@@ -0,0 +1,62 @@
== Ziele <chap-ziele>
#lorem(200)
// Dieses Kapitel beschreibt die Projektvorgehensziele sowie die Produktziele die Erfüllt werden müssen, damit das Projekt erfolgreich ist.
//
// === Produktziele
// // Beispiele von Kategorien:
// // • Finanzziele, Kosten/Nutzen/Wirtschaftlichkeit
// // • Leistung, Effizienz, Durchlaufzeit
// // • Qualität, Fehlerreduktion
// // • Kunden-/ Anwenderzufriedenheit, Service Public
// // • Sicherheit, Zuverlässigkeit
// // • Rechtliche Konformität
// // • Flexibilität
// // • Ausbaubarkeit
// // • Wartbarkeit
// // • Nachhaltigkeit
//
// #figure(
// table(
// columns: (auto, 1fr, 1fr, auto),
// [Nr.], [Ziel ], [Messgrösse], [Gewicht \ (M/S/K) #footnote[M = Muss, S = Soll, K = Kann]],
//
// [1], [Bsp.], [ Bsp.], [M],
// ),
// caption: [Projektvorgehensziele],
// )
//
// === Projektvorgehensziele
// // Beispiele von Kategorien:
// // • Projektkosten (Budget)
// // • Termine
// // • Meilensteine
// // • Methodik
// // • Kommunikation
// #figure(
// table(
// columns: (auto, 1fr, 1fr, auto),
// [Nr.], [Projektziel], [Messgrösse], [Gewicht \ (M/S/K)],
//
// //--- Projektkosten ---
// [1],
// [Das Projekt bleibt innerhalb des vorgegebenen Zeitbudgets der Probe-IPA.],
// [Es werden maximal 90h für das Projekt aufgewendet.],
// [M],
//
// // --- Meilensteine ---
// [2],
// [Alle definierten Meilensteine werden Eingehalten.],
// [Die Meilensteine (Beschrieben in @chap-zeitplan) werden erreicht.],
// [M],
//
// // --- Methodik ---
// [3],
// [Das Projekt wird nach der Projektdurführungsmethode in @chap-projektmethode durchgeführt.],
// [Das Projekt wird nach der Projektdurführungsmethode in @chap-projektmethode durchgeführt.],
// [S],
// ),
// caption: [Projektvorgehensziele],
// )
@@ -0,0 +1,21 @@
#import "@local/chfoit-ipa:0.0.0": requirements
== Anforderungen
#lorem(200)
// #figure(
// table(
// columns: (2.5em, 1fr, 2.5em, 1fr, auto, auto),
// [ID],
// [Anforderung],
// [Art #footnote[Art = Anforderungsart: F = Funktional, Q = Qualität]],
// [Abnahmekriterium],
// [W#footnote[ Wichtigkeit: 5 = muss zwingend umgesetzt werden; 4 = sehr wichtig, 3 = wichtig, 2 = normal, 1 = nicht wichtig]],
// [D#footnote[ Dringlichkeit: 5 = muss sofort umgesetzt werden, 4 = sehr dringend, 3 = dringend, 2 = normal, 1 = nicht dringend]],
//
// requirements.id(), [Titel], [F], [Beschreibung], [5], [5],
// ),
//
// caption: [Anforderungen],
// )
@@ -0,0 +1,57 @@
== Lösungsvarianten
#lorem(200)
// In diesem Kapitel werden zwei Varianten zur Umsetzung der Applikation
// analysiert und bewertet. Anschliessend wird mit Hilfe dieser Informationen
// die beste Variante für die Umsetzung gewählt.
//
// === Variante 1: <variante-1>
//
// Beschreibung der ersten Lösungsvariante.
//
// === Variante 2: <variante-2>
//
// Beschreibung der zweiten Lösungsvariante.
//
// === Bewertung der Varianten
//
// Beim Bewerten der Varianten werden folgende Kriterien beachtet:
//
// #figure(
// table(
// columns: (auto, 1fr, auto),
// [Name], [Begründung], [Gewichtung],
// [Kriterium 1], [Begründung für das Kriterium.], [1],
// [Kriterium 2], [Begründung für das Kriterium.], [1],
// [Kriterium 3], [Begründung für das Kriterium.], [1],
// ),
// caption: [Übersicht der Bewertungskriterien für den Variantenentscheid],
// )
//
// ==== Variante 1
// #figure(
// table(
// columns: (auto, auto, auto, 1fr),
// [Kriterium], [Bewertung \ x/10], [Gewich-\ tung], [Begründung],
// [Kriterium 1], [8], [1], [Begründung der Bewertung.],
// table.footer([Summe:], [8]),
// ),
// caption: [Auswertung der Variante 1],
// )
//
// ==== Variante 2
// #figure(
// table(
// columns: (auto, auto, auto, 1fr),
// [Kriterium], [Bewertung \ x/10], [Gewich-\ tung], [Begründung],
// [Kriterium 1], [7], [1], [Begründung der Bewertung.],
// table.footer([Summe:], [7]),
// ),
// caption: [Auswertung der Variante 2],
// )
//
// === Variantenentscheid <variantenentscheid>
//
// Die Applikation wird mit #link(<variante-1>, [Variante 1]) umgesetzt,
// da die Bewertung im Vergleich zu #link(<variante-2>, [Variante 2]) höher ausfällt.
@@ -0,0 +1,78 @@
== Schutzbedarfsanalyse
//
// Die Schutzbedarfsanalyse dient dazu,
// den notwendigen Umfang an Sicherheitsmassnahmen zu bestimmen.
// Sie stellt sicher, dass die Vertraulichkeit, Integrität und Verfügbarkeit der Applikationen und der Daten gewährleistet werden.
// Sie basiert auf der "IKT Beurteilung des Schutzbedarfs". @schutzbedarf
//
// Anfang 2025 wurde eine neue Version (5.1) dieser Beurteilung erstellt.
// Diese ist in den zehn verfügbaren Tagen der IPA zu umfangreich.
// Deshalb kann für diese IPA die alte Version (4.6) der Schutzbedarfsanalyse verwendet werden. @alte-schutzbedarfsanalyse
//
// === Einstufung
//
// Wird in der Einstufung erhöter Schutzbedarf festgestellt, so muss ein ISDS-Konzept erarbeitet werden.
// Erhöter Schutzbedarf liegt vor, sobald eines der Felder
// aus dem Bereich der Vertraulichkeit als #text(fill: red, "rot") gekennzeichnet wird
// oder wenn mehr als zwei Kriterien in den Bereichen Verfügbarkeit, Integrität oder Nachvollziehbarkeit als #text(fill: red, "rot") gekennzeichnet werden.
//
// Folgende Tabelle ist ein Auszug aus der Einstufung mithilfe des vorgegebenen Dokuments.
// Die gesamte Einstufung ist im Anhang ersichtlich.
//
// #let good(c) = { table.cell(fill: green.lighten(70%), c) }
// #let bad(c) = { table.cell(fill: red.lighten(70%), c) }
//
// #figure(
// table(
// columns: 3,
// table.header([Kategorie], [Frage], [Antwort]),
//
// table.cell(rowspan: 3, [Vertraulichkeit]),
// [Sollen [mit diesem Schutzobjekt] Personendaten nach der Datenschutzgesetzgebung bearbeitet werden? Wenn ja, ergibt sich daraus ein hohes Risiko für die Grundrechte der betroffenen Personen?],
// good([Keine Personendaten]),
//
// // [Vertraulichkeit],
// [Sollen [mit diesem Schutzobjekt] klassifizierte Informationen nach der Informationsschutzverordnung (ISchV) bearbeitet werden? Wenn ja, Informationen aus welchen Klassifizierungsstufen (vgl. Art. 5 bis 7 ISchV) sind betroffen?],
// good([Klassifizierung: Intern]),
//
// // [Vertraulichkeit],
// [Sollen [mit diesem Schutzobjekt] Informationen oder Daten bearbeitet werden, die aus einem sonstigen Grund (spezielle Gesetzgebungen) besonders geschützt werden müssen? Wenn ja, wie hoch sind die Schutzanforderungen?],
// good([Keine erhöhten Anforderungen an die Vertraulichkeit]),
//
// table.cell(rowspan: 3, [Verfügbarkeit]),
// [Max. zulässige Ausfalldauer?],
// good([Ausfalldauer max. 8 Std.]),
//
// // [Verfügbarkeit],
// [Servicezeiten?],
// good([Servicezeiten Standard (11/5)]),
//
// // [Verfügbarkeit],
// [IT Service Continuity Management (ITSCM) relevant [für dieses Schutzobjekt] als Teil des Business Continuity Management (BCM) für geschäftskritische Prozesse?],
// good([ITSCM / BCM nicht notwendig]),
//
// table.cell(rowspan: 2, [Integrität]),
// [Muss die Echtheit, Korrektheit und/oder Unversehrtheit der Daten nachgewiesen werden können?],
// good([Keine speziellen Anforderungen]),
//
// // [Integrität],
// [Müssen bestimmte Arbeitsvorgänge nachgewiesen werden können?],
// good([Keine speziellen Anforderungen]),
//
// [RINA-Relevanz],
// [Ist dieses Schutzobjekt durch nachrichtendienstliche Ausspähung (oder ähnliche) erheblich gefährdet und/oder werden dafür sensitive Beschaffungen notwendig?],
// good([Nein - Nicht RINA-relevant]),
// ),
// caption: [Einstufung Schutzbedarf],
// )
//
// Die Kommentare zu den jeweiligen Kategorien sind im Anhang ersichtlich.
//
// === Entscheid ISDS-Konzept
//
// In der Einstufung wurden keine erhöhten Anforderungen festgestellt.
// Da alle Felder grün sind, ist das Ergebnis der Schutzbedarfsanalyse "kein erhöter Schutzbedarf notwendig" und es muss kein ISDS-Konzept erstellt werden.
//
// === Massnahmen
//
//
@@ -0,0 +1,58 @@
#import "@preview/wrap-it:0.1.1": wrap-content
#import "@local/chfoit-ipa:0.0.0": palette
#let risiko(lvl) = {
if lvl >= 3 {
return table.cell(fill: palette.red.at("300"))[Sehr Hoch]
}
if lvl >= 2 {
return table.cell(fill: palette.orange.at("300"))[Hoch]
}
if lvl >= 1 {
return table.cell(fill: palette.yellow.at("300"))[Mittel]
}
return table.cell(fill: palette.green.at("300"))[Tief]
}
== Risiko Analyse
#lorem(200)
// === Risiken
//
// Folgende Risiken sind in der Probe-IPA relevant:
// #figure(
// table(
// columns: (auto, 1fr, 1fr, auto, auto),
// [Nr.], [Beschreibung], [Auswirkung], [E #footnote[Eintretenswahrscheinlichkeit]], [A #footnote[Auswirkungsgrad]],
//
// // [1], [Ausfall vom Arbeitsgerät], [Entwicklung nicht mehr möglich], risiko(0), risiko(3),
// ),
// caption: [Risiken],
// )<fig-risks>
//
// Um diese Risiken zu mindern, werden Folgende Massnahmen ergriffen:
//
// #figure(
// table(
// columns: (auto, auto, 1fr, auto, auto),
// [Nr.], [Risiko Nr.], [Beschreibung], [E Danach], [A Danach],
//
// // [1], [1], [Ausweichen auf Warp-Devspaces], risiko(0), risiko(1),
// ),
// caption: [Massnahmen um Risiken zu mindern],
// )
// === Auswertung
//
// #wrap-content(
// figure(
// image("../../../02_Grafiken/risiko_matrix.pdf"),
// caption: [Risikomatrix],
// ),
// [
//
// ],
// align: top + right,
// column-gutter: 2em,
// )
@@ -0,0 +1,13 @@
#pagebreak(weak: true)
== Projektauftrag
// Bei justin steht:
Basierend auf den Erkenntnissen der Studie und den Variantenentscheiden wird das Projekt in
die nächste Phase übergeben.
_Das Projekt wurde am \<datum> durch den Auftraggeber \<Auftraggeber> mündlich
freigegeben._
@@ -0,0 +1,44 @@
// Auf der Grundlage des Projektinitialisierungsauftrags gibt der Auftraggeber die Ressourcen für die Phase Initialisierung frei.
// Er beauftragt den Projektleiter mit der Durchführung der Phase Initialisierung.
//
// Die Phase Initialisierung wird aus Projektmanagementsicht stets klassisch abgewickelt.
// Dennoch können auch agile Werkzeuge zum Einsatz kommen.
//
// Die Studie wird erarbeitet.
// - Die Arbeiten starten mit einer ersten Standortbestimmung, Zielen und groben Anforderungen.
// - Die Lösungsvarianten werden erarbeitet. Die Beschreibung der Lösungsvarianten erfolgt so detailliert,
// dass sie nachvollziehbar und transparent bewertet werden können.
// - Unter anderem werden auch die Projekt- und Betriebsrisiken ermittelt.
// - Parallel zur Studie werden die Rechtsgrundlagenanalyse und die Schutzbedarfsanalyse
// erarbeitet und in die Entscheidung einbezogen.
// - Zusätzlich wird festgelegt und nachvollziehbar dokumentiert, wie im Rahmen jeder Lösungsvariante
// weiter vorgegangen wird: entweder klassisch oder agil.
// - Der Entscheid Weiteres Vorgehen wird getroffen.
//
// Für die allfällige Beschaffung eines Produkts bzw. eines Systems wird parallel
// zur Studie eine Beschaffungsanalyse durchgeführt.
//
// Das für die Lösungsentstehung passende Szenario wird ausgewählt und bei Bedarf individualisiert.
//
// Auf der Basis der gewählten Variante und des Vorgehens werden der Projektmanagementplan
// und der Durchführungsauftrag erarbeitet und mit den Strategien, Vorgaben und übergeordneten
// Zielen der Stammorganisation abgeglichen. Die Stakeholderinteressen werden
// analysiert und Zielkonflikte bereinigt.
//
// Bei anvisierter agiler Vorgehensweise wird festgelegt, ob der optionale Entscheid
// Releasefreigabe treffen im Projekt als erforderlich vorgeschrieben ist.
//
// Der Entscheid Durchführungsfreigabe wird getroffen und der Durchführungsauftrag unterschrieben.
// Die Freigabe erfolgt durch die Stammorganisation und den Auftraggeber.
= Initialisierung
In diesem Kapitel sind die Arbeitsergebnisse der Initialisierungsphase.
#include "./01_Studie.typ"
#include "./02_Ziele.typ"
#include "./03_Anforderungen.typ"
#include "./04_Varianten.typ"
#include "./05_Schutzbedarfsanalyse.typ"
#include "./06_Risikoanalyse.typ"
#include "./07_Projektauftrag.typ"