Rəqəmsal məhsullara qarşı elektron məhsulların dizaynı və inkişafı

Həm fiziki məhsulların, həm də rəqəmsal məhsulların inkişafını inkişaf etdirmək və idarə etmək şansım oldu. Hər ikisinə olan sevgi və ehtirasları bölüşdükcə fikirlərini və inkişaf prosesləri arasındakı fərqlər və oxşarlıqlar barədə bəzi müşahidələrimi təqdim etməyi düşündüm.

Bir məhsulun mənası nədir ...

Bir məhsul nədir? İstehsal olunan və satılan və ya istifadəçilər üçün dəyər yaradan bir şey? Birinci tərif yalnız fiziki məhsullara aiddir və məhsullarla nə etdiyimizi və onları necə qurduğumuzu əks etdirir. İkinci tərif daha açıq və müasirdir və niyə məhsullara ehtiyacımızı əks etdirir. Fiziki məhsullar maddi; istifadəçilər onlara toxuna, onları görə, qoxuya və hiss edə bilərlər. Hamımız nəhəng fabriklərin videolarını görmüşük və bunların istehsalının nə qədər bahalı və mürəkkəb olduğunu başa düşə bilərik. Rəqəmsal məhsullar buludda və ya uzaq məlumat mərkəzlərində yaşayır. Onların ölçüsünü, mürəkkəbliyini və birinin qurulmasının nə demək olduğunu başa düşmək daha çətindir. Məsələn, Google Axtarışın ön hissəsinə baxsaq, yalnız bir axtarış xəttini görə bilərik, ancaq səhnənin arxasında, arxa tərəfində yüz minlərlə server və milyardlarla sətir kod çalışır.

Proqram tərtibatçıları rəqəmsal məhsullar qurmağa başlayanda, təxminən 25 il əvvəl, fiziki məhsullar istehsalında istifadə olunan oxşar proses və vasitələrdən istifadə etdilər. Layihənin idarə edilməsi üçün ən çox sübut edilmiş proses, o dövrdə layihə dövrü ərzində mükəmməlliyə zəmanət verdiyi üçün Şəlalə idi. Rəqəmsal layihə menecerləri daha çox təcrübə qazandıqları və layihələrin demək olar ki, yarısında uğursuz olduqları üçün dəyişikliyə ehtiyac olduqlarını başa düşdülər. Öz alətlərini yaratmağa başladılar və misilsiz qeyri-ənənəvi prosesləri ilə tanış oldular. 2001 ətrafında, daha çox komanda Scrum və Kanban istifadə etməyə başladı və çevik manifest ortaya çıxdı. Git, açıq mənbəli layihələrin əsasını qoyan Linus Torvalds tərəfindən 2005-ci ildə yaradılmışdır. Bəlkə rəqəmsal məhsulların təkmilləşdirilməsi üçün çeviklik qədər vacib deyil. Bu gün, 25 il sonra hər iki məhsul komandasının inkişaf prosesləri, vasitələri və mədəniyyətləri bir-birindən çox uzaqdır.

Son beş il ərzində elektronikanı fiziki məhsullara daxil etmək və onları internetə bir növ tətbiq etmək - İOT (əşyaların interneti) adlanan bir tendensiyaya bağlamaq olduqca asan və ucuz oldu. Bunun üçün son zamanlarda çox yeni İOT məhsulunun ortaya çıxdığını, bəzilərinin olduqca əyləncəli olduğunu izah edən bir məhsulun başına 2 dollara başa gəlir ... Məhsul komandası səviyyəsində bu tendensiya iki növ mədəniyyət, iki növ proses və bir araya gətirir. iki növ alət. Hər iki mədəniyyətin toqquşduğu zaman maraqlı şeylər baş verməyə başlayır. Açıq mənbə aparatları indi hamımızın ətrafındadır və bəzi insanlar özlərini istehsalçı adlandırmağa başladılar. Bir istehsalçı ilə istehsalçı arasındakı fərq nədir? Bu proseslər arasında bir yaxınlaşma görəcəyikmi? yoxsa CTOs və IOT məhsul menecerləri olaraq bu mədəniyyətlər arasında əbədi körpü salmaq üçün məhkum olduq?

Ümid edirəm bu bloqu həm maraqlı, həm də faydalı hesab edirsiniz və bu, yığındakı bütün inkişaf edənlərə bir-birlərinin problemlərini anlamağa kömək edəcəkdir.

Rollar və bacarıqlar

