Projektové řízení·Technologie· 4 min read

Překonávání problémů při vývoji projektu

Výzvy, kterým čelí projekt vývoje softwaru, jako je pomalá doba odezvy, nedodržování principů MVC a problémy s databází, a upozorňuje na řešení implementovaná k překonání těchto výzev, včetně refaktoringu kódu, optimalizace databáze a přijetí učícího se myšlení.

Překonávání problémů při vývoji projektu

Překonávání problémů v projektech vývoje softwaru

Převzetí nového projektu může být vzrušující, ale může být také skličující, pokud je projekt ve špatném stavu. Právě takové situaci čelil náš tým v roce 2020, když nám byl přidělen projekt, který zahájili dva italští programátoři. Projekt nefungoval správně a náš tým se při práci na jeho zlepšení setkal s několika problémy v projektech vývoje softwaru. V tomto článku se budeme zabývat výzvami, kterým jsme čelili, a řešeními, která jsme zavedli k jejich překonání, můžete si přečíst více o naší případové studii

Výzvy v projektech vývoje softwaru

Náš tým se při vývoji projektu setkal s několika hlavními výzvami, ale nejobtížnější z nich byla náprava pomalé doby odezvy. Tento problém souvisel s tím, že kód nebyl vytvořen podle správných zásad. Od začátku musel náš tým provést mnoho refaktorizací, aby projekt uvedl do použitelného stavu. Začali jsme transformací souborů CSS na soubory SCSS a jejich seskupením podle společných tříd a použití. Museli jsme také analyzovat kód a zjistit, proč je pomalý nebo vůbec nefunguje.

Během analýzy jsme zjistili, že databáze není v dobrém stavu. Nebyly vytvořeny téměř žádné indexy a přístup k ní z kódu byl špatně napsaný, se smyčkami, které měly další dotazy. Pro tyto problémy jsme museli zavést osvědčené postupy, abychom projekt dostali do použitelného stavu.

Dalším významným problémem bylo nedodržování principů MVC (Model-View-Controller) v projektu. To ztěžovalo testování kódu a bránilo efektivnímu vývoji. Navíc nebyly zavedeny žádné testy, které by zajistily stabilitu a spolehlivost projektu. Navíc jsme zjistili, že některé části kódu, jako například JavaScript, byly napsány způsobem, který se odchyloval od osvědčených postupů, což přispívalo ke složitosti.

Překonání problémů pomocí principů MVC

Abychom tyto výzvy vyřešili, zaměřili jsme se na restrukturalizaci kódové základny tak, aby odpovídala pevným principům v MVC. To zahrnovalo reorganizaci kódu s cílem oddělit různé komponenty a zlepšit testovatelnost. Přijetím pevných principů návrhu MVC jsme dosáhli modulárnější a udržovatelnější architektury. Zavedení těchto principů zvýšilo kvalitu kódové základny, zajistilo její robustnost a usnadnilo její budoucí rozšiřování a údržbu.

Překonávání problémů při vývoji projektu

                               
                           
                       
                           

Objevte náš úspěšný příběh

Inovativní řešení v oblasti zadávání zakázek


                               

                           

Analýza a optimalizace databáze

Při hlubším prozkoumávání projektu jsme si uvědomili, že databáze je ve špatném stavu. Nedostatečná indexace a neefektivní metody dotazování měly za následek pomalý výkon. Abychom tyto problémy v projektech vývoje softwaru vyřešili, provedli jsme důkladnou analýzu, abychom identifikovali úzká místa a oblasti pro zlepšení. Vytvořením vhodných indexů a optimalizací databázových dotazů jsme výrazně zvýšili odezvu projektu a zlepšili celkový uživatelský komfort.

Implementovaná řešení pro úspěch

Abychom tyto výzvy překonali, implementovali jsme řadu řešení. Začali jsme refaktorizací kódové základny tak, aby odpovídala pevným principům MVC. To zahrnovalo restrukturalizaci kódu s cílem zlepšit jeho organizaci a testovatelnost. Kromě toho jsme kladli velký důraz na důkladné testovací postupy, abychom zajistili stabilitu a spolehlivost kódu během celého procesu vývoje.

Při řešení problémů s databází jsme se zaměřili na optimalizaci jejího výkonu. Vytvořili jsme potřebné indexy a optimalizovali dotazy, což vedlo k výraznému zlepšení celkové rychlosti a efektivity projektu. Tato vylepšení nejen vyřešila stávající problémy, ale také položila základy pro budoucí škálovatelnost a efektivní vyhledávání dat.

Využití příležitosti k učení

Navzdory obtížím, se kterými se setkáváme
jsme projekt vnímali jako cennou příležitost k učení. Tím, že jsme se s problémy vypořádali přímo, jsme získali poznatky o osvědčených postupech a o důležitosti dodržování pevných zásad při vývoji softwaru. Zdokonalili jsme se v refaktorizaci, optimalizaci a implementaci efektivních architektonických vzorů, což nám bude přínosem v budoucích projektech.

Výsledky: Výsledky: Proměněný projekt

