Sobes.tech
Middle

Co uděláte, pokud dostanete velký úkol, ze kterého znáte 70 % a víte, jak ho splnit? Jak budete postupovat?

sobes.tech AI

Odpověď od AI

V první řadě rozdělím úkol na menší a lépe spravovatelné podúkoly pomocí techniky dekompozice.

Pro známých 70 %:

  • Určím, které části úkolu již znám a jak je realizovat.
  • Naplánuji kroky k jejich splnění s využitím svých znalostí a zkušeností.
  • Automatizuji procesy tam, kde je to možné (sestavení, testování, nasazení).

Pro zbývajících 30 % neznámé části:

  • Provedu průzkum, abych získal chybějící znalosti. Prostudují dokumentaci, pokusím se reprodukovat problémy, obrátím se na kolegy nebo komunitu.
  • Mohu využít prototypování nebo experimenty k ověření hypotéz a hledání optimálního řešení.
  • Naplánuji testování a ladění těchto částí s velkou pozorností.

Po celou dobu procesu:

  • Použiji agilní metodologii (například Scrum nebo Kanban) pro plánování, provádění a sledování pokroku.
  • Budu vést jasnou dokumentaci ve všech fázích práce.
  • Pravidelně budu komunikovat s týmem a zainteresovanými stranami, poskytovat zprávy o stavu, diskutovat problémy a přijímat rozhodnutí.
  • Použiji systém správy verzí (například Git) pro řízení změn v kódu a konfiguracích.
  • Nastavím CI/CD pipeline pro automatizaci sestavení, testování a nasazení, což umožní rychlou zpětnou vazbu a minimalizaci rizik.

Přibližná struktura kroků:

  1. Analýza úkolu: Plné pochopení požadavků, identifikace známých a neznámých částí.
  2. Dekompozice: Rozdělení na podúkoly.
  3. Plánování: Určení kroků, termínů, zdrojů.
  4. Realizace (známé části): Rychlé a efektivní řešení s využitím automatizace.
  5. Průzkum a realizace (neznámé části): Hluboké ponoření, hledání řešení, experimenty, realizace.
  6. Testování: Komplexní testování všech částí úkolu.
  7. Nasazení: Použití CI/CD pro bezpečné a automatizované nasazení.
  8. Monitoring: Sledování výkonu řešení po nasazení.

Příklad použití CI/CD:

# Příklad pipeline v GitLab CI
stages:
  - build
  - test
  - deploy

build_job:
  stage: build
  script:
    - echo "Stavím projekt..."
    # Příkazy pro sestavení, například make build

test_job:
  stage: test
  script:
    - echo "Spouštím testy..."
    # Příkazy pro spuštění testů, například pytest

deploy_job:
  stage: deploy
  script:
    - echo "Nasazuji aplikaci..."
    # Příkazy pro nasazení, například kubectl apply -f deployment.yaml
  only:
    - main # Nasazovat pouze z větve main

Takový přístup umožňuje efektivně využít mé silné stránky při práci s známými částmi úkolu a systematicky řešit problémy spojené s neznámými aspekty. To minimalizuje rizika, urychluje proces a zajišťuje vysokou kvalitu konečného výsledku.