Proqram təminatçılarının tam proqram yığını hazırlaması üçün son bir tendensiya var. Bu o deməkdir ki, onlar həm geri kodunu, həm də serverdə / buludda işləyən kod və ön kod: cihazda işləyən kod hazırlayırlar. Hətta DevOps rolunu da ala bilərlər: sistemin qurulması, konfiqurasiyası, təmin edilməsi və sonra dəyişiklik prosesinin avtomatlaşdırılması üçün məsul olan mühəndislər. Bir nəfərin sadə bir rəqəmsal tətbiq və ya oyun qurub işə salması mümkün deyil. Bununla birlikdə, adətən həm elektron cihazı, həm də bir növ tətbiqetməni əhatə edən IOT məhsullarına baxarkən texnoloji qrup daha çox bacarıq və rol tələb edir.

Quraşdırılmış inkişaf etdiricilər cihazda işləyən kod üçün məsuliyyət daşıyırlar və lövhə dizaynerləri elektron lövhənin hazırlanmasına cavabdehdirlər.

Baxmayaraq ki, bu gün Espruino köməyi ilə Javascript tərtibatçıları kodun hər üç səviyyəsini nəzəri olaraq inkişaf etdirə bilər: ön kod, geri kod və əlaqədar kod, bəlkə də tamamilə fərqli bacarıq tələb edən sənaye və lövhə dizaynı ilə mübarizə aparacaqlar. Bütün ticarətlərin bir hissəsi olan və CSS dərslərini dəyişdirməkdən verilənlər bazaları üçün miqrasiya skriptlərini yazmağa qədər sürətlə hərəkət edə biləcək istedadlı inkişaf etdiriciləri gördüm. Şəxsən mən düşünürəm ki, peşəkar tərtibatçılar istənilən vaxt istənilən vaxt yalnız bir təbəqədə mənimsəməlidirlər. Yalnız ən yaxşı bacarıq və texnikaya sahib olmaq və ya tələb olunan funksionallığı həyata keçirmək deyil, həm də işinizi nəyin qayğısına qalmağınızla əlaqəlidir.

Komandadakı hər rolun məsuliyyətini təsvir etməyə çalışdım. Təhlükəli əraziyə girdiyimi başa düşürəm, çünki müxtəlif komandalarda rollar bir az dəyişə bilər, buna görə ağacları yox, meşəni görməyə çalışın.

Niyə bir insan bütün bunlara əhəmiyyət verə bilməz? Məhsul inkişafında ticarət və qarşıdurmalar var və hər ehtiyacı balanslı və simmetrik bir şəkildə təmsil etmək istəyirsən.

İllər boyu fərqli tərtibatçılar arasında hörmət görmüşəm, eyni zamanda bilik çatışmazlığı. Girişin asan olduğunu düşünən və ön hissənin darıxdırıcı olduğunu düşünən arxa plan tərtibatçılarını gördüm. Mən də REST nə olduğunu bilməyən əlaqədar inkişaf etdiriciləri görmüşəm. Daha əvvəl qeyd etdim ki, peşəkar inkişaf etdiricilərin və mühəndislərin birdən çox təbəqəni mənimsəməsinə inanmıram. Ancaq mən inanıram ki, bunlar nə demək olduğunu bilməlidirlər və bəlkə də bir addım daha irəli gedərək müxtəlif problem və proseslərə məruz qalacaq sadə bir layihə üzərində işləməlidirlər. Geniş biliklər komanda üzvləri arasında ünsiyyət, hörmət və şəffaflığın yaxşılaşdırılmasına kömək edə bilər, eyni zamanda bütövlükdə komandanın yaradıcılıq və məhsuldarlığını artıracaqdır.

Layihənin idarə olunması

Bir layihə ilə məhsul arasındakı fərq nədir? Bir layihə, müəyyən bir müddət və resurs məhdudluğu çərçivəsində müəyyən bir məqsədə və ya əhatəyə çatmaq üçün bir plandır. Bir layihənin başlanğıcı və sonu var. Bir layihə sonu yoxdursa, ehtimal ki, bir layihəni idarə etmirsiniz. Layihə başa çatdıqda məhsul yaşamağa davam edir.

Risk təhlili: Fiziki məhsulun layihə idarəetmə ilə rəqəmsal məhsul arasındakı fərqləri və oxşarlıqları müzakirə edək. Şəxsən mən layihə rəhbərliyini daima üst riskləri müəyyənləşdirdiyim və onları minimuma endirmək üçün bir plan hazırlamağa çalışdığım bir riskli bir proses olaraq düşünməyi sevirəm. Layihə riskləri, layihənin müvəffəqiyyətinə təsir edən bir şeydir, yəni hədəfə, müddətə, həcmə, maliyyəyə və ya məhsulların son keyfiyyətinə cavab vermir. Rəqəmsal məhsullar üçün ən böyük risklərdən biri istifadəçilərə ehtiyac olmayan və ya bəyənməyən bir məhsul yaratmaqdır. Rəqəmsal məhsul menecerləri təsəvvür edir, inanırlar, fərziyyə edirlər və yaxşı bir hekayə söyləyirlər, lakin istifadəçilər məhsulla qarşılıqlı əlaqə qurmağa başlayana qədər bu yalnız fərziyyələrdir. Fərziyyəni sınamaq üçün məhsul rəhbərləri sürətli gəmi verməli, fərziyyələrini sınamalı və çevik olmalıdırlar. Fiziki məhsullar üçün ən böyük risk yüz minlərlə və minlərlə məhsulun artıq istehsal edildikdən sonra çox gec mərhələdə düzəlməz bir problem tapmaqdır. İstehsalat mükəmməlliyi tələb edir və onsuz layihə uğursuz olacaq. Bu riski azaltmaq üçün fiziki layihə menecerləri Şəlalə adlanan mərhələlər arasında nəzərdən keçirmə və imzalanma prosesi qururlar.

Hər metod fərqli riskləri azaltmaq üçün hazırlanmışdır və hər bir layihə meneceri risk təhlili əsasında layihə planı barədə qərar verməlidir. Bəzən fərdlər və qarşılıqlı münasibətlər proseslərdən və vasitələrdən daha vacibdir, bəzən isə proseslər daha vacibdir. Bəzən işləyən proqram sənədlərdən daha vacibdir, bəzən sənədləşmə daha vacibdir. Bəzən müştəri ilə əməkdaşlıq yazılı müqavilədən daha vacibdir. Və bəzən yazılı bir müqavilə şirkətinizi xilas edə bilər. Bəzən dəyişikliyə cavab vermək vacibdir, amma bəzən bir plana əməl etmək daha vacibdir. Nə demək istədiyimi alırsan.

Alətlər və komanda mərasimləri: Layihə rəhbərləri layihələri idarə etmək istədikləri prosesi həyata keçirən vasitələrdən istifadə etməlidirlər. Microsoft Project şəlalə layihələri üçün əla bir vasitədir. JIRA və Trello, Kanban və Scrum kimi çevik layihələr və dəstəkləmə prosesləri üçün əla bir vasitədir. Alət nə olursa olsun, yalnız bir vasitədir və mahiyyəti deyil. Komandalar da fərqli mərasimlər keçirirlər. Şəlalədə, komandalar hər payızdan əvvəl görüşürlər və sənədləri, CAD-lıq nəticələr və ya test spesifikasiyalarını nəzərdən keçirirlər. Çevik komanda gündəlik hazırlıq üçün və hər iki həftədə sprint planlaşdırması üçün hər gün görüşə bilər. Bu mərasimlər komanda üzvlərini plan üzrə uyğunlaşdırır və komanda üzvləri arasında ünsiyyəti inkişaf etdirir.

Dizayn və prototipləmə

Dizayn: Bu gün dizaynın uğur qazanmasında böyük rol oynamadığı bir məhsul varmı? Satmaq istədiyimiz bir şey olmasa bir məhsul nədir? Fəxr edə biləcəyimiz cəlbedici və estetik bir şey. Doğru işləmə və performansın kifayət qədər yaxşı olduğu günlər getdi. Elektron məhsullar üçün sənaye dizaynı yalnız insanın qarşılıqlı əlaqəsini, istifadəsini və müştəri təcrübəsini deyil, məhsulun istifadə olunduğu ətraf mühit şərtlərini və istehsal prosesini də nəzərə almalıdır (DFM: istehsal üçün dizayn). Rəqəmsal məhsullar üçün dizayn eyni zamanda proqramın işləyə biləcəyi müxtəlif cihazlara (mobil, masaüstü, böyük ekranlar) və bütün növ rollarda və onlarla əlaqəli istifadəçilərə də müraciət etməlidir.

Dizayn metodologiyasının müxtəlif növləri müxtəlif məhsullara tətbiq olunur: Təcrübə dizaynı məhsulu, yəni yaratmaq istədiyimiz xoş bir təcrübənin bir hissəsi kimi baxır. "Biz bir oyun satmırıq, bir saatlıq ailə təcrübəmizi satırıq". Xidmət dizaynı məhsulu bir xidmət təminatçısı və istifadəçi arasında sona çatan bir xidmət hissəsi olaraq görəcəkdir. "Hədəfinizə çatana qədər səyahət etmək qərarına gəldiyiniz andan etibarən", "Təhlükəsizlik kamerası satmırıq, 24/7 qorunması ilə satırıq".

