diff --git a/project management/css/remark.css b/project management/css/remark.css index b64de20347c651e2418c3066c06ea1bf5f8d536a..28f573f15459596ac4fe29baefac7e245bbb7b28 100644 --- a/project management/css/remark.css +++ b/project management/css/remark.css @@ -49,4 +49,8 @@ blockquote > *:first-child { blockquote > *:last-child { margin-bottom: 0 +} + +.color-red { + color: red } \ No newline at end of file diff --git a/project management/project management.html b/project management/project management.html index 23d56f73a3558f70b644d059e03086ce2f92cf1b..eaabf3a03635ba82dcb26082d71f9d0edee04b73 100644 --- a/project management/project management.html +++ b/project management/project management.html @@ -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 (<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 (<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%"> ---