socialgekon.com
  • Tärkein
  • Muu
  • Web-Käyttöliittymä
  • Työn Tulevaisuus
  • Suunnittelu
Prosessi Ja Työkalut

Ketterä laitteisto ja sulautettu ohjelmistokehitys

Rakentaa monimutkaisia ​​laitteisto- ja ohjelmistoekosysteemejä, jotka sopivat tuotteisiin / markkinoihin, on vaikea tehtävä. Vaikka suurin osa laitteistokäynnistimistä epäonnistuu lopulta, koska rahat loppuvat, a raportti CB Insightsin mukaan suurin taustalla oleva syy on itse asiassa tuotteidensa kysynnän puute. Tämä vain korostaa sen tärkeyttä, kuinka kriittinen tuotepäällikkörooli on laitteistokäynnistimille, koska heidän ensisijaisena tavoitteena on selvittää asiakkaiden tarpeet ja kipupisteet onnistuneen tuotteen toimittamiseksi.

Viimeinen johtamani yritys loi ekosysteemin verkko-, mobiili-, sulautetuista ohjelmistosovelluksista ja laitteista pysäköintialalle. Laitetuotestrategia oli osa päivittäistä työni, joka johti minut kokeilemaan erilaisia ​​laitteistotuotekehityksen työnkulkuja. Huolimatta siitä, että olen työskennellyt laitteistotuotteiden kanssa 10 vuotta ja jolla on kandidaatin tutkinto elektroniikassa ja televiestinnässä, minulla oli vielä paljon opittavaa työpaikalla. Olen luonut alla olevan oppaan toivoen, että pystyt nopeuttamaan laitteiden tuotehallintaa sulautetulla ohjelmistotilalla nopeammin kuin minä.

Laitteiston tuotehallinnan haasteet

Vaikka SaaS- ja mobiilisovelluksia voidaan helposti kehittää käyttämällä ketterä kehys , upotettujen ohjelmistojen ja laitteiden kehittämisen ainutlaatuiset olosuhteet tekevät ketterien periaatteiden soveltamisen paljon vaikeammaksi. Tässä ensimmäisessä osassa käsitellään laitteistokehityksen ominaisuuksia, jotka luovat monimutkaisuuden. Kaikilla niistä ei ole suoraviivaisia ​​ratkaisuja, mutta on olemassa tapoja vähentää vaikeuksia käyttämällä tiettyjä laitteistokehitysstrategioita, joita käsitellään seuraavassa osassa.



Erikoistunutta teknistä kykyä on vaikea löytää paikallisesti

Uusien laitteistotuotteiden luominen on huomattavasti vaikeampaa kuin toistaminen olemassa olevilla. Siihen liittyy paljon luovuutta ja kokemusta prototyyppien tekemisestä, jota yliopistoissa opetetaan harvoin. Joissakin yliopistoissa ei ole edes prototyyppitiloja tai tarvittavia työkaluja näiden taitojen kehittämiseen, ja tällainen kokemus saadaan melkein yksinomaan suuremmista laitteisto-yrityksistä, joilla on tutkimus- ja kehityskeskuksia. Paikallisten ammattilaisten löytäminen, joilla on asiaankuuluvaa asiantuntemusta, voi siksi olla erittäin vaikeaa, mikä johtaa siihen, että monet laitteistojen käynnistysyritykset tarvitsevat laajentamaan kykyjään kokoamalla etätyöntekijöitä.

Versiohallintajärjestelmiä ei ole mukautettu laitteistosuunnitteluun

Suurin osa versionhallintajärjestelmistä (VCS) on suuntautunut tukemaan tekstimuotoa, koska ne on luotu ohjelmistokehitysyhteistyöhön. Laitteistokehitykseen liittyvissä projekteissa tiedot kääritään sen sijaan suunnittelutiedostoihin, jotka on luotu OrCADin kaltaisten erikoistyökalujen avulla. Ja jotkut näistä työkaluista tukevat vain binaaritiedostoja, joita ei ole edes optimoitu käytettäväksi VCS: ssä. CADLAB on suhteellisen uusi yritys luoda laitteistoon sopiva VCS, ja toivottavasti lähitulevaisuudessa on enemmän tällaisia ​​työkaluja.

Laitteistojen tuotantolaitokset on siirretty