Prototipləmə: 3D printerlərin və VR / AR texnologiyasının köməyi ilə fiziki məhsulunuzun mexaniki prototipini hazırlamaq olduqca asandır. Bunu müştərilərinizə göstərə, bir neçə etiket qoya, bəzi tellər və LED-ləri birləşdirə bilərsiniz, onlar dərhal məqsədlərini başa düşəcəklər və məhsulunuzun hazır və kommersiya olduğuna inandıra bilərsiniz. Həqiqi mühitdə yerləşdirə bilərsiniz və mexaniki olaraq uyğun olub olmadığını və tutmağın asan olub olmadığını görə bilərsiniz. On versiya hazırlaya və onların arasında müqayisə edə və son konfiqurasiya barədə qərar verə bilərsiniz. Müştərilərinizə və investorlara əllərində tutacaq bir şey verməkdən daha güclü bir şey yoxdur. İnsanlar oyuncaqlar və maddi şeyləri sevirlər və mexaniki dizayn bəzən inkişaf vaxtı baxımından son məhsulun yalnız 1% olmasına baxmayaraq, insanlar bunun 80% -nin artıq başa çatdığına inanacaqlar. Proqram prototipləri ilə bu səviyyəyə çatmaq asan deyil. Sketch və InVision əla vasitələrdir, lakin istifadəçilər bunun əsl məhsul olmadığını dərhal başa düşürlər. Məlumatlar statikdir və onların qarşılıqlı əlaqəsi ona heç bir təsir göstərmir. Bu rəqəmsal məhsul rəhbərlərinin çevik yanaşma və MVP konsepsiyasını qəbul etməsinin səbəblərindən biridir. İstifadəçilər hazır olduqdan əvvəl məhsulunuzun necə qarşılıqlı əlaqədə olacağını və sevəcəyini təsəvvür etmək çox çətindir, belə ki, mümkün qədər tez göndərmək və real rəy toplamağa başlamaq istəyirsiniz.

Fiziki və Rəqəmsal Prototip

İnkişaf

Erkən qərarlar ən çox təsir edir: Hər dəfə yeni bir layihəyə başlayanda həyəcanlanıram. Düzgün memarlıq nədir? bunun üçün hansı texnologiya ən uyğun olacaq? 8 bit MCU və ya 32 bit bir CPU seçməliyik? Bu GraphQL təqdim etmək üçün yaxşı bir layihədir və ya yenidən REST-lə qalacağıq? Hansı simsiz texnologiya istifadə vəziyyətinə ən uyğun gəlir: Bluetooth 5 və ya Narrowband IOT? Düzgün məlumat bazası nədir? PostgreSQL və ya bəlkə bu dəfə bir verilənlər bazası? Bu qərarlar layihənin uğuru üçün o qədər vacibdir. Bəzən texniki təhlil etmədən çox sürətli texniki qərarlar qəbul edirik və üç ay sonra peşman oluruq, onları dəyişdirmək çox çətin və ağrılı olur və texnoloji investisiyalara bir maneə kimi deyil, aktiv kimi baxmaq daha asandır. Bu həm elektron məhsullar, həm də rəqəmsal məhsullar üçün doğrudur, məhsullarınızı müştərilərinizə göndərdikdən sonra prosessor tipini dəyişdirmək utandırıcı deyilsə demək olar ki, mümkün olmayan bir işdir.

Erkən qərarlar ən çox təsir göstərir

İnkişaf: Elektron məhsulların və rəqəmsal məhsulların inkişaf prosesi arasında bir çox fərq var və oxşarlıqlar yoxdur. Bir PCB lövhəsi üçün inkişaf vaxtının çoxu düzgün komponentlərin seçilməsinə və düzenin dizaynına daxil olur. Bəzi işlər sırf texniki olaraq, U1 pin 120-dən komponenti U17 pin 12-ə qədər birləşdirən tellərdir. Bəzi tapşırıqların hər birinin səs-küyünü və güc istehlakını ölçmək üçün üç növ sensorun tam prototiplənməsi tələb olunur. Gelişmiş inkişafın diskussiya edilməsi və optimallaşdırılması çox çətindir, bir funksiyanın çağırıldığını və işləməyə nə qədər vaxt lazım olduğunu ölçmək üçün GPIO sancaqlarını istifadə edərək quraşdırılmış inkişaf etdiriciləri görmək çox yaygındır. Elektron məhsulunuzda FPGA istifadə cəsarətli bir qərardır, lakin bəzən performans / xərc məqsədlərinizə çatmaq üçün yeganə həll yoludur. FPGA inkişafı tamamilə fərqli bir ərazidir və ASIC inkişafı, PCB board inkişafı və əlaqədar inkişaf arasındadır. Proqram tərtibatçıları üçün, vaxtın çoxu… kodu yazmağa yatırılır. Gündəlik işinizə baxmağınızda çox məmnun bir şey var, bütün bu sətir kodları, kod tapşırıqları və tələbləri çəkir. Bu kifayət qədər sadə səslənir, lakin kod və dəyişikliklərin miqdarı çox böyükdür, buna görə kod bazasının tənzimlənməsi, texniki borcun azaldılması və komanda daxilində biliklərin artırılması üçün düzgün bir konfiqurasiya rəhbərliyi və baxış prosesi vacibdir.

