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ä.
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.
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ä.
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.
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.
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.
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.
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.
Nyt kun olemme käsitelleet joitain haasteita laitteistossa sulautettujen ohjelmistojen alalla, katsotaan nyt, miten kehitysprosessista voidaan tehdä virtaviivaisempi ja ennakoitavampi laitteistokehityksen luontaisten vaikeuksien kompensoimiseksi.
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ä.
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.
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:
Menetelmä jakaa sulautettujen ohjelmistojen kehityksen kolmeen prosessiryhmään:
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.
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:
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ä.
Ketterä on ohjannut ohjelmistokehityksen maailman ja on nyt alkanut hiipiä laitteistotilaan. Laitteistotuotteen ja sulautetun ohjelmistokehityksen olosuhteisiin liittyy kuitenkin useita haasteita:
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ä.
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.
Laitteistokehitysinsinööri on vastuussa laitteistokomponenttien, kuten piirilevyjen, prosessorien, muistilaitteiden jne., Todellisesta luomisesta ja testaamisesta.
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.
Sulautetut järjestelmät ovat ohjelmistotuotteita, jotka toimivat laitteistotuotteessa. Niitä kutsutaan upotetuiksi, koska ne on mukautettu toimimaan vain kyseisellä laitteistolla.