Laitteiden tuotantolaitokset sijaitsevat usein toisella alueella, maassa tai mantereella. Laitteiston tuottajan ja valmistajan välinen viestintä vaatii erityistä huomiota ja on avain onnistuneeseen tuotteiden toimitukseen. Menestyvä viestintä vaatii strategisempaa kehystä tuotteen laadun varmistamiseksi ja sen varmistamiseksi, että se selviytyy muutoksista tuotemarkkinoiden dynaamisessa validointivaiheessa. Tämän saavuttamiseksi laitteiston tuottajan on luotava monia yksityiskohtaisia ​​eritelmiä, jotka lähetetään valmistajalle. Yhteistyökehyksen on varmistettava nopeatempoinen tiedon toimittaminen ja spesifikaatioiden elinkaaren hallinta, koska ne voivat helposti vanhentua nopeasti.

Laitteistomuutokset ovat vähemmän joustavia

Ohjelmistojen startupien suosittu toimintamalli uhraa laadun nopeudesta alkuvaiheessa. Jopa Facebook kannatti mantraa 'liikkua nopeasti ja rikkoa asioita' jo jonkin aikaa. Toinen tuttu lähestymistapa on 'väärennös', kunnes teet sen. ' Tämä toimii ohjelmistokäynnistimille halpojen infrastruktuurikustannusten ja virtaviivaisten ohjelmointikehysten takia, joiden avulla kehittäjät voivat ottaa käyttöön päivityksiä päivittäin.

Vaikka tämä lähestymistapa kehitykseen on hiipinyt laitteistotilaan, se on valitettava trendi tällä alalla, koska laitteistomuutoksia on paljon vaikeampi tehdä ja ottaa käyttöön. Kehityskustannukset kompensoivat nopeiden ja toistuvien julkaisujen avulla saavutetun arvon, joten on itse asiassa paljon toivottavampi strategia sijoittaa enemmän suunnitteluvaiheeseen luotavien laitteistoarkkitehtuurien luomiseksi.

Joukkorahoituksen kuoppa

Monet aloittelijat ovat loukussa ajatuksessa onnistuneen lanseeraamisesta laitteiston joukkorahoitus kampanja vastaa markkinoiden validointia. Joukkorahoitus on yleensä menestyksekkäin tuotteille, joihin liittyy laitteistokomponentti, erityisesti fyysiseen esineeseen liittyvän tajuttoman halun vuoksi omistaa. Joukkorahoituksen ei kuitenkaan ole tarkoitus vahvistaa tuotteitasi mittakaavassa, vaan pikemminkin demokraattinen tapa rahoittaa alkuvaiheen tuotekehitys. Valitettava tosiasia on, että monien yritysten kanssa, joilla on onnistuneita joukkorahoituskampanjoita, on myöhemmin ollut vaikeaa tai lähes mahdotonta skaalata tuotantoa, koska ne eivät vahvistaneet markkinoitaan mittakaavassa.

Sertifikaatit, määräykset ja hyväksynnät

Kaikkien laitteistotuotteiden myynti edellyttää jonkinlaista sertifikaattia. Se on yksi huomiotta jätetyistä vaiheista laitteistotuotteiden markkinoille tuomisen varhaisessa vaiheessa. Kuinka sertifiointirajoitus vaikuttaa tuotesuunnitelmaan ja kehitykseen sovellettavaan kehykseen? Ei ole harvinaista suunnitella projektin alkuvaiheet sertifioinnilla ja muilla hyväksynnöillä projektin virstanpylväksi, vasta sitten palata ehdollisesti aloitusvaiheeseen. Tuotepäälliköt voivat sen sijaan analysoida huolellisesti sääntelyjä, riippuvuuksia ja tuotesuunnitelman strategisten päätösten yhdyskäytäviä vesiputouksellisemmalla lähestymistavalla.

Laitteiston tuotehallinnan mahdollisuudet

Nyt kun olemme käsitelleet joitain haasteita laitteistossa sulautettujen ohjelmistojen alalla, katsotaan nyt, miten kehitysprosessista voidaan tehdä virtaviivaisempi ja ennakoitavampi laitteistokehityksen luontaisten vaikeuksien kompensoimiseksi.

Sisällytä ketterä osa laitteistokehitystä