Alqoritmlər, Fizika və Məlumat Elmləri: bu ümumiyyətlə məhsulların beynidir, şirkətlər öz IP-nin olduğunu iddia edirlər. İdarə heyəti dizaynerləri sensorlar seçmək, ətraflarında AFE (analoq cəbhə) dizayn etmək və ya dizayn etmək üçün fiziklərlə işləyirlər. xüsusi anten. Daxil olan inkişaf etdiricilər siqnalları süzgəcdən keçirmək, nümunələri aşkar etmək və ya məlumatları emal / kodlaşdırmaq üçün bəzi optimallaşdırılmış riyazi düsturu tətbiq etmək üçün proqramlarına real vaxt DSP alqoritmlərini tətbiq etmək üçün DSP mühəndisləri və riyaziyyatçıları ilə işləyirlər. Real vaxt vaxtı müəyyən bir miqdarda CPU dövrü ərzində işləməyi başa çatdırmağınız deməkdir, əks halda növbəti siqnalı emal etməyə hazırlaşmayacaqsınız və onu qaçıracaqsınız və ya tələb olunan gecikmə içində hadisələr çıxara bilməyəcəksiniz. Geri inkişaf etdiricilər yeni məhsullar tövsiyə etmək, anomaliyaları tapmaq, dostlar təklif etmək, dərin bir öyrənmə modeli hazırlamaq, mətn analiz etmək üçün NLP-dən istifadə etmək, veb səhifələrini və s. Öyrənmək üçün toplu proseslərini həyata keçirmək üçün məlumat alimləri ilə işləyirlər. Məlumatların vizuallaşdırılması ilə məşğuldurlar. D3JS kimi kitabxana ilə vizual görüntülər yaradır və məlumatları istifadəçilərə faydalı və məcmu şəkildə təqdim edir.

Yığınca bu insanlar səs-küyün azaldılması, siqnalların yaxşılaşdırılması və səhv aşkarlama (yalnış mənfi) və yalan siqnalizasiya (yalnış müsbət) arasındakı düzgün balansı tapmaq üçün qayğı göstərəcəklər, daha çox məlumat tələb etdiklərini və ya daha çox təcrübə apardıqlarını ağlayacaqlar və atlanacaqlar. performansını 5% yaxşılaşdırmağa müvəffəq olsalar, xoşbəxt olacaqlar. Maraqlı bir məhsul qərarı, məlumat elmləri tapşırıqlarını yığın içərisinə necə bölmək barədə qərar verməkdir. Misal olaraq, Alexa, lövhə səviyyəsində bir sıra mikrofon, firmware səviyyəsindəki bəzi DSP kodu və nitqimizi tanımaq üçün geriləmə səviyyəsindəki inkişaf etmiş məlumat elmini ehtiva edir.

Alətlər: İnkişaf alətlərini bir-biri ilə müqayisə edən ön bir inkişaf etdirici və əlaqədar bir inkişaf etdiricini düşünün. Quraşdırılmış geliştirici ön tərəfdəki tərtibatçını masasına aparacaq və bir enerji təchizatı, bir osiloskop və məntiq analizatoru arasındakı fərqləri göstərəcəkdir. Ön tərəfdəki geliştirici sonra quraşdırılmış inkişaf etdiricini ən yaxın qəhvə yerinə aparacaq. Qəhvə sifariş edəcəklər və birlikdə bir neçə saat keçirə biləcəkləri sakit bir yer tapacaqlar. Daha sonra Chrome brauzerini inkişaf rejiminə keçir və quraşdırılmış inkişaf etdiriciyə şəbəkə trafikinə necə baxacağını və müəyyən bir HTML elementinin CSS üslubunu necə göstərəcəyini göstərəcəkdir.

Üçün devtools mənası nədir ...

Debug alətləri geliştiricidən geliştiriciyə dəyişir və onlardan səmərəli istifadə gerçək təcrübənin olduğu yerdədir. Problemin harada olduğunu instinktiv olaraq bilmək və vasitələrinizi evdə istifadə etmək inkişaf etdiricilərin ən vacib bacarığıdır. Geliştiricilərin bir problemi həll etmək üçün saatlar və günlər sərf etdiyini, sonra problemi saniyədə tapan təcrübəli bir inkişaf etdiricidən kömək istədiklərini gördüm. Bunu kifayət qədər vurğulaya bilmərəm, hər bir iş üçün lazımi vasitələrin olması peşəkar olmaq deməkdir. Bu hər peşə üçün doğrudur.

Debug və test alətlərinin mənası nədir ...Proqram tərtibatçıları bu qorxuducu tapırlar

QA və Test

