Commit 27336fcc authored by Florian Moser's avatar Florian Moser
Browse files

Work on PM vortrag

parent f2c45fb8
......@@ -49,4 +49,8 @@ blockquote > *:first-child {
blockquote > *:last-child {
margin-bottom: 0
}
.color-red {
color: red
}
\ No newline at end of file
......@@ -162,7 +162,9 @@ Projects: https://famoser.ch/
**Know what makes a good project.** High-level view about a suitable environment for you and your project.
**Know how to manage a project.** Concrete resources how to start, execute and finish a project.
**Plan a successful project.** How to create a convincing and actionable project plan.
**Execute a successful project.** Concrete resources how to execute and finish a project.
---
......@@ -195,18 +197,154 @@ For bigger projects:
business case:
- alternatives? cost-benefit?
- sensible?
- stable during the project?
stakeholders:
> Tinder for jobs.
stakeholder(s):
- agree about scope & purpose of project?
- have realistic expectations?
- personally support with time and money?
> E-Learning Platform
---
# You
*sufficient experience*. Not too many unknowns, experience with most parts of final product.
> Issue-management requires a web (frontend + backend) / app combination. Server-generated content, CRUD, API, heavy client-side functionality, usability, many features, large data storage, synchronization, translations.
*sufficient trust*. Understand where trust is coming from and how to maintain it.
> Based on a previous project: Deliver early.
> Based on personal recommendation: Maintain relationships.
*sufficient capabilities*. Control over technological & organisational aspects.
> Need to deploy to a server: Have full control over how & when deployments happen
---
class: center, middle
# Plan a successful project
<i>Claim: Small projects (&lt;300h) are accurately estimatable in both time and cost.</i>
---
# Create project plan
Steps:
- Understand problem to be solved
- Formulate requirements
- Estimate cost, reward
- Schedule implementation
- Analyse risks
- Feedback & repeat
Reduced uncertainty as much as possible?
Contract with customer & start!
---
# Understand business
Interview those who use & those who pay.
Research industry, similar products & solutions (potentially of different industries).
Listen carefully:
- Repetitive "uncreative" work (=automatable)
- Proposed solutions
- Tedious tasks (=sucks)
---
# Formulate requirements
Decompose concept to suitable abstraction level.
YAGNI: Effort increases in O(exponential) due to complexity.
<img src="images/effort_increases_exponential.png" width="50%">
---
# Estimate requirements
Cannot predict the future -> how to estimate cost?
Can estimate relative complexity!
Tipps:
- Use coarse-grained numbers (Fibonaccy)
- With more unknowns, tend to increase complexity
Same for rewards.
---
# Schedule implementation
Combine features into sensible packages.
Resolve dependencies.
Decide upon milstones.
---
# Risk analysis
For overall project & for each feature collect risks.
> Users prefer different tool
> Team-member quits project before completion
> Server too slow for estimated data size
For each risk:
- Avoid: Eliminate the risk (avoid feature / use different solutions)
- Transfer: Shift the impact to a 3rd party (like your customer)
- Mitigate: Decrease the probability or impact (formulate "Plan B")
<span class="color-red">Do not skip risk analysis.</span>
---
# Contract
Formulate a constract about the project.
Content:
- Vision ("Sales-pitch")
- Requirements on suitable abstraction level
- Schedule & Milestones
- Price & Payment agreements
- Legal: Intellectual Property, Bugfixing, Maintenance
Courses:
- [E-Business Recht](http://www.vvz.ethz.ch/Vorlesungsverzeichnis/lerneinheit.view?lerneinheitId=139975&semkez=2020W) (HS)
- [Contract Design](http://www.vvz.ethz.ch/Vorlesungsverzeichnis/lerneinheit.view?lerneinheitId=141671&semkez=2020W) (HS)
- [Introduction into Negotiaton](http://www.vvz.ethz.ch/Vorlesungsverzeichnis/lerneinheit.view?lerneinheitId=135075&semkez=2020S) (FS)
**Up until now, an estimated 10 - 30% of total project effort has been spend!**
Do not work for free: For bigger projects, sell requirements engineering or proof of concept.
---
---
# The right plan
#
# Write offerte
---
responsibility = capability
requirements are clear
schedule is realistic
risks are manageable
......@@ -220,9 +358,6 @@ ressources are appropriate
# Making requirements
requirements:
decompose to suitable abstraction level
non-conflicting, appropriate for business case, on the correct abstraction level
agreed upon
function & non-function requirements
......@@ -307,19 +442,6 @@ maintenance is 10-20%
complexity / estimation technology independent
---
# plan:
vision (what to do; priorities)
elements (what needed to solve)
cost/complexity, benefit/reward, risk
calculate priority
order
milestones
risk analysis
risk mitigation
---
# during project
......@@ -328,13 +450,7 @@ continuously overview risks
manage cost
manage expectations
# Estimation
Claims:
- Small projects (&lt;300h) are accurately estimatable in both time and cost
- Effort increases in O(exponential) due to complexity
<img src="images/effort_increases_exponential.png" width="50%">
---
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment