Kumaha Maca sareng Ngalereskeun 100,000 Baris Kode dina Saminggu

Kumaha Maca sareng Ngalereskeun 100,000 Baris Kode dina Saminggu
Dina awalna sok hese ngartos proyek badag tur heubeul. Arsitéktur mangrupa salah sahiji kagiatan penilaian arsiték. Biasana anjeun kudu digawekeun ku badag, proyék heubeul, sarta hasilna kudu dikirimkeun dina saminggu.

Kumaha meunteun proyék 100k atanapi langkung garis kode dina saminggu bari tetep masihan hasil anu leres-leres mangpaat pikeun klien.

Kaseueuran arsiték sareng pamimpin téknis parantos ngalaman penilaian proyék anu sami. Ieu sigana sapertos prosés semi-formal atanapi salaku palayanan anu misah sapertos anu dilakukeun di perusahaan kami, hiji cara atanapi anu sanés seueur anjeun parantos ngurus ieu.

Aslina dina basa Inggris pikeun réréncangan anjeun anu henteu nyarios basa Rusia aya di dieu: Penilaian Arsitéktur dina saminggu.

pendekatan parusahaan urang

Kuring gé ngabejaan Anjeun kumaha gawéna di parusahaan urang jeung kumaha kuring meta dina situasi sarupa, tapi anjeun bisa kalayan gampang ngarobah pendekatan ieu nurutkeun pangabutuh proyék anjeun sarta parusahaan.

Aya dua jinis penilaian arsitéktur.

Interior - urang biasana ngalakukeun pikeun proyék-proyék dina perusahaan. Sakur proyék tiasa nyuhunkeun penilaian arsitéktur kusabab sababaraha alesan:

  1. Tim nu nyangka proyék maranéhanana sampurna jeung ieu curiga. Kami ngagaduhan kasus sapertos kitu, sareng sering dina proyék sapertos kitu sadayana jauh tina idéal.
  2. Tim éta hoyong nguji proyék sareng solusina.
  3. Tim terang hal-hal anu goréng. Aranjeunna malah tiasa daptar masalah utama sareng panyabab, tapi hoyong daptar lengkep masalah sareng saran pikeun ningkatkeun proyék.

Éksternal nyaéta prosés anu leuwih formal tibatan penilaian internal. Klién salawasna datang ngan dina hiji hal, nalika sagalana goréng - pisan goréng. Biasana klien ngartos yen aya masalah global, tapi teu bisa neuleu ngaidentipikasi sabab na ngarecahna kana komponén.

Evaluating hiji arsitéktur pikeun klien éksternal mangrupakeun hal nu leuwih kompleks. Prosésna kedah langkung formal. Proyék sok ageung sareng lami. Aranjeunna gaduh seueur masalah, bug sareng kode bengkok. Laporan ngeunaan karya anu dilakukeun kedah siap dina sababaraha minggu maksimal, anu kedah kalebet masalah utama sareng saran pikeun perbaikan. Ku alatan éta, lamun urang nungkulan assessment éksternal proyék, lajeng assessment internal bakal sapotong jajan. Hayu urang nganggap kasus paling hese.

Penilaian arsitéktur proyék perusahaan

Hiji proyék has pikeun evaluate mangrupakeun badag, heubeul, proyék perusahaan kalawan loba masalah. A klien datang ka kami sarta miwarang urang pikeun ngalereskeun proyék-Na. Éta sapertos gunung es, klien ngan ukur ningali ujung masalahna sareng henteu terang naon anu aya di handapeun cai (dina jero kode).

Masalah anu tiasa dikeluhkeun ku nasabah sareng tiasa disadari:

  • Isu kinerja
  • Masalah usability
  • Panyebaran jangka panjang
  • Kurangna unit sareng tés anu sanés

Masalah anu paling dipikaresep ku klien henteu sadar, tapi tiasa aya dina proyék:

  • Masalah kaamanan
  • Masalah desain
  • arsitéktur salah
  • Kasalahan algoritma
  • Téknologi anu teu pantes
  • hutang teknis
  • Prosés pangwangunan salah

prosés review arsitéktur formal

Ieu mangrupikeun prosés formal anu urang tuturkeun salaku perusahaan, tapi anjeun tiasa nyaluyukeunana gumantung kana perusahaan sareng proyék anjeun.

Paménta ti klien

Klién naroskeun pikeun ngévaluasi arsitéktur proyék ayeuna. Jalma anu tanggung jawab di sisi kami ngumpulkeun inpormasi dasar ngeunaan proyék sareng milih para ahli anu diperyogikeun. Gumantung kana proyék, ieu bisa jadi ahli béda.

Arsitéktur Solusi – jalma utama jawab assessment jeung koordinasi (jeung mindeng ngan hiji).
Tumpukan ahli husus – .Net, Java, Python, jeung spesialis téknis séjén gumantung kana proyék jeung téknologi
ahli awan - ieu tiasa janten arsiték awan Azure, GCP atanapi AWS.
infrastruktur - DevOps, Administrator sistem, jsb.
ahli séjén - sapertos data ageung, pembelajaran mesin, insinyur kinerja, ahli kaamanan, kalungguhan QA.