Ətraf mühit testləri: Məhsulumuzu sınadığımız zaman istifadəçilərin istifadə etməsini gözlədikləri bütün fərqli konfiqurasiya və mühitlərdə düzgün işlədiyini yoxlamaq istəyirik. Fiziki məhsullar üçün ətraf mühit ümumiyyətlə temperatur (həddindən artıq soyuq, həddindən artıq isti), titrəmə (bir avtomobil məhsulunu təsəvvür edin), şok (əllərinizdən beton zəminə düşür), rütubət, UB və günəş şüalanması, ESD (gələn bu kiçik işıqlandırma) deməkdir. Rəqəmsal məhsullar üçün mühit ümumiyyətlə brauzer növü (Chrome, Internet Explorer, Firefox ..), OS (Android, IOS, OSX, Windows), Cihaz (Mobil, Masaüstü, Konfransı) deməkdir Ekran) və Şəbəkə bağlantısı səviyyəsi (4G, Wifi, Offline). Adətən hər mümkün birləşməni sınaqdan keçirmirik, çünki bu mümkün deyil, buna görə də məhsulun spesifikasındakı problemləri aşkar etmək üçün kifayət qədər ssenarini əhatə edəcək bir konfiqurasiya dəsti hazırlayırıq.

Xarici mühitin mənası nədir ...

Etibarlılıq / Davamlılıq (Həyat dövrü sınağı): Bunlar məhsulun bütün həyatı boyunca baş verənləri simulyasiya etməyə çalışan testlərdir. Materialların uğursuz nöqtələrə çatdığı fiziki məhsullara daha çox aiddir. Məhsulun yaş həddindən artıq ekoloji vəziyyətlərə məruz qalması ilə sürətləndirməyimizə kömək edən bir sıra qaydalar mövcuddur. Əsasən, bir məhsulun beş il sonra otaq temperaturunda düzgün işlədiyini yoxlamaq üçün onu bir gün üçün 70 dərəcə və 10 qr vibrasiya ilə sınaqdan keçirə bilərik (yalnız nümunə !!!). Bunlara HALT (Yüksək sürətlənmiş həyat) testləri deyilir

Həddindən artıq şərtlər Testlər (Yükləmə, Kənar): Bunlar məhsulun həddindən artıq və ya kənar şəraitdə davranışını sınayan testlərdir. Məsələn, bir elektron məhsul 5V-də işləyirsə, 4.5V və 5.5V-də sınaqdan keçirəcəyik, məhsulun istifadəçi səhvlərinə və ya elektrik cərəyanlarına davamlı olub olmadığını görmək üçün 25V və ya -5V-ə qədər olan gərginliklər də vura bilərik. Rəqəmsal məhsullar üçün əsassız dəyərləri olan giriş sahələrinə etiraz edə bilərik. Misal üçün uzunluğu 1000 simvol olan və ya mənasız simvollar olan adları daxil edə bilərik. məhsulu müəyyən bir yük (50 eyni vaxtda istifadəçi) üçün tərtib etsək 100 davranış istifadəçisi altında davranışını sınayacağıq. Bu testlərin ideyası əsasən yeni uğursuzluq rejimlərini aşkar etməkdir. Məhsulun mükəmməl işləməsini gözləmirik, amma normal vəziyyətlərə uyğun vacib məsələlər, gözlənilməz davranışlar və ya problemlər aşkar edə bilərik.

Uyğunluq / Təhlükəsizlik Testləri: Hər iki növ məhsul bəzən standartlara cavab vermək və onlara uyğun olmaq tələb olunur. Elektron məhsullar etibarlı, etibarlı və etibarlı olmalı və istifadəçini elektrik şokundan və ya həddindən artıq istiləşmədən (UL, CE, FCC ..) qorumalı, həmçinin Wifi və ya Bluetooth kimi müəyyən simsiz standartlara uyğun olmalıdır. Kredit kartları nömrələri (PCI, ISO / IEC 27001, NIST) və ya sosial təhlükəsizlik nömrələri (GDPR) kimi şəxsiyyəti müəyyənləşdirən məlumatları (PII) idarə edən rəqəmsal məhsullar məlumatları hər cür hücumlardan və işçilərin səhlənkarlığından qorumalıdır. Hər iki məhsul üçün uyğunluq prosesi bahalı və uzundür, lakin maya dəyərini azaltmaq və əvvəlcədən təsdiqlənmiş modul və xidmətlərdən istifadə etmək yolları var.

Uyğunluğun mənası nədir ...

Testin əhatə dairəsi: Bir board dizayneri olaraq istehsal prosesinin qüsursuz olduğuna heç vaxt əmin ola bilməzsiniz. Bəzi hallarda, yalnız mikroskopla görə biləcəyiniz qonşu izlər arasında kiçik şort var. Digər hallarda, elektron komponentlər kifayət qədər etibarlı deyil və ya saxta komponentlər ola bilər. Keyfiyyət prosesinin bir hissəsi olaraq, lövhə dizaynerləri və quraşdırılmış inkişaf etdiricilər hər əlaqənin və hər komponentin 100% əhatə dairəsi ilə gözlənildiyi kimi işlədiyini yoxlayan test alətlərini yazmaq üçün birlikdə çalışmalıdırlar. 100% əhatə dairəsinə çatmaq üçün hər sensoru və lövhəyə daxil olan hər şeyi simulyasiya edən JIG-lərin sınanması üzərində çalışdım. Bu testləri lövhənin vibrasiya və istilik dövrlərinə məruz qaldığı yüksək sürətləndirilmiş seçim testləri (HASS) ilə paralel aparmaq da yaxşı bir təcrübədir.