Kokeneet tuotepäälliköt ovat tietoisia haasteista, jotka aiheutuvat laitteistotuotteiden rakentamisesta sulautetuilla ohjelmistoilla, jotka yrittävät hyödyntää uuden teknologisen kehityksen luomaa markkinamahdollisuutta. He oppivat tasapainottamaan markkinoille tulon nopeuttamisen vaarantamatta tuotteen menestymisen todennäköisyyttä suunnitteluvaiheessa. Suurimman osan ajasta tämä tapahtuu muodossa a vesi-scrum-fall lähestyä.

Water-scrum-fall laitteistotuotekehitykseen

Water-scrum-fall laitteistotuotekehitykseen

Tuoteajatusvaihe laajentaa tuotteen periaatteita, tavoitteita ja korkean tason ominaisuuksia mahdollisimman monessa yksityiskohdassa. Hyvät tuotepäälliköt viettävät enemmän aikaa tämän vaiheen suoritteiden puhdistamiseen: visio, tehtävä, mahdollisuuksien arviointi, laitteistotuotteiden tavoitteet ja ominaisuudet. Tämä on tuotteen pohjoistähti, jonka on oltava riittävän selkeä ennen minkäänlaisen laitteistoprototyypin aloittamista, joten vesiputousmenetelmää suositellaan.

On ratkaisevan tärkeää, että laitteistotuotteilla on hyvin dokumentoidut vaatimukset ja toiminnalliset eritelmät, sekä hyvä tekninen arkkitehtuuri laitteistotuotetta ohjaavalle sulautetulle ohjelmistolle. Vaatimusten ja spesifikaatioiden muutoksista tulisi rangaista, ei kannustaa, kun koko joukkue on allekirjoittanut ne.

Vakiomuotoista metodologiaa voidaan käyttää sulautettujen ohjelmistojen kehittämisessä. Ohjelmiston toteutuksen säätäminen ja parantaminen ennalta määritetyn laitteistoarkkitehtuurin kanssa on halvempaa ajan ja rahan suhteen kuin päinvastoin.

Lopullinen integraatiotestaus ja käyttäjien hyväksyntätestaus tulisi suorittaa vesiputousolosuhteissa. Tässä vaiheessa kehitysvaihe on valmis ja uudet toiminnot ja puuttuvat ominaisuudet kirjataan lisätyöhakemuksiksi seuraavalle suunnittelukaudelle.

Sisällytä ketterä sulautettujen ohjelmistojen kehittämiseen

Sulautettujen ohjelmistojen monimutkaisten laitteistotuotteiden rakentaminen vaikuttaa perinteisten ohjelmistokehitysmenetelmien soveltamiseen. Monet järjestelmät, joita käytetään henkilökohtaisella tietokoneella toimivien ohjelmistojen tuottamiseen, eivät sovellu sulautettujen ohjelmistojen kehittämiseen, koska resurssien niukkuudelle ja kehityksen elinkaarille on paljon rajoituksia.

Ryhmä tutkijoita ja ammattilaisia ​​Brasiliasta on tarjonnut mahdollisen ratkaisun: Alustapohjainen ohjelmistosuunnittelumenetelmä sulautetuille ohjausjärjestelmille: ketterä työkalupakki . Tämä menetelmä sisältää ketterä sulautettujen ohjelmistojen kehittämiseen. Alla on lyhyt yhteenveto metodologiasta, mutta laitteistotuotepäälliköitä on erittäin suositeltavaa lukea täysi kuvaus ennen sen soveltamista käytännössä.

Tähän metodologiaan liittyvät roolit ovat:

  • Platform-omistaja - Vastaa laadun, suunnittelun ja kustannustavoitteiden määrittelemisestä
  • Tuotejohtaja - Vastaa tuotteen käyttöönotosta, integroinnista ja testauksesta
  • Ominaisuusjohtaja - Vastaa osajärjestelmäprojektien hallinnasta ja ominaisuuksien toimituksen seurannasta
  • Kehitystiimi - Tuotekehityksen parissa

Menetelmä jakaa sulautettujen ohjelmistojen kehityksen kolmeen prosessiryhmään:

Alustapohjaiset ohjelmistosuunnittelumenetelmien prosessiryhmät