Ngumpulkeun informasi ngeunaan proyék

Anjeun kedah ngumpulkeun saloba inpormasi ngeunaan proyék éta. Anjeun tiasa nganggo téknik anu béda-béda gumantung kana kaayaan:

  • Angkét sareng metode komunikasi anu sanés ngalangkungan surat. Cara anu paling henteu efektif.
  • Rapat online.
  • Alat khusus pikeun tukeur inpormasi sapertos: Google doc, Confluence, repositories, jsb.
  • Rapat "Live" dina situs. Cara anu paling efektif sareng paling mahal.

Naon anu anjeun kedah kéngingkeun ti klien?

Inpo dasar. Naon proyek ngeunaan? Tujuan jeung ajénna. Tujuan utama sareng rencana pikeun masa depan. Tujuan sareng strategi bisnis. Masalah utama sareng hasil anu dipikahoyong.

Inpo proyék. Téknologi tumpukan, kerangka, basa pamrograman. Panyebaran di premis atanapi awan. Upami proyékna aya dina méga, jasa naon anu dianggo. Naon pola arsitéktur sareng desain anu dianggo.

Syarat non-fungsi. Sadaya syarat anu aya hubunganana sareng kinerja, kasadiaan, sareng betah panggunaan sistem. Syarat kaamanan, jsb.

Kasus pamakean dasar sareng aliran data.

Aksés ka kode sumber. Bagian pangpentingna! Anjeun pasti kudu meunang aksés ka repositories jeung dokuméntasi ngeunaan kumaha carana ngawangun proyék.

Aksés ka infrastruktur. Éta hadé pikeun ngagaduhan aksés kana panggung atanapi infrastruktur produksi pikeun damel sareng sistem langsung. Kasuksésan anu saé upami klien gaduh alat pikeun ngawaskeun infrastruktur sareng kinerja. Urang bakal ngobrol ngeunaan alat ieu dina bagian salajengna.

Dokuméntasi. Upami klien gaduh dokuméntasi ieu mangrupikeun awal anu saé. Ieu bisa jadi tinggaleun jaman, tapi masih mangrupa mimiti alus. Pernah percanten kana dokuméntasi - uji sareng klien, dina infrastruktur nyata sareng dina kode sumber.

Prosés Evaluasi Arsitéktur

Kumaha hiji tiasa ngolah sajumlah ageung inpormasi dina waktos anu pondok? Anu mimiti, parallelize karya.

DevOps kedah ningal infrastruktur. Tech ngarah kana kode. Insinyur kinerja pikeun ningali métrik kinerja. Spesialis database kedah ngagali langkung jero kana struktur data.

Tapi ieu mangrupikeun kasus anu idéal nalika anjeun gaduh seueur sumber. Ilaharna, hiji nepi ka tilu urang evaluate proyek. Anjeun malah tiasa ngalaksanakeun perkiraan sorangan, anu sering kajadian upami anjeun gaduh pangaweruh sareng pangalaman anu leres dina sagala widang proyék. Dina hal ieu, anjeun kedah ngajadikeun otomatis sadaya prosés saloba mungkin.

Hanjakalna, anjeun kedah maca dokuméntasi sacara manual. Kalayan jumlah pangalaman anu pas, anjeun tiasa gancang ngartos kualitas dokuméntasi. Naon anu leres sareng anu jelas henteu saluyu sareng kanyataan. Kadang anjeun tiasa ningali arsitéktur dina dokuméntasi anu moal tiasa dianggo dina kahirupan nyata. Ieu mangrupikeun pemicu pikeun anjeun mikir ngeunaan kumaha éta dilakukeun dina kanyataan dina proyék éta.

Alat anu gunana pikeun ngajadikeun otomatis évaluasi proyék

Evaluasi kode mangrupikeun latihan anu sederhana. Anjeun tiasa nganggo analisa kode statik anu bakal nunjukkeun anjeun masalah desain, kinerja, sareng kaamanan. Ieu sababaraha di antarana:

Struktur 101 mangrupakeun alat hébat pikeun arsiték. Éta bakal nunjukkeun anjeun gambaran anu ageung, katergantungan antara modul sareng daérah poténsial pikeun refactoring. Sapertos sadaya alat anu saé, hargana lumayan, tapi anjeun tiasa ngamangpaatkeun versi percobaan 30 dinten.

soundQube - alat heubeul alus. Alat pikeun analisis kode statik. Ngidinan anjeun pikeun ngaidentipikasi kodeu goréng, bug, sareng masalah kaamanan pikeun langkung ti 20 basa pamrograman.

Sadaya panyadia awan gaduh alat ngawaskeun infrastruktur. Ieu bakal ngamungkinkeun anjeun leres-leres ngevaluasi efektivitas infrastruktur anjeun tina segi biaya sareng kinerja. Pikeun AWS ieu panaséhat dipercaya. Ieu gampang pikeun Azure Azure panaséhat.

