update
BIN
Writerside/images/image_925.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
Writerside/images/image_926.png
Normal file
After Width: | Height: | Size: 199 KiB |
BIN
Writerside/images/image_927.png
Normal file
After Width: | Height: | Size: 82 KiB |
BIN
Writerside/images/image_928.png
Normal file
After Width: | Height: | Size: 152 KiB |
BIN
Writerside/images/image_929.png
Normal file
After Width: | Height: | Size: 90 KiB |
BIN
Writerside/images/image_930.png
Normal file
After Width: | Height: | Size: 56 KiB |
BIN
Writerside/images/image_931.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
Writerside/images/image_932.png
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
Writerside/images/image_933.png
Normal file
After Width: | Height: | Size: 51 KiB |
BIN
Writerside/images/image_934.png
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
Writerside/images/image_935.png
Normal file
After Width: | Height: | Size: 61 KiB |
BIN
Writerside/images/image_936.png
Normal file
After Width: | Height: | Size: 88 KiB |
@ -101,6 +101,7 @@
|
|||||||
<toc-element topic="04_Projektrisikomanagement.md"/>
|
<toc-element topic="04_Projektrisikomanagement.md"/>
|
||||||
<toc-element topic="05_Scrum.md"/>
|
<toc-element topic="05_Scrum.md"/>
|
||||||
<toc-element topic="06_Planung_Netzplantechnik-Aufwand.md"/>
|
<toc-element topic="06_Planung_Netzplantechnik-Aufwand.md"/>
|
||||||
|
<toc-element topic="08_ProjektControlling.md"/>
|
||||||
|
|
||||||
</toc-element>
|
</toc-element>
|
||||||
|
|
||||||
|
248
Writerside/topics/04/Projektmanagement/08_ProjektControlling.md
Normal file
@ -0,0 +1,248 @@
|
|||||||
|
# Projekt-Controlling
|
||||||
|
> Umfasst alle Aktivitäten, um projektbezogene Abweichungen zwischen Plan und IST-Zustand aufzudecken
|
||||||
|
|
||||||
|
- Abweichungen und Erkenntnisse darauf fließen wieder in Planung ein
|
||||||
|
- Kontrolle in Form von Reviews, Audits, Tests
|
||||||
|
|
||||||
|
## Prozessgruppen
|
||||||
|
### Plan-Do-Check-Act (PDCA)
|
||||||
|
### PM Prozessgruppen
|
||||||
|
```plantuml
|
||||||
|
@startuml
|
||||||
|
scale 0.50
|
||||||
|
|
||||||
|
left to right direction
|
||||||
|
skinparam dpi 150
|
||||||
|
|
||||||
|
skinparam state {
|
||||||
|
BackgroundColor #96cf95
|
||||||
|
BorderColor black
|
||||||
|
FontName Helvetica
|
||||||
|
RoundCorner 30
|
||||||
|
Shadowing false
|
||||||
|
LineThickness 0
|
||||||
|
}
|
||||||
|
[*] --> Initiierung
|
||||||
|
Initiierung --> Planung
|
||||||
|
Planung --> Initiierung
|
||||||
|
Planung --> Controlling
|
||||||
|
Controlling --> Planung
|
||||||
|
Planung --> Umsetzung
|
||||||
|
Controlling --> Umsetzung
|
||||||
|
Umsetzung --> Controlling
|
||||||
|
Controlling --> Abschluss
|
||||||
|
Umsetzung --> Abschluss
|
||||||
|
|
||||||
|
@enduml
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Wirkungskreislauf
|
||||||
|
```plantuml
|
||||||
|
@startuml
|
||||||
|
scale 0.50
|
||||||
|
|
||||||
|
skinparam dpi 150
|
||||||
|
|
||||||
|
skinparam state {
|
||||||
|
BackgroundColor #96cf95
|
||||||
|
BorderColor black
|
||||||
|
FontName Helvetica
|
||||||
|
RoundCorner 30
|
||||||
|
Shadowing false
|
||||||
|
LineThickness 0
|
||||||
|
}
|
||||||
|
|
||||||
|
state 1 as "Setzen von Zielen"
|
||||||
|
state 2 as "Festlegung von Plangrößen"
|
||||||
|
state 3 as "Vorgabe der Ziele und Plangrößen"
|
||||||
|
state PA as "Projektabwicklung"
|
||||||
|
state 4 as "Messen der Zielerreichung (Ist-Werte)"
|
||||||
|
state 5 as "Feststellung der Soll-/Ist-Abweichungen"
|
||||||
|
state 6 as "Abweichungsanalyse"
|
||||||
|
state 7 as "Beseitigung der Abweichungsursachen"
|
||||||
|
|
||||||
|
1 -down-> 2
|
||||||
|
2 -down-> 3
|
||||||
|
3 -down-> PA
|
||||||
|
PA -up-> 4
|
||||||
|
4 -up-> 5
|
||||||
|
5 -up-> 6
|
||||||
|
6 -up-> 7
|
||||||
|
7 -up-> 1
|
||||||
|
7 -left-> 2
|
||||||
|
7 --> PA
|
||||||
|
|
||||||
|
@enduml
|
||||||
|
```
|
||||||
|
|
||||||
|
### Was wird kontrolliert?
|
||||||
|
- Projektarbeiten, Änderungen
|
||||||
|
- Leistung
|
||||||
|
- Ressourcen, Projektteam
|
||||||
|
- Termin
|
||||||
|
- Kosten
|
||||||
|
- Risiko
|
||||||
|
- Qualität
|
||||||
|
- Kommunikation
|
||||||
|
|
||||||
|
## Projektberichtswesen und Statusreporting
|
||||||
|
### Projektberichtswesen
|
||||||
|
- 3 Grundregeln
|
||||||
|
- einheitlicher Aufbau
|
||||||
|
- Informationsbedürfnisse des Empfängers berücksichtigen
|
||||||
|
- objektive Interpretation
|
||||||
|
|
||||||
|
#### Statusberichte
|
||||||
|
- kurz und prägnant
|
||||||
|
- werden periodisch erstellt
|
||||||
|
- Inhalt
|
||||||
|
- Zeitpunkt
|
||||||
|
- Wie sieht das Projekt aus
|
||||||
|
- Wie sollte es aussehen
|
||||||
|
- Aufwandsmäßiger Stand
|
||||||
|
- Restaufwand
|
||||||
|
- Gründe für Abweichungen
|
||||||
|
- Maßnahmen (Vorschläge/Anträge des PL)
|
||||||
|
- Konsquenzen
|
||||||
|
- Top 5
|
||||||
|
- Risiken, Probleme, Unregelmäßigkeiten
|
||||||
|
- Hauptaktivitäten der nächsten Berichtsperiode
|
||||||
|
- Personalsituation
|
||||||
|
- Beispiel:
|
||||||
|
- 
|
||||||
|
|
||||||
|
> Grundlage für die Phase Check des [PDCA](#plan-do-check-act-pdca)
|
||||||
|
|
||||||
|
```plantuml
|
||||||
|
@startuml
|
||||||
|
scale 0.50
|
||||||
|
|
||||||
|
skinparam dpi 150
|
||||||
|
|
||||||
|
skinparam state {
|
||||||
|
BackgroundColor #96cf95
|
||||||
|
BorderColor black
|
||||||
|
FontName Helvetica
|
||||||
|
RoundCorner 30
|
||||||
|
Shadowing false
|
||||||
|
LineThickness 0
|
||||||
|
}
|
||||||
|
|
||||||
|
state 1 as "Statusbericht Teilprojekte"
|
||||||
|
state 2 as "Konsolidierter Statusbericht"
|
||||||
|
state 3 as "Statusbericht"
|
||||||
|
state 4 : Projektbasisdaten (bspw. Gesamtaufwand, Start- und Endzeit, ...)
|
||||||
|
state 4 : Daten der Resplanung (Meilensteine, Aufwand, ...)
|
||||||
|
state 4 : geplante Arbeitsergebnisse der nächsten Berichtszeitperiode
|
||||||
|
state 4 as "Baseline Info"
|
||||||
|
state 5 as "ToDo - Liste / Agenda"
|
||||||
|
state 6 as "PL - Meeting"
|
||||||
|
state 7 as "PL - Protokoll"
|
||||||
|
|
||||||
|
1 -up-> 2
|
||||||
|
2 -up-> 3
|
||||||
|
2 -up-> 4
|
||||||
|
1 -right-> 5
|
||||||
|
5 -u-> 6
|
||||||
|
6 -u-> 7
|
||||||
|
7 --> 5
|
||||||
|
|
||||||
|
@enduml
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Verschiedene Ebenen von Berichten
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
## Meilensteintrendanalyse
|
||||||
|
- Methode zur Überwachung des inhaltlichen Projektfortschritts
|
||||||
|
- frühzeitige Erkennung von Verzögerungen
|
||||||
|
- Korrekturmaßnahmen einleiten
|
||||||
|
- 
|
||||||
|
- Vorgehen
|
||||||
|
- Y-Achse: geplante Meilensteine mit Terminen
|
||||||
|
- X-Achse: MS-Terminwerte des neusten Planungswerts
|
||||||
|
- bei jedem Bericht kann analysiert werden, ob man im Plan ist
|
||||||
|
|
||||||
|
## Earned Value Analysis (EVA) / Management
|
||||||
|
### EVA
|
||||||
|
- Instrument zur Statusbewertung für strategische Entscheidungen
|
||||||
|
- Ziel
|
||||||
|
- Voraussage Projekterfolg
|
||||||
|
- _finanziell, zeitlich_
|
||||||
|
- Fortschrittsbewertung
|
||||||
|
- anhand geleisteter Arbeit
|
||||||
|
- nicht aufgrund des Sachfortschritts
|
||||||
|
- Voraussetzung
|
||||||
|
- umfangreiche Projektplanung
|
||||||
|
|
||||||
|
| **Abk** | **Name** | **Formel** | **Bedeutung** |
|
||||||
|
|---------|-------------------------------------|-----------------------------|------------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
| PV | Planned Value | | Budget |
|
||||||
|
| SAC | Schedule at Completion<br/>Laufzeit | | ursprünglich geplante Fertigstelldauer (Datum) |
|
||||||
|
| AC | Actual Cost | | Aktueller Aufwand |
|
||||||
|
| EV | Earned Value | $EP*AC[%]$ | Betrag für die Arbeit an einem Arbeitspaket, die bis zu einem bestimmten Zeitraum tatsächlich verrichtet wurde |
|
||||||
|
| CV | Cost Variance | $EV-AC$ | Wie teuer sind wir tatsächlich?<br/> $<0$→schlechter als Plan |
|
||||||
|
| CPI | Cost-Performance Index | $EV/AC$ | Maß für Kostenstatus/Wirtschaftlichkeit |
|
||||||
|
| SV | Schedule Variance | $EV-PV$ | Wie gut kommen wir vorran? |
|
||||||
|
| SPI | Schedule-Performance Index | $EV/PV$ | Maß für Projektfortschritt<br/> $<1$→schlechter als geplant |
|
||||||
|
| BAC | Budget at Completion | | Geplante Gesamtkosten |
|
||||||
|
| EAC | Estimated Cost at Completion | $BAC/CPI$<br/>$AC+(BAC-EV)$ | Lineare Prognose→ Abweichung setzt sich proportional fort<br/>Additive Prognose→Bislang aufgetretene Abweichung ist einmalig |
|
||||||
|
| ETC | Estimate to Completion | $EAC-AC$ | Restkosten bis zum Ende des Projekts |
|
||||||
|
| TEAC | Time Estimate at Completion | $SAC/SPI$ | Abschätzung der Laufzeit |
|
||||||
|
|
||||||
|
|
||||||
|
#### Beispiel EVA
|
||||||
|