Eynilə, proqram təminatı ilə yaxşı bir təcrübə, kodunuzun ən az 99% -ni əhatə edən test kodu yazmaqdır. İstehsalat mühitinə yeni bir kod qoymadan əvvəl bir avtomatlaşdırma vasitəsi test kodu paketini işlədir və əvvəllər nə işlədiyini yoxlayın. Bu test alətləri üzərində işləyən hər iki hal üçün də məhsulun hazırlanması ilə birlikdə başlamalı (bəzən əvvəl: TDD) və lazımi şəkildə qaynaqlanmalıdır.

Dizayn / Kod baxışı: İnsanlar səhv edirlər. İstər-istəməz düşünən hər kəs ya kifayət qədər təcrübəli deyil, ya da qısa yaddaşı var. Xüsusilə, bir PCB lövhəsinin dizaynını hazırlayarkən və yeni komponentləri yerləşdirərkən, yeni komponentlərin konfiqurasiyası və fiziki ölçüləri ilə bağlı səhv etmək çox asandır. səhvləri yalnız həftələr və ya aylar sonra tapa bilərsiniz. Dizayna baxa və məlumat cədvəlinə uyğun olaraq yoxlaya, yenidən baxa və yenidən yoxlaya bilərsiniz və hər iki halda da darıxacaqsınız. Bu səbəbdən müstəqil bir araşdırma və imzalanma elektron məhsulun hazırlanmasında standart bir tətbiqdir. Proqram tərtibatçıları çox vaxt təhlükəsizliklə bağlı səhv edirlər. Məsələn, tez-tez həssas açarları ictimai kod depolarına yerləşdirirlər və ya müştəriyə məruz qalırlar. Çəkmə tələbi, digər komanda üzvlərinə dəyişiklik etməzdən əvvəl dəyişiklikləriniz barədə məlumat verməyiniz üçün bir üsuldur. Bunlar bir çox məqsədə xidmət edir: Qüsurları və problemləri aşkar etmək, kodun oxunuşunu və sənədləşdirilməsini yaxşılaşdırmaq və bilikləri komanda arasında bölüşmək. Cüt proqramlaşdırma, proqram təminatçıları tərəfindən bilikləri bölüşmək və bir-birlərinin kodlarını nəzərdən keçirmək üçün istifadə olunan başqa bir üsuldur.

Konfiqurasiya İdarəetmə: CM dəyişikliklərə sistematik şəkildə baxma təcrübəsidir. Məhsulun versiyasını sənədləşdirmək və versiyalar arasında tətbiq olunan dəyişiklikləri izləmək üçün istifadə olunur. Yaxşı bir konfiqurasiya idarəetmə sistemi, başqa heç bir xarici məlumat olmadan yalnız içərisində olan əsərlərdən istifadə edərək məhsulun istənilən versiyasını qurmağa və sınamağa imkan verəcəkdir. DevOps mühəndisləri məhsulun kodu, konfiqurasiyasını və infrastrukturunu qeyd etmək üçün GIT, Ansible, Terraform, Chef kimi SCM (Proqram konfiqurasiya idarəetmə) vasitələrindən istifadə edirlər. Səhv / qüsur / xüsusiyyət tələbi və bunun nəticəsində baş verən dəyişikliklər arasındakı əlaqəni sənədləşdirmək üçün bu dəyişiklikləri JIRA məsələlərinə bağlaya bilərlər. Elektron mühəndislər bəzən PLM (məhsulun ömrünün idarə edilməsi) və bəzən HCM (hardware konfiqurasiya idarəetməsi) adlandırılan vasitələrdən istifadə edirlər. Əslində onlar eyni məqsədə xidmət edirlər, lakin fərqli inteqrasiya və prosesləri əhatə edirlər. Məsələn, bir PLM sistemi, inventarınızda məhsulun BOM-un hansı hissələrinin mövcud olduğunu göstərmək üçün ERP sisteminizə də qoşula bilər.

İstehsal və istehsal

İstehsalçınıza təchizatçı kimi deyil, tərəfdaş kimi baxmalısınız. Axı, istehsalçınıza ən həssas aktivlərinizi verirsiniz: məhsulunuzu yaratmaq üçün lazım olan hər şeyi! İstehsalçı sizə yeni istehsal üsullarını tətbiq etməyə, qüsurları azaltmağa, prosesin səmərəliliyini artırmağa kömək edəcək və bir şəkildə məhsulun bəzi risk və mükafatlarını bölüşəcəkdir.