Alustapohjaiset ohjelmistosuunnittelumenetelmien prosessiryhmät

  1. Järjestelmäalustan prosessiryhmä. Järjestelmä valitsee järjestelmäkomponentit, jotka ovat osa arkkitehtuuria ja API-alustoja, alustakirjastosta ja mukauttaa ne vastaamaan kyseisen sovelluksen rajoituksia. Mukautusprosessi suoritetaan iteratiivisissa jaksoissa ohjelmoimalla suunnittelijalle konfiguroitavat prosessorit ja suorituksen aikana uudelleen konfiguroitava logiikka integroituna alustaan.
  2. Tuotekehitysprosessien ryhmä. Tuotteen muodostavat toiminnot jaetaan alustan joko laitteisto- tai ohjelmisto-osiin. Menetelmä tarjoaa osiointialgoritmit sovelluksen komponenttien energiankulutuksen, suoritusajan ja muistikoon huomioon ottamiseksi.
  3. Tuotehallintaprosessien ryhmä valvoo ja ohjaa tuotteen laajuutta, aikaa, laatua ja kustannusparametreja. Ehdotetut lähestymistavat koostuvat pääasiassa Scrum Agile -menetelmän edistämistä käytännöistä sekä ketteristä kuvioista.

Luo laitteistokehitysohjelma

Varhaisen vaiheen laitteistokehitysohjelman rakentaminen on antanut yrityksille mahdollisuuden tarjota nopea kääntö tai suunnitelma B. Liiketoiminnan näkökulmasta se voi vähentää taloudellisia marginaaleja, mutta lopulta se tarjoaa tarvittavan ketteryyden selviytyä jatkuvasti muuttuvista markkinoista kilpailun vapauttamien tuotteiden ja teknisten valmiuksien kehittämisen kannalta.

Oletetaan, että yritys suorittaa onnistuneen joukkorahoituskampanjan sulautettujen ohjelmistojen sisältävälle laitteistolle. He työskentelevät erinomaisesti kohti ensimmäistä erää, kunnes iso vakiintunut yritys ilmoittaa jotain vastaavaa. Monipuolisuus ja markkinoille saattamisen aika ovat tärkeimpiä, ja käytännöllinen ja ketterä reaktio tähän tilanteeseen lisää onnistuneen tuotteen todennäköisyyttä. Laitteistokehitysohjelman avulla yritys voi nopeasti sopeutua ja asettaa valokeilaan rikkaamman version tuotteesta vastauksena kilpailijoihinsa.

Laitteiston kehittämisohjelma

Laitteiston kehittämisohjelma

Laitteiston onnistunut testaus sulautettujen ohjelmistojen avulla

Testaus on ratkaiseva komponentti laitteistotuotteiden hallinnassa, koska toisin kuin ketterä ohjelmistojen testaus , useimmat laitteistovirheet voidaan korjata vain tuottamalla uusi erä tuotteita. Samsung Galaxy Note 7 -laitteet, jotka olivat on syttymässä tuleen on loistava esimerkki siitä, miksi laitteistotestauksen tulisi olla ensisijainen tavoite kaikille tuotepäälliköille.

Toiminnalliset testit ovat sulautettujen ohjelmistotuotteiden laitteiston teknisen validoinnin keskeinen tavoite. Näiden menettelyjen monimutkaisuus johtuu siitä, että virheitä tulee todennäköisesti mistä tahansa järjestelmän osasta.

Yksikkötestaus yleensä tapahtuu simuloidussa ympäristössä jokaisen sprintin jälkeen, koska simuloitu laitteisto tarjoaa edun olla täysin hallittavissa. Testiskriptejä voidaan automatisoida, ne voivat valvoa suoritusta ja tappaa testit, jotka näyttävät kaatuneen tuottamatta tuloksia.

Integraation testaus tulisi ottaa huomioon online- ja offline-toiminnot ja laitteistotuotteen alistuminen todellisiin käyttöolosuhteisiin. Esimerkiksi, jos yritys kehittää päähän asennetun aivojen seurantajärjestelmän ulkoilun aikana, testausolosuhteissa tulisi ottaa huomioon nämä erityispiirteet.