|
||||||
|
|
||||||
|
#### Übung EVA
|
||||||
|
- BAC = 120000€
|
||||||
|
- SAC = 1 Jahr
|
||||||
|
- Am Ende des 4. Monats: 40% der Arbeit erledigt, 530000€ verbraucht
|
||||||
|
|
||||||
|
- $EV = 40% * BAC = 48000€$
|
||||||
|
- $PV = 4*10000€ = 40000€$
|
||||||
|
- $AC = 53000€$
|
||||||
|
- $CV = 48000€-53000€ = -5000€$
|
||||||
|
- $CPI = 48000€ / 53000€ = 0,906$
|
||||||
|
- $SV = 40%-4/12 = 0,667$
|
||||||
|
- $SPI = 40%/(4/12) = 1,3$
|
||||||
|
- $EAC$
|
||||||
|
- $linear = BAC/CPI = 120000/(-5000) = -24000$
|
||||||
|
- $additiv = AC + (BAC-EV) = 53000€+(12000€-48000€)= 72000€$
|
||||||
|
- $TEAC = SAC/SPI = 1[Jahr] / 1,3 = 0,769[Jahre]$
|
||||||
|
|
||||||
|
#### Übungen
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
## Change Management
|
||||||
|
> **ACHTUNG**
|
||||||
|
>
|
||||||
|
> Änderungsmanagement $\neq$ Veränderungsmanagement
|
||||||
|
|
||||||
|
| Änderungsmanagement | Changemanagement |
|
||||||
|
|----------------------------------------------------------------------|--------------------------------------------------------|
|
||||||
|
| Änderung von Prozessen, physischen/materiellen Mitteln und Produkten | Änderung von Strukturen, Menschen und Einzelfunktionen |
|
||||||
|
| kontrolliertes, bewusstes Ändern der Pläne | geplante organisatorische Veränderung |
|
||||||
|
| Erfolgt durch eine definierte Instanz (PL / Change Control Board) | |
|
||||||
|
|
||||||
|
**Changemanagement**
|
||||||
|
- Summe aller Maßnahmen, die durch das Projekt beweirten Veränderungen in kürzester Zeit zu adaptieren
|
||||||
|
- 
|
||||||
|
- 7 Schritte der emotionalen Verarbeitung
|
||||||
|
- 
|
||||||
|
- In Projekten
|
||||||
|
- 
|
||||||
|
- Changerequest CR
|
||||||
|
- _Antrag auf eine Änderung des im Projektauftrag fixierten Zielrahmens bzw. der im Konzept festgelegten und verabschiedeten Anforderungen an das zu realisierende Produkt._
|
||||||
|
- Beispiele
|
||||||
|
- Beim Rasenmähen
|
||||||
|
- CR: Termin-Verzug und Kostenerhöhung
|
||||||
|
- Viel Unrat wird enddeckt, soll er den kostenpflichtig entfernen?
|
||||||
|
- Organizational Change Management
|
||||||
|
- Nachbarschaft ist gegen das Mähen des Rasens
|
||||||
|
- 12-14Uhr ist Lärm zu vermeiden
|
||||||
|
- Unrat: Gäste werden gebeten, gemeinsam Rasen zu säubern
|
@ -59,7 +59,7 @@ left to right direction
|
|||||||
skinparam dpi 150
|
skinparam dpi 150
|
||||||
|
|
||||||
skinparam state {
|
skinparam state {
|
||||||
BackgroundColor #FFFACD
|
BackgroundColor #96cf95
|
||||||
BorderColor black
|
BorderColor black
|
||||||
FontName Helvetica
|
FontName Helvetica
|
||||||
RoundCorner 30
|
RoundCorner 30
|
||||||
@ -97,7 +97,7 @@ left to right direction
|
|||||||
skinparam dpi 150
|
skinparam dpi 150
|
||||||
|
|
||||||
skinparam state {
|
skinparam state {
|
||||||
BackgroundColor #FFFACD
|
BackgroundColor #96cf95
|
||||||
BorderColor black
|
BorderColor black
|
||||||
FontName Helvetica
|
FontName Helvetica
|
||||||
RoundCorner 30
|
RoundCorner 30
|
||||||
@ -132,7 +132,7 @@ left to right direction
|
|||||||
skinparam dpi 150
|
skinparam dpi 150
|
||||||
|
|
||||||
skinparam state {
|
skinparam state {
|
||||||
BackgroundColor #FFFACD
|
BackgroundColor #96cf95
|
||||||
BorderColor black
|
BorderColor black
|
||||||
FontName Helvetica
|
FontName Helvetica
|
||||||
RoundCorner 30
|
RoundCorner 30
|
||||||
@ -198,7 +198,7 @@ left to right direction
|
|||||||
skinparam dpi 150
|
skinparam dpi 150
|
||||||
|
|
||||||
skinparam state {
|
skinparam state {
|
||||||
BackgroundColor #FFFACD
|
BackgroundColor #96cf95
|
||||||
BorderColor black
|
BorderColor black
|
||||||
FontName Helvetica
|
FontName Helvetica
|
||||||
RoundCorner 30
|
RoundCorner 30
|
||||||
@ -254,7 +254,7 @@ scale 0.5
|
|||||||
skinparam dpi 150
|
skinparam dpi 150
|
||||||
|
|
||||||
skinparam state {
|
skinparam state {
|
||||||
BackgroundColor #FFFACD
|
BackgroundColor #96cf95
|
||||||
BorderColor black
|
BorderColor black
|
||||||
FontName Helvetica
|
FontName Helvetica
|
||||||
RoundCorner 30
|
RoundCorner 30
|
||||||
@ -314,7 +314,7 @@ left to right direction
|
|||||||
skinparam dpi 150
|
skinparam dpi 150
|
||||||
|
|
||||||
skinparam state {
|
skinparam state {
|
||||||
BackgroundColor #FFFACD
|
BackgroundColor #96cf95
|
||||||
BorderColor black
|
BorderColor black
|
||||||
FontName Helvetica
|
FontName Helvetica
|
||||||
RoundCorner 30
|
RoundCorner 30
|
||||||
@ -351,7 +351,7 @@ left to right direction
|
|||||||
skinparam dpi 150
|
skinparam dpi 150
|
||||||
|
|
||||||
skinparam state {
|
skinparam state {
|
||||||
BackgroundColor #FFFACD
|
BackgroundColor #96cf95
|
||||||
BorderColor black
|
BorderColor black
|
||||||
FontName Helvetica
|
FontName Helvetica
|
||||||
RoundCorner 30
|
RoundCorner 30
|
||||||
|
@ -57,7 +57,7 @@ top to bottom direction
|
|||||||
skinparam dpi 150
|
skinparam dpi 150
|
||||||
|
|
||||||
skinparam state {
|
skinparam state {
|
||||||
BackgroundColor #FFFACD
|
BackgroundColor #96cf95
|
||||||
BorderColor black
|
BorderColor black
|
||||||
FontName Helvetica
|
FontName Helvetica
|
||||||
RoundCorner 30
|
RoundCorner 30
|
||||||
@ -333,7 +333,7 @@ left to right direction
|
|||||||
skinparam dpi 150
|
skinparam dpi 150
|
||||||
|
|
||||||
skinparam state {
|
skinparam state {
|
||||||
BackgroundColor #FFFACD
|
BackgroundColor #96cf95
|
||||||
BorderColor black
|
BorderColor black
|
||||||
FontName Helvetica
|
FontName Helvetica
|
||||||
RoundCorner 30
|
RoundCorner 30
|
||||||
@ -391,7 +391,7 @@ left to right direction
|
|||||||
skinparam dpi 150
|
skinparam dpi 150
|
||||||
|
|
||||||
skinparam state {
|
skinparam state {
|
||||||
BackgroundColor #FFFACD
|
BackgroundColor #96cf95
|
||||||
BorderColor black
|
BorderColor black
|
||||||
FontName Helvetica
|
FontName Helvetica
|
||||||
RoundCorner 30
|
RoundCorner 30
|
||||||
|
@ -49,7 +49,7 @@ left to right direction
|
|||||||
skinparam dpi 150
|
skinparam dpi 150
|
||||||
|
|
||||||
skinparam state {
|
skinparam state {
|
||||||
BackgroundColor #FFFACD
|
BackgroundColor #96cf95
|
||||||
BorderColor black
|
BorderColor black
|
||||||
FontName Helvetica
|
FontName Helvetica
|
||||||
RoundCorner 30
|
RoundCorner 30
|
||||||
|
@ -66,7 +66,7 @@ left to right direction
|
|||||||
skinparam dpi 150
|
skinparam dpi 150
|
||||||
|
|
||||||
skinparam state {
|
skinparam state {
|
||||||
BackgroundColor #FFFACD
|
BackgroundColor #96cf95
|
||||||
BorderColor black
|
BorderColor black
|
||||||
FontName Helvetica
|
FontName Helvetica
|
||||||
RoundCorner 30
|
RoundCorner 30
|
||||||
|
@ -24,7 +24,7 @@ Bestimmen Sie für jeden der folgenden regulären Ausdrücke $\beta_i$ einen end
|
|||||||
skinparam dpi 150
|
skinparam dpi 150
|
||||||
|
|
||||||
skinparam state {
|
skinparam state {
|
||||||
BackgroundColor #FFFACD
|
BackgroundColor #96cf95
|
||||||
BorderColor black
|
BorderColor black
|
||||||
FontName Helvetica
|
FontName Helvetica
|
||||||
RoundCorner 30
|
RoundCorner 30
|
||||||
@ -45,7 +45,7 @@ Bestimmen Sie für jeden der folgenden regulären Ausdrücke $\beta_i$ einen end
|
|||||||
skinparam dpi 150
|
skinparam dpi 150
|
||||||
|
|
||||||
skinparam state {
|
skinparam state {
|
||||||
BackgroundColor #FFFACD
|
BackgroundColor #96cf95
|
||||||
BorderColor black
|
BorderColor black
|
||||||
FontName Helvetica
|
FontName Helvetica
|
||||||
RoundCorner 30
|
RoundCorner 30
|
||||||
@ -107,7 +107,7 @@ Geben Sie den Automaten dazu in **Graphdarstellung** an.
|
|||||||
skinparam dpi 150
|
skinparam dpi 150
|
||||||
|
|
||||||
skinparam state {
|
skinparam state {
|
||||||
BackgroundColor #FFFACD
|
BackgroundColor #96cf95
|
||||||
BorderColor black
|
BorderColor black
|
||||||
FontName Helvetica
|
FontName Helvetica
|
||||||
RoundCorner 30
|
RoundCorner 30
|
||||||
@ -148,7 +148,7 @@ Nutzen Sie den zweiten Teil des Kochrezepts zur Umwandlung einer regulären Gram
|
|||||||
skinparam dpi 150
|
skinparam dpi 150
|
||||||
|
|
||||||
skinparam state {
|
skinparam state {
|
||||||
BackgroundColor #FFFACD
|
BackgroundColor #96cf95
|
||||||
BorderColor black
|
BorderColor black
|
||||||
FontName Helvetica
|
FontName Helvetica
|
||||||
RoundCorner 30
|
RoundCorner 30
|
||||||
@ -265,7 +265,7 @@ Wandeln Sie $N$ in einen äquivalenten nichtdeterministischen Automaten $N_\vare
|
|||||||
skinparam dpi 150
|
skinparam dpi 150
|
||||||
|
|
||||||
skinparam state {
|
skinparam state {
|
||||||
BackgroundColor #FFFACD
|
BackgroundColor #96cf95
|
||||||
BorderColor black
|
BorderColor black
|
||||||
FontName Helvetica
|
FontName Helvetica
|
||||||
RoundCorner 30
|
RoundCorner 30
|
||||||
@ -311,7 +311,7 @@ Mit diesem neuen Mittel ausgerüstet, können wir z.B. den Zustand $B$ aus dem A
|
|||||||
skinparam dpi 150
|
skinparam dpi 150
|
||||||
|
|
||||||
skinparam state {
|
skinparam state {
|
||||||
BackgroundColor #FFFACD
|
BackgroundColor #96cf95
|
||||||
BorderColor black
|
BorderColor black
|
||||||
FontName Helvetica
|
FontName Helvetica
|
||||||
RoundCorner 30
|
RoundCorner 30
|
||||||
@ -352,7 +352,7 @@ Nach Bearbeitung aller solcher Paare kann der Zustand $F$ gelöscht werden (**wa
|
|||||||
skinparam dpi 150
|
skinparam dpi 150
|
||||||
|
|
||||||
skinparam state {
|
skinparam state {
|
||||||
BackgroundColor #FFFACD
|
BackgroundColor #96cf95
|
||||||
BorderColor black
|
BorderColor black
|
||||||
FontName Helvetica
|
FontName Helvetica
|
||||||
RoundCorner 30
|
RoundCorner 30
|
||||||
|