Po zavedení výše uvedených řešení prošel projekt pozoruhodnou proměnou. Stal se efektivnějším, citlivějším a snadněji udržovatelným. Také jsme se iniciativně rozhodli projekt předělat na moderní a široce rozšířenou technologii React, což dále zvýšilo výkon a zlepšilo zážitek z vývoje pro celý tým.

Závěr

Podniknout projekt vývoje softwaru ve špatných podmínkách představuje značnou výzvu. S vytrvalostí, odhodláním dodržovat osvědčené postupy a přístupem k řešení problémů však lze tyto výzvy překonat. V našem případě jsme překážky úspěšně překonali uplatněním zásad MVC, optimalizací databáze a přijetím učícího se myšlení. Úspěšná transformace projektu byla dokončena.

New Articles

New blog posts you may be interested in

Jak firmy ztrácí kontrolu: příliš nástrojů, příliš excelů, příliš verzí pravdy

Jak firmy ztrácí kontrolu: příliš nástrojů, příliš excelů, příliš verzí pravdy

Řešení na míruObchodní řešení a strategie
6 minut čtení

Mnoho firem si digitalizaci nepokazí tím, že by nic nedělaly. Naopak. Postupně nakoupí řadu nástrojů, z nichž každý řeší malou část jejich fungování. Jenže časem zjistí, že místo jednoho funkčního systému mají roztříštěné procesy, nedůvěryhodná data a lidi, kteří si pro jistotu vedou vlastní excelové tabulky bokem.

Číst dále
Jak propojit logistiku, finance a reporting do jednoho automatizovaného procesu

Jak propojit logistiku, finance a reporting do jednoho automatizovaného procesu

Řešení na míruObchodní řešení a strategie
11 minut čtení

Tímto článkem bychom rádi rozebrali situaci, se kterou jsme se v praxi již několikrát setkali. Netýká se samozřejmě v určitých ohledech jen logistických společnosti, ale pro dnešek to využijeme jako příklad.

Číst dále
Praktický obchodní a technický průvodce pro 2D a 3D konfigurátory

Praktický obchodní a technický průvodce pro 2D a 3D konfigurátory

Průvodci a kontrolní seznamyTechnologie
17 minut čtení

V tomto článku Jakub Bily sdílí praktický přístup k výběru správného konfigurátoru. Vysvětluje, kdy dává smysl 2D řešení, kdy je vhodnější 3D a kdy má smysl přidat AR (augmentovanou realitu) jako doplněk. Popisuje také, co má obvykle největší vliv na rozpočet vývoje a jak může integrace s e-commerce platformou nebo výrobními systémy změnit celý prodejní proces. Článek se krátce dotýká i technické stránky tvorby 3D konfigurátoru, včetně napojení na stávající systémy. To vše vycházející z reálných zkušeností z praxe.

Číst dále

Read also

Recommended reads for You

Jak firmy ztrácí kontrolu: příliš nástrojů, příliš excelů, příliš verzí pravdy

Jak firmy ztrácí kontrolu: příliš nástrojů, příliš excelů, příliš verzí pravdy

Řešení na míruObchodní řešení a strategie
6 minut čtení

Mnoho firem si digitalizaci nepokazí tím, že by nic nedělaly. Naopak. Postupně nakoupí řadu nástrojů, z nichž každý řeší malou část jejich fungování. Jenže časem zjistí, že místo jednoho funkčního systému mají roztříštěné procesy, nedůvěryhodná data a lidi, kteří si pro jistotu vedou vlastní excelové tabulky bokem.

Číst dále
Postavte si správný hotelový software a AI CRM systém, který vám bude vyhovovat

Postavte si správný hotelový software a AI CRM systém, který vám bude vyhovovat

Projektové řízeníAI
7 minut čtení

Užitečné postřehy od naší projektové manažerky Hsinyu Ko pro hotely, které chtějí lepší software, jenž skutečně odpovídá jejich způsobu práce. Vycházejí z našich zkušeností se softwarovými projekty.

Číst dále
Proč je konverzační AI budoucností hlasové podpory

Proč je konverzační AI budoucností hlasové podpory

TechnologieAI
12 minut čtení

Většina „AI“ chatbotů v call centrech pouze následuje předem daný scénář. Když zákazník položí nečekanou otázku, systém často selže. V Moravio však vyvíjíme chytré hlasové asistenty, kteří skutečně rozumí lidem, zvládnou i složité dotazy a odpovídají přirozeně – jako člověk. Tím pomáháme firmám šetřit čas, peníze i reputaci při vyřizování rutinních hovorů. Zákazníci získají rychlou a přirozenou podporu kdykoli, zatímco týmy se mohou soustředit na důležitější úkoly.

Číst dále
Jakub Bílý

Jakub Bílý

Vedoucí obchodního rozvoje

Pojďme společně k výsledkům!

Vyplňte formulář a odpovíme vám do 8 pracovních hodin.
Rádi odpovíme na všechny vaše otázky!
Analyzujeme váš projekt a probereme detaily.

Napište nám