Järjestelmän testaus sisältää koko järjestelmän testaamisen virheiden ja virheiden varalta. Tämä testi suoritetaan liittämällä yhteen koko järjestelmän laitteisto- ja ohjelmistokomponentit (jotka on aiemmin testattu yksikön ja integraation avulla) ja testattu sitten kokonaisuutena. Tämä testaus on lueteltu mustan laatikon testausmenetelmässä, jossa ohjelmisto tarkistetaan käyttäjän odottamien skenaarioiden, mahdollisten poikkeusten ja reunatapausten suhteen. Mainittavat erityiset testausryhmät:

  • Tapahtuman käynnistämä testaus: Aloittavat tietyt tapahtumat tai tilamuutokset laitteistotuotteessa (esim. Käynnistys, nollaus, sammutus). Sen tavoitteena on havaita pysyvät viat.
  • Ajan laukaisema testaus: Aloitetaan ennalta määrättyinä aikoina järjestelmän normaalissa käytössä, tehdään säännöllisesti pysyvien vikojen havaitsemiseksi. Se on hyödyllinen järjestelmissä, jotka toimivat pitkiä aikoja, joissa ei tapahdu merkittäviä testin laukaisevia tapahtumia. Ajan laukaisema testaus on hyödyllinen myös ajoittaisten vikojen havaitsemiseksi.

Laitteiston tuotteiden hyväksyminen sulautettujen ohjelmistojen kanssa

Tuotteen arvo sulautettujen ohjelmistojen sisältäville laitteistotuotteille validoidaan tyypillisesti tuotteen hyväksymisvaiheen jälkeen vesipumpun pudotuksen metodologiassa. Laitteiston, johon on upotettu ohjelmistoekosysteemi, tulee vahvistaa ja hyväksyä laitteisto etusijalle ohjelmistojen kanssa. Kuten aiemmin todettiin, laitteistomuutokset ovat vaikeampia ja kalliimpia suorittaa. Tuotepäälliköt suunnittelevat innovatiivisia ratkaisuja, joita tarvitaan hyväksymisongelmien ratkaisemiseksi tai arvon säätämiseksi ottamalla huomioon rajoitus, jonka mukaan laitteistoa ei voida muuttaa, ja suosimalla ylimääräisiä iteraatioita ohjelmistokehityksen alalla.

Erinomaisilla tuotepäälliköillä on tuotekokemus ja suuri visio ennustettaessa laitteistotarpeita ja asettamalla etusijalle oikeat sisällytettävät ominaisuudet, jotta liiketoimintamalli on vakaa, hyväksyntä vankka ja käyttäjät nauttivat tuotteen käytöstä. Sulautettujen ohjelmistojen suhteen laitteiston 'koristelun' ei pitäisi olla yllättävää, koska sen on noudatettava sääntöjä ja rajoituksia, jotka johtuvat laitteistokehitysprosesseista, sertifiointimenettelyistä, tuotannon haasteista ja markkinoiden hyväksynnästä.

Laitteistokehitys vaatii hallittua ketteryyttä

Ketterä on ohjannut ohjelmistokehityksen maailman ja on nyt alkanut hiipiä laitteistotilaan. Laitteistotuotteen ja sulautetun ohjelmistokehityksen olosuhteisiin liittyy kuitenkin useita haasteita:

  • Erikoisosaamisen puute
  • Versiohallintajärjestelmät, joita ei ole sovitettu laitteistoon
  • Sijoitetut tuotantolaitokset
  • Muutokset, joita on vaikea tehdä ohjelmistoihin verrattuna
  • Sertifiointi- ja sääntelyvaatimukset, jotka asettavat suunnittelun esteitä

Nämä haasteet vaikeuttavat ketterien periaatteiden soveltamista samalla tavalla kuin ohjelmistoyritykset.

Näiden haasteiden torjumiseksi tarvitaan hallittua ketteryyslähestymistapaa vesipumpun ja putoamisen muodossa. Upotettu ohjelmistokehitys luodaan vakiomittausmenetelmien mukaisesti, kun taas muut vaiheet, kuten ideointi, spesifikaatioiden luominen ja testaus, toteutetaan vesiputouksen asetuksissa. Tämä antaa laitteistoyrityksille mahdollisuuden hyödyntää Agile-palvelun tarjoamia etuja samalla kun ylläpidetään toimiva tuotehallintatapa, jossa on otettava huomioon edellä luetellut rajoitteet. Tämä hallittu ketteryyslähestymistapa tarjoaa menestyvän tien eteenpäin nopeasti muuttuvien markkinaolosuhteiden ja jatkuvan teknisen kehityksen yhteydessä.