Arıq yağ, qənaət dəyəri ilə əlaqəli hər şeydir. Fiziki məhsullar üçün yağsız vasitələr:

  • İstehsal xəttinin bütün mərhələlərində sıfır gecikmə
  • Ödəmə qüsurları, hər son məhsul üçün ən yüksək keyfiyyət
  • Maşınlar / İnsanlar 100% istifadə olunur
  • Bilik rəyi: Hər dərs və fikir prosesi inkişaf etdirir
  • Məhz vaxtında istehsal olunur: Hər məhsul satılır, Tullantı yoxdur

Rəqəmsal məhsullar üçün arıq deməkdir:

  • Avtomatik miqyaslama: yükə görə hesablama mənbələri miqyası
  • Saatda ödəyin

İstehsal boru kəmərləri: Bir quraşdırma xəttinin qurulması bir proqram CI / CD (davamlı inteqrasiya / davamlı çatdırılma) boru kəmərinin qurulmasından çox da fərqlənmir. Feniks layihəsi kitabını oxumusunuzsa, yəqin ki, kitabda arıq və DevOps bəzi anlayışlarının fiziki istehsal xəttindən necə əmələ gəldiyini xatırlayacaqsınız. Hər iki boru kəməri məhsulunuzu yaratmaq, sınamaq və göndərmək üçün tələb olunan hər şeyi idarə edir. Daha çox avtomatlaşdırma əlavə etdikdə daha sürətli çatdıra bilərsiniz. Elektron məhsullar üçün bu rəqəmsal məhsullar üçün xərclərin və qüsurların azaldılması və qabiliyyətin artırılması deməkdir, bu daha sürətli istifadəçi testi və uyğunlaşma dizaynı deməkdir.

Dünya səviyyəsində çatdırılma: Tərtibat şəbəkələri (CDN), coğrafi mövqeyinə görə istifadəçilərə veb-aktivləri çatdırmaq üçün istifadə olunan məhsulların dünya miqyasında göndərmə xərclərini azaltmaq və məhsulların lokalizasiyası üçün necə paylandığı arasında maraqlı bir oxşarlıq var. Məzmun önbelleğini yerli anbarlar və ya Amazon kimi yerinə yetirmə xidmətləri kimi görmək olar. Hər iki növ məhsul üçün yerli mövcudluq dünyada müştəri təcrübəsini artırır

Dünyadakı mövcudluğu fiziki məhsullar üçün daha çətin görünə bilər, lakin məlumatların qorunması tənzimlənməsi və dil lokallaşdırılması da çox səy tələb edir

Bulud xidmətləri: Bulud xidmətləri olduqca zəhmlidir, yüzlərlə veb xidmətdən birini seçərək rəqəmsal məhsulunuzu saniyələr ərzində qura bilərsiniz. Bir neçə klik və bu, tələbata əsasən dünyanın 20-dən çox məlumat mərkəzində avtomatik olaraq işləyəcəkdir. İstehsalatda belə bir şey yoxdur, ancaq bu növbəti sənaye inqilabı ola bilər. 3D çap, PCB istehsalı, komponent tədarükü, lövhə və kabel montajı, sınaq testləri və yerli avtomatlaşdırılmış istehsal mərtəbəsindən birbaşa müştərilərinizə çatdırılma kimi əvvəlcədən tənzimlənməmiş modullardan istifadə edərək istehsal boru kəməri qura biləcəyiniz bir rəqəmsal məhsulu düşünün. Üstəlik, xidmət son istifadəçiyə məhsulun rəngini, forma və digər fərdiləşdirmə xüsusiyyətlərini düzəltməyə imkan verəcəkdir. Bu bir xəyal kimi görünür, amma əminəm ki, dünyanın bir yerində Amazon belə bir xidmət üzərində çalışır (Heç olmasa ümid edirəm bunları edəcəklər).

Nəticə

Elektron məhsulların inkişafı prosesi ilə rəqəmsal olanlar arasında çox sayda fərq var, lakin 20 illik bir perspektivə baxaraq, rəqəmsal məhsulların dizayn prinsipləri və proseslərinin indi fiziki məhsul menecerləri tərəfindən nə qədər istifadə olunduğunu görmək heyrətamizdir. AWS, yaxınlarda quraşdırılmış sistemlər üçün FreeRTOS-da elan etdi. Düşünürəm ki, 10-20 ildə rəqəmsal məhsulun inkişafı ilə fiziki bir şey arasında ciddi fərq olmayacaqdır.

Səyahətim və hər iki dünyada yaşayan bir komandanı necə idarə etməyiniz barədə daha çox məlumat əldə etmək istəsəniz, birbaşa mənə çatmaq üçün çekinmeyin.