Ngawaskeun kinerja tambahan sareng logging bakal ngabantosan mendakan masalah kinerja di sadaya tingkatan. Dimimitian ti database kalawan queries teu epektip, backend jeung tungtung frontend. Sanaos klien henteu acan masang alat-alat ieu sateuacana, anjeun tiasa ngahijikeunana kana sistem anu tos aya cukup gancang pikeun ngaidentipikasi masalah kinerja.

Sakumaha biasa, alat-alat anu saé ogé patut. Abdi tiasa nyarankeun sababaraha alat anu mayar. Tangtosna anjeun tiasa nganggo open-source tapi bakal nyandak anjeun langkung waktos. Sarta ieu kudu dipigawé upfront, teu salila prosés assessment arsitéktur.

anyar Relic - alat pikeun meunteun kinerja aplikasi
datadog - jasa ngawaskeun sistem awan

Aya seueur alat anu sayogi pikeun nguji kaamanan. Waktos ieu kuring bakal nyarankeun anjeun alat panyeken sistem gratis.

OWASP ZAP – alat pikeun nyeken aplikasi wéb pikeun minuhan standar kaamanan.

Hayu urang kumpulkeun sadayana janten hiji.

Nyiapkeun laporan

Mimitian laporan anjeun sareng data anu anjeun kumpulkeun ti klien. Ngajelaskeun tujuan proyék, konstrain, sarat non-fungsi. Saatos ieu, sadaya data input kedah disebatkeun: kode sumber, dokuméntasi, infrastruktur.

Lengkah saterusna. Daptar masalah anu anjeun mendakan sacara manual atanapi nganggo alat otomatis. Teundeun laporan badag otomatis dihasilkeun dina tungtung dina bagian aplikasi. Kudu aya bukti pondok tur ringkes tina masalah kapanggih.
Prioritaskeun masalah anu aya dina kasalahan, peringatan, skala inpormasi. Anjeun tiasa milih skala anjeun nyalira, tapi ieu anu ditarima sacara umum.

Salaku arsiték leres, éta tanggung jawab anjeun pikeun masihan saran pikeun ngabenerkeun masalah anu kapanggih. Ngajelaskeun perbaikan sarta nilai bisnis customer bakal nampa. Kumaha carana némbongkeun nilai bisnis ti refactoring arsitéktur urang bahas tadi.

Nyiapkeun peta jalan kalawan iterasi leutik. Unggal Iteration kedah ngandung waktu pikeun ngalengkepan, pedaran, jumlah sumberdaya diperlukeun pikeun perbaikan, nilai teknis na nilai bisnis.

Urang ngalengkepan assessment arsitéktur sarta nyadiakeun klien kalawan laporan

Pernah ngan ukur ngirim laporan. Bisa jadi teu dibaca pisan, atawa bisa jadi teu dibaca tur dipikaharti tanpa katerangan ditangtoskeun. Pondokna, komunikasi langsung mantuan ngaleungitkeun salah paham antara jalma. Anjeun kedah ngajadwalkeun rapat sareng klien sareng ngobrolkeun masalah anu dipendakan, fokus kana anu paling penting. Éta patut narik perhatian klien kana masalah anu anjeunna henteu sadar. Sapertos masalah kaamanan sareng ngajelaskeun kumaha aranjeunna tiasa mangaruhan bisnis. Tampilkeun peta jalan anjeun kalayan perbaikan sareng bahas pilihan anu béda anu langkung cocog pikeun klien. Ieu tiasa waktos, sumberdaya, jumlah karya.

Salaku kasimpulan rapat anjeun, kirimkeun laporan anjeun ka klien.

dina kacindekan

Évaluasi arsitéktur mangrupikeun prosés anu rumit. Pikeun ngalaksanakeun penilaian anu leres anjeun kedah gaduh pangalaman sareng pangaweruh anu cukup.

Kasebut nyaéta dimungkinkeun pikeun nyayogikeun klien hasil anu mangpaat pikeun anjeunna sareng usahana dina ngan saminggu. Sanajan anjeun ngalakukeun eta nyalira.

Dumasar pangalaman abdi, loba perbaikan anu diundeur di tengah, sarta kadangkala pernah dimimitian. Jalma anu milih hartosna emas pikeun dirina sareng ngan ukur bagian tina perbaikan anu paling kapaké pikeun usaha kalayan biaya tenaga kerja minimal sacara signifikan ningkatkeun kualitas produkna. Jalma anu teu ngalakukeun nanaon bisa nutup proyék sakabéhna sanggeus sababaraha taun.

Tujuanana anjeun pikeun nunjukkeun ka klien perbaikan maksimal pikeun harga minimum.

Artikel séjén tina bagian gawena undagi anjeun tiasa maca dina luang anjeun.

Kuring miharep anjeun kode beresih jeung kaputusan arsitéktur alus.

Grup facebook kami - Arsitéktur Software sarta Pangwangunan.

sumber: www.habr.com

Tambahkeun komentar