Perustietojen ymmärtäminen

Voiko ketterää käyttää laitteistokehitykseen?

Veden pumppu-putoamismenetelmää suositellaan ketterään laitteistokehitykseen. Upotettu ohjelmistokehitys luodaan vakiomittausmenetelmien mukaisesti, kun taas muut vaiheet, kuten ideointi, spesifikaatioiden luominen ja testaus, toteutetaan vesiputouksen asetuksissa.

Mitä laitteistokehitysinsinööri tekee?

Laitteistokehitysinsinööri on vastuussa laitteistokomponenttien, kuten piirilevyjen, prosessorien, muistilaitteiden jne., Todellisesta luomisesta ja testaamisesta.

Mitä eroa on ohjelmisto- ja laitteistotekniikalla?

Tärkein ero ohjelmisto- ja laitteistotekniikan välillä on fyysinen elementti. Ohjelmistosuunnittelijat työskentelevät vain tietokoneen koodin kanssa, kun taas laitteistoinsinöörit työskentelevät fyysisten tuotteiden, kuten prosessorien, piirilevyjen tai muistilaitteiden, kanssa.

Mitä tarkoitetaan sulautetulla järjestelmällä?

Sulautetut järjestelmät ovat ohjelmistotuotteita, jotka toimivat laitteistotuotteessa. Niitä kutsutaan upotetuiksi, koska ne on mukautettu toimimaan vain kyseisellä laitteistolla.

Mielen silmä - katsaus datan visualisointipsykologiaan

Ux-Suunnittelu

Mielen silmä - katsaus datan visualisointipsykologiaan
Tekoälyn nykyisyys ja tulevaisuus suunnittelussa (infografiikan kanssa)

Tekoälyn nykyisyys ja tulevaisuus suunnittelussa (infografiikan kanssa)

Ux-Suunnittelu

Suosittu Viestiä
Elixir-ohjelmointikielen käytön aloittaminen
Elixir-ohjelmointikielen käytön aloittaminen
Heuristinen analyysi UX: lle - Kuinka suorittaa käytettävyyden arviointi
Heuristinen analyysi UX: lle - Kuinka suorittaa käytettävyyden arviointi
Tietorakenteen periaatteet mobiililaitteille (infografiikan kanssa)
Tietorakenteen periaatteet mobiililaitteille (infografiikan kanssa)
Reagoiva suunnittelu ei riitä, tarvitsemme reagoivaa suorituskykyä
Reagoiva suunnittelu ei riitä, tarvitsemme reagoivaa suorituskykyä
Google-kuvat ja tietosuoja: Näin pidät valokuvasi turvassa
Google-kuvat ja tietosuoja: Näin pidät valokuvasi turvassa
 
Kuinka käyttää Google Kuvia iPhonessa kuvien varmuuskopioimiseen, tallentamiseen ja jakamiseen
Kuinka käyttää Google Kuvia iPhonessa kuvien varmuuskopioimiseen, tallentamiseen ja jakamiseen
Ansiosopimukset: Rakenteet neuvottelujen kuolleiden pisteiden rikkomiseksi
Ansiosopimukset: Rakenteet neuvottelujen kuolleiden pisteiden rikkomiseksi
Koneoppimisen numerotunnistus - nollasta sovellukseen
Koneoppimisen numerotunnistus - nollasta sovellukseen
Hinta on oikea - yleiskatsaus hinnoittelustrategiaan kuluttajayrityksille
Hinta on oikea - yleiskatsaus hinnoittelustrategiaan kuluttajayrityksille
Kuinka lisätä musiikkia Instagram-tarinaan tarroilla tai ilman
Kuinka lisätä musiikkia Instagram-tarinaan tarroilla tai ilman
Luokat
Tietojenkäsittely Ja TietokannatiOS-vinkkejäWeb-KäyttöliittymäTrenditProjektinhallintaKetteräAmmuntaOngelmien karttoittaminenElämäntapaTaustaa

© 2023 | Kaikki Oikeudet Pidätetään

socialgekon.com