Dev.Cast 126 – Ember.JS – ett glödande kol ibland SPA-ramverken

Denna "Dev.Cast" är tagen från Buzzfrog, där Dag König podcastar om utveckling, ofta tillsammans med framstående utvecklarevangelister och specialister. Detta avsnitt handlar om Ember JS.

"Det finns så många Single Page ramverk (SPA) idag. Det mest kända är nog Angular.js. Hur skall man kunna välja? Ett sätt är att jämföra några och det är detta vi skall göra i detta avsnitt av dev.cast. Jag diskuterar med Carl Mäsak ifrån Edument om ett annat SPA-ramverk som heter Ember.js."


Vill du veta mer om Ember JS har Informator en kurs som hålls i samarbete med Edument. Klicka här för att läsa mer om kursen.


2 varianter, 1 Design Pattern - blir fler än 3 punkter för arkitekten

I min gästblogg i oktober, om att avlasta UML från ”notation bloat”, nämnde jag behovet av abstrakt arkitekttänkande.

Designmönster lyfter i sig abstraktionsnivån (i likhet med andra mönster) utöver notationen, samtidigt som man behöver arkitekturtänkande för att välja ett passande mönstervariant, och för att göra egna anpassningar (eller låta bli).

Det första man alltid frågar sig är: hur mycket av det som mönstret löser har vi (eller plattformen) redan färdigt ”på burk”? Först sedan funderar man på möjliga varianter. Ett mönster löste ett vanligt praktiskt problem när det publicerades (och därför fick det den spridning det har), men sedan dess har ju många plattformar löst och kapslat in en hel del sådant som applikationsutvecklare kan slippa göra för hand; vilket leder in på samma spår som mitt notations-inlägg i oktober, fast nu på Pattern-nivån.

Ett välkänt mönster är State: ett vanligt objekt (”context-objekt”, i diagrammet nedan en order) kopplas ihop med 1 separat state-objekt, vilket får det att fungera utåt som om objekt kunde byta klass (oavsett plattform – det är fritt fram för den som växte upp med Smalltalk80 att kalla det ”att härma Smalltalks Tillståndsklasser för hand på andra plattformar”). Om vi inte redan har den möjligheten ”på burk” så är vi framme vid tänkbara anpassningspunkter. En sådan är multipliciteten åt andra hållet på Klassdiagrammet, dvs på Context-sidan: ska ett State-objekt vara dedicerat till exakt 1 Context-objekt (det vanliga, alltsedan Gamma & GoF.) eller ska man tillåta att flera Context-objekt servas av samma State-Objekt (dvs multiplicitet ”*” ) ?

Sett med utvecklarglasögon behöver flera villkor vara uppfyllda för att ”*” skall komma ifråga: inga attribut i State-objektet (frånsett static, som t ex text för State-specifikt felmeddelande), möjlighet att vid nästa tillståndsövergång enkelt länka om objektet till nästa State-objekt, osv. Med arkitektglasögon ser man ytterligare villkor som bör vara uppfyllda: inga stora belastningstoppar (köer) på State-objektet, fördelarna med att byta minnesbehov (då multiplicitet 1 till 1 medförde fler State-objekt i runtime) mot ev processortid ska vara större än nackdelarna, inga ”single point of failure” problem, enkelt att göra State-objekt persistenta i minnet, ”D:et” i SOLID (Dependency inversion/injection, med t ex en Callback, eller direkt mha plattformen), replikering när man skalar ut (t ex ytterligare servrar), tillräckligt förklarande dokumentation för att utvecklare skall förstå anpassningen även framöver, osv. Även om notationen skiljer ”bara” ett tecken som i exemplet ( ”*” i stället för ”1”), så är konsekvenserna av anpassningar klart större än så.


   
Som applikationsutvecklare fokuserar man oftast på design och källkod; arkitekturtänk tar även med runtime-miljö, samspel med verksamheten och produkten, risken för svaga punkter i samband med uppgraderingar, säkerhetshot, belastningstoppar, fel av användaren m m, allt i ljuset av prioriterade krav på funktionalitet resp på övrig kvalitet (jfr t ex  40 ”kvalitetskarakteristika” i ISO 25010-bilden i min gästblogg den1 september).


En annan och mer långtgående anpassning av samma Design Pattern (State) kan man ev välja i en övning på kursen T2716 Avancerad modellering med UML (sekvensdiagram, avboknings-scenario med kö/väntelista till det som bokats av), som ett möjligt designalternativ till att byta state-objekt på vanligt sätt.   


// Milan Kratochvil konsult, Kiseldalen.com och kursledare hos Informator inom IT-arkitektur.

UML 2 Professional, OCUP Advanced Level (certifikatnivå 3 av 3)

Milan samarbetar med Informator sedan våren 1996 inom modellering, UML, krav, analys, arkitektur och design. Håller f.n. kurser i grundläggande Arkitektur, Modular Product Line Architecture (T1430), i modellering (T2715T2716), och 2013 höll han också Informators fullsatta Frukostseminarium om användningsfall.

Experttipset: Skapa dynamiska listor via Dataverifiering i Excel



Via valet Dataverifiering på menyfliken Data går det att skapa rullgardinsmenyer i Excel, från en lista med värden. Denna lista kan vara en Excel-tabell.

Om Excel-tabellen utökas, då utökas även antalet poster i rullgardinsmeny, utan att du behöver ändra cellområdet som listan hämtas ifrån.


Använd följande formler för att hänvisa till en kolumn i en Excel-tabell.

=INDIREKT("Tabellnamn[Kolumnnamn]")

Tips!
Det går även att hämta tabellens rubriker eller värdena på en specifik rad i tabellen.

Anna-Karin Petrusson håller kurser inom de flesta av områdena inom Microsoft Office och dessa kurser hittar du såklart på Informators samlingssida för användarutbildningar.

Experttipset: Beräkna antalet unika värden i Excel


Hittills har det varit besvärligt att räkna ut antalet unika värden i ett område i Excel. Det går via matrisformler, men i Excel 2013 finns ett enklare sätt.

I Pivottabeller går det nu att beräkna Distinkt antal.

I exemplet ovan vill vi inte bara räkna ut hur många produkter varje tillverkare har i en lista, utan även antalet olika produktkategorier.

För att du skall få upp valet Distinkt antal i listan av beräkningstyper behöver två villkor vara uppfyllda.

1.       Listan med värden behöver vara definierade som en Excel-tabell.
Stå med markören i listan och välj Tabell från menyfliken Infoga.

2.       Pivottabellen behöver vara en del av en datamodell.
När du valt Pivottabell från menyfliken Infoga för att skapa din rapport, kryssa i rutan Lägg till dessa data i datamodellen.


Nu kan du ”högerklicka” på en beräkning i din Pivottabell och välja Summera data efter…, Fler alternativ och markera Distinkt antal.
Anna-Karin Petrusson håller kurser inom de flesta av områdena inom Microsoft Office och dessa kurser hittar du såklart på Informators samlingssida för användarutbildningar.

Med anledning av DN artikeln "Bristande it-miljö kostar miljarder"

I en artikel i DN "Bristande it-miljö kostar miljarder", den 1 december, noterade man bland annat att "Ett vanligt problem är att det köps in avancerade it-system på arbetsplatser utan att man först har kartlagt vilka behoven är och utan att ledningen har gett tydligt stöd."

Foto: Henrik Montgomery/TT
I de kurser vi har om användbarhet och användarcentrerad design lär vi ut att det första är kvalitetsmått och det senare är en utvecklingsprocess för att ta fram en produkt, båda baserade på de faktiska användarnas behov.

Det finns också både ett Före och ett Efter den processen; ett Efter som till exempel innebär en planerad implementering, utbildningsinsatser inom organisationen och förändring av arbetsrutiner, på grund av nya verktyg.
Före krävs en beslutsprocess som absolut bör innefatta en behovsinventering, en målgruppsanalys, genomgång av möjliga lösningar och leverantörer, med mera. Alltför ofta, konstaterar vi att beställaren saknar den tekniska kompetensen att upphandla. Detta är inte så konstigt då vi alla inte kan vara IT-specialister. Beställarna behöver istället förlita sig till konsulter och deras rekommendationer.

Tyvärr har vi sett mer än en gång hur konsulter i slutändan rekommenderat, vad vi har ansett, vara överdimensionerade och inte särskilt ändamålsenliga lösningar. Ibland har det visat sig att de rent av varit ombud för dessa lösningar.

Gång efter annan visar forskning att de mest fundamentala framgångskriterierna vid utveckling och implementering av IT-lösningar och produkter är, utöver en tydlig målbild, kunskap om användargrupperna samt deras behov och mål. Att ha denna kunskap krävs för att vi ska förstå vad det vi egentligen ska upphandla. Under utvecklingsfasen är en av de kritiska framgångsfaktorerna "aktiv involvering av användare", men redan i beställningsfasen är samma faktorer viktiga. Det gäller inte bara stora dyra IT-system eller inköp av program och annan mjukvara, utan även vid införskaffande av datorstöd som webb-lösningar, t.ex. ett intranät.

Det är naturligt att IT-projekt får starkt teknikfokus, men även andra aspekter behöver prioriteras. I varje projekt behöver man tillföra kompetens och kunskap om målgruppens behov, användningsanalyser och icke-teknisk kravformulering. Det är av yttersta vikt att förstå vad man ska beställa, det aktuella projektets framgångsfaktorer, och formulera uttalade förväntningar om vilka effekter man vill uppnå.

Dessa kompetenser återfinns bland UX-designers och användbarhetsspecialister, ett ganska brett fält som innefattar informationsarkitekter, interaktionsdesigners och, som i det här fallet, behovsanalytiker, som arbetar som beställarstöd för organisationer, både privat och offentligt.

Vi på Symmetri kommer från gränssnittet mellan användbarhet, som vi arbetat med i decennier och verksamhetsutveckling. Vi har länge sett behovet av att stödja organisationer i andra delar än de tekniska vid upphandlingar.

Tillsammans med Informator erbjuder vi skräddarsydda workshops ute på företag för att skapa förståelse för vikten av de olika aspekterna av inköp och upphandling, och kommer inom kort även att erbjuda en kurs riktad speciellt mot beställare och uppköpare. 
Kontakta Informator om du vill veta mer >


// Sinclair Andersen
Seniorkonsult och lärare
Symmetri Konsult AB

Sinclair Andersen är lärare hos Informator inom användbarhet och gränsnittsutveckling. Han håller kurserna: 





Så installerar du DevOps i din organisation

Ett av de tidiga framträdandena där Dev och Ops tillsammans presenterade hur de fick ner ledtiderna var när Flickr höll sin episka presentation på Velocity-konferensen i San Francisco. Patrik Dubois brukar också nämnas som den som myntade begreppet DevOps, som alltså är en lek på orden Developer och Operations.

Varför, vad är problemet?
Det underliggande fenomemet som DevOps (iaf tidigt) adresserar är att Dev-sidan (utveckling) av en IT-organisation från affärssidan hör: "Utvecklare snabbare, ge oss nyheter oftare, tidigare, fortare, ..."
Ops-sidan (drift) hör i sin tur från affärssidan: "Systemen skall vara tillgängliga 24/7, kanonstabila utan några som helst avbrott". Således har vi konflikt i hur ofta vi vill uppdatera våra system: Ops så sällan som möjligt så vi får stabil drift, och Dev så ofta som möjligt så vi snabbt kan komma ut med ny (eller justerad) funktionalitet.

Vad är lösningen?
Lösningen är givetvis att riva ned väggen mellan avdelningarna. Förenklat behöver Dev se till att det man vill att Ops skall drifta är bra anpassat ur Ops-perspektiv, och Ops behöver hjälpa Dev med detta! Den som vill beskriva hur det ser ut från sidan skulle kunna säga "de har automatiserat allt som går, allt som går är under versionskontroll och innan det går i produktion så är det redan automatiskt testat". Dvs installation, smoke test, uppsättning av miljöer såsom OS och tredje-partare, lastbalansering, backup-jobb, ... - allt är automatiserat och versionkontrollerat. Minsta förändring i någon miljö är fullt spårbar. Vi har inte råd att låta människor göra datorers jobb!

Utmaningarna är många
Listan över hinder att ta sig över brukar inte vara kort. Att automatisera är inte gratis, framför allt inte första gången. Kostnaden består dels i att det är nya verktyg, nya rutiner, nya fel och nya lärdomar att dra. Det gäller inte bara Ops utan lika mycket Dev. Att få dessa att sitta tillsammans kräver inte sällan att ledning och organisationen skapar gemensamma mål, och förutsättningar. Givetvis skall det vara affärsmässiga drivkrafter som driver organisationen mot DevOps - det skall finnas affärsnytta som man vill uppnå. När den är tydligt uttryckt och blir konkret ner till vardagsarbetet kommer arbetet med att gå mot DevOps-kultur bli mycket enklare.

Hur gör man då?
Continuous Integration är idag mainstream - det är få utvecklarorganisationer som inte har en byggmaskin igång som centralt bygger och testar varje kod-incheckning. Nästa steg mot att minska skräcken vid drifttagning är att få Continuous Delivery på plats. Hur man automatiserar sina miljöer, bygger sina pipelines och testar är givetvis starkt varierande beroende på organisation och produkt. I kursen Continuous Delivery så går vi igenom en implementation med en enkel produkt. Vi visar också på ett zero downtime-deployment-mönster (Blue/Green) med lastbalancering i molnet. Vi använder moderna verktyg och har inget fusk. Från 0 till 100 på några timmar, med en komplett versionskontrollerad miljö, produkt och pipeline!

Fredrik Wendt är Professional Scrum Trainer (Scrum.org) och jobbar som Agile Software Development Coach på Growing Agility. I vardagen sliter han i huvudsak med det tekniska och håller oftast till vid tangentbordet, kodandes i en Docker container. Computer Sweden rankade Fredrik som en av Sveriges 100 bästa utvecklare 2012. Genom coding dojos (oftast) hjälper han team ta till sig test-driven utveckling, clean code och andra färdigheter under Software Craftsmanship-temat.
Hos Informator håller Fredrik kurserna Professional Scrum Developer (Java), Docker-workshop, Continuous Delivery Hands-on samt Scrum Master (+certifiering).

Vinnova satsar på programmering i skolan

Vinnova, den statliga innovationsmyndigheten, satsar 998 000 kronor på projektet Kodstart som ska underlätta för lärare att använda sig av programmering och digitalt skapande i skolan.


Kodstart drivs av den ideella föreningen Kodcentrum och har som mål att ta fram en modell för hur lärare i årskurs 4-5 ska kunna föra in programmering och digitalt skapande i undervisningen, inom ramen för nuvarande läroplan och skolämnen. 

– Det finns ett stort intresse bland lärare för att använda programmering i undervisningen. Med Vinnovas stöd kan vi nu hjälpa dem att väcka nyfikenheten för programmering hos ännu fler barn, säger Emelie Dahlström, Generalsekreterare för Kodcentrum.


Om Kodstart

Kodstart ska skapa förutsättningar för en digital demokrati genom en skola som rustar barn och unga för att aktivt kunna delta i och bidra till dagens och framtidens digitala samhälle.
Kodstarts modell innehåller bland annat en kompetenshöjande workshop för lärare, lärarhandledningar och elevuppgifter med samhällsförankrade och problemlösande uppdrag.
Projektet genomförs tillsammans med svenska IT-företag som Spotify, Informator, EdQu, Obviuse och grundskolan Vittra Brotorp.
Alla barn ska ha samma möjlighet att förstå och kunna påverka digitala tjänster i dagens samhälle. Här tror vi att det är viktigt med en samverkan mellan näringsliv, skola, ideell och offentlig sektor, säger Katarina Berg, VP Global HR på Spotify. 
Tillsammans med EdQu ska projektet även ta fram en prototyp för digital utvärdering. På så sätt kan projektet mäta elevernas och lärarnas kunskapsutveckling inom digital kompetens, datalogi och programmering.


Om Kodcentrum

Kodcentrum är en ideell förening som helt gratis introducerar barn och unga till programmering och digitalt skapande.
Genom ett nätverk av kodstugor runt om i landet, med volontärer som är yrkesverksamma från lokala IT-företag eller studerande på högskola, möter vi årligen ca 500 barn på deras fritid.
I kodstugan breddar vi bilden av vem som jobbar med programmering och vad som är möjligt att skapa. Kodcentrum arbetar aktivt för att öka mångfalden inom IT-sektorn och bidra till att fler barn och unga får upp ögonen för IT och programmering, oavsett socioekonomiska bakgrund, kön etc.
Kodcentrums huvudsponsorer är Informator, Spotify och Vinnova. 

KONTAKT:

Emelie Dahlström, generalsekreterare Kodcentrum
Tel: 070-999 16 00
emelie@kodcentrum.se
För pressfoton: www.kodcentrum.se/press/pressbilder

Är kravhantering elefanten i rummet? Här är stegen för att komma igång.



Krav. Smaka på det ordet. Enligt Svenska Akademins Ordbok är krav:
  • Handlingen att kräva/fordra något av någon
  • Muntligt eller skriftligt framställd begäran att få en penningfordran betald

Krav kopplas inte sällan ihop med tunga och tråkiga dokument, gärna i kontraktsammanhang, som vid uppfyllnad levererar en belöning i form av en pengapåse. Krav ses därför ofta något nödvändigt ont för att få tag i den där hägrande pengapåsen.

Enligt mig handlar krav om innovation och kreativitet, att få ned en vision på papper så att alla inblandade kan delta i diskussionen kring visionen. Krav handlar om att skapa och realisera nya system som kan hjälpa, förbättra eller till och med revolutionera teknik så som vi ser den idag. Men dålig kravhantering kan lika lätt stjälpa och i stället orsaka skada, ekonomisk förlust, stagnation samt akut huvudvärk. Inte mindre än 56%* av alla projekt som aldrig når i mål fallerar till följd av otillräcklig kravhantering.

Krav känns helt enkelt inte särskilt sexigt. Området är stort, oöverskådligt, förknippat med många frågetecken och grå byråkrati. Krav är svårt, men behöver inte vara elefanten i rummet som ingen vill prata om. Så hur äter man då en elefant? En bit i taget! Här presenteras tre munsbitar att börja med:
  • Granska kraven
  • Rita ett kontextdiagram
  • Skapa mock-up:s

Att granska kraven för att öka deras kvalitet borde inte vara någon revolutionerande tanke, men är ett moment som av olika anledningar till exempel ekonomiska, tidsmässiga eller ren okunskap, hoppas över. Involvera kund, test, utveckling och slutanvändare tidigt för att säkerställa att alla är med på banan. Och att kraven är på banan.

I ett kontextdiagram identifieras i vilken miljö systemet kommer leva, samt systemets omfattning. Det blir snabbt tydligt hur lätt det är att missa vilka integrationspunkter eller användare ett system har eller vad som faktiskt ska utvecklas och ingå i projektet.

En bild säger mer än tusen ord och detta ska inte underskattas när det kommer till krav. Ett GUI blir genast betydligt mer överskådligt och greppbart om kraven kompletteras med enkla bilder som illustrerar disposition och flöden. Men mock-up:s behöver inte stanna vid endast GUI:n. Att ha något konkret att diskutera krav kring underlättar för kund som leverantör att med större exakthet identifiera fallgropar och missförstånd.

Om ovan smakade bra finns det många fler munsbitar att hämta i form av kurser inom kravhantering. Och jag kan lova – det är mycket mer spännande än det vid första anblicken verkar.

* Källa: J. Martin

// Karolina Mileros
Test Manager med specialistkompetens kravhantering


Informator erbjuder flera spännande kurser inom Kravhantering och Testmetodik. Se alla våra kurser inom Krav och Test här

6 reasons to prefer a «use» Dependency to «instantiate» and «create».

Less is more in UML models.

My guest blog on May 20th mentioned that Ivar Jacobson's and Microsoft architect Steve Cook's article about the “road ahead”, toward a slim UML3 kernel with extension mechanisms (2010, on Dr Dobbs), makes even more sense in 2015 than back in 2010.

1. Standard subtleties
The new, slimmed UML 2.5 spec (March 2015, by the OMG), table C.1 (included keywords) lists only «use» and none of «create» or «instantiate»; the text also states it's an open list. That makes it one of the steps down the Jacobson & Cook road to a much-welcome smaller kernel with a very simple extension mechanism.  

2. Practical subtleties
The distinction between a «create» and an «instantiate» Dependency is tiny.
Both are shades of usage, so that «use» would suffice in most cases: the source uses the target (for some reason — be instantiation or other).

3. Interpretation subtleties
I’ve often wondered whether the slightly higher expressive power was worth the hike in notation bloat. I used «create» the standard way, for instantiation with full initialization of attribute values, typically from in-parameters passed through the constructor operation. By the same token, I used «instantiate» for raw instantiation (with just zeroes or similar default values instead), but that didn't make any difference to the many who interpreted «create» and «instantiate» as synonyms anyway… The 2.0 notation, especially arrow direction, hardly made things easier to explain:
 - Creation: a dashed arrow (…) to the creation operation.
 - Instantiation: a dashed arrow from the operation performing the instantiation.

4. Usefulness subtleties
Middleware, SOA UDDI, auxiliary classes, object-relational mappers such as Hibernate, and Design Patterns such as Factory, automate and encapsulate more and more of object loading, instantiation, or creation. That is, mainstream technologies make it less and less meaningful to model its detail, see diagram 1 (I might imagine a simple illustration in an architecture document, to explain the architectural principle and the mechanism once and for all, i.e. once per company or group of companies, definitely not every time applications incorporate the mechanism).

In contrast, I occasionally showed «create» explicitly, back in the early days of UML, to explain why there were both a «call» Dependency to an «interface» (operations in the interface are called, «call» being a third stereotype of «use» ) and along with that one, another Dependency ( «create» ) as a "shortcut" actually bypassing my nice «interface», see diagram 2.

That was pretty common in a simple environment without any automatism: the designer of the caller ensured "by hand" that there was an implementing object behind the «interface», to begin with. Which meant, the caller «create»d this object before the first call.

Some people argued that two «use» Dependencies (one for the creation, one for the calls) would be too generic for such cases. So, for the incorrigible «create» fan, remember the “open list” in the current UML 2.5 standard: no big deal extending the list, for company-internal purposes (e.g. for code generation).










5. Separation of concerns
This is a key idea underlying both the UML and Informator’s courses (T2715 and T2716): avoid a split of focus, don’t force-fit a whole bunch of areas of concern into a Class Diagram. Sequence diagrams show creation graphically (ever since UML 1) without a keyword, plus they do it “in context” of the actual scenarios where it happens. So, where detail really matters, they’re better and more precise to show creation. 

6. Abstraction
Abstraction is a vital point in architects’ job description. With the current shift of focus from detailed design to architecture, the level of abstraction thus shifts as well: to components or subsystems.

A Dependency between Components “summarizes” the fact that some Class/es or subcomponent/s in one Component have relationships to their counterparts in another Component; at this level of abstraction, it rarely makes sense to show the detail of loading or creation (unless you're a platform & infrastructure vendor). Rather, the UML 2.5 “kernel” seems to take mainstream built-in functionality into account.  


// Milan Kratochvil consultant, Kiseldalen.com and teacher in IT architecture at Informator.

UML 2 Professional, OCUP Advanced Level (level 3, of 3)


In addition to consulting, Milan cooperates with Informator since 1996 in modeling, UML, requirements, analysis, architecture and design. He currently teaches courses and workshops on Architecture fundamentals, Modular Product Line Architecture (T1430), agile modeling (T2715T2716), and formerly also Informator’s full-up Seminar on Use Cases.

7½ bekanta ord bland tusentals nyheter i Oxford English Dictionary

Do you prefer Agile to Declutter as Clickbait? NBD, now that it’s all in the OED. Mmkay?


Ett lagom ”yrkesskadat” nöje under en söndag med träningsvärk är att i lugn och ro leta efter IT-inspirerade ord bland årets nytillskott i OED. Man kan hitta många, nedan följer några få.

Clickbait
(Substantiv eller adjektiv, informellt, ffa. Internet). Content whose main purpose is to attract attention and encourage visitors to click on a link to a particular web page.
Beskrivande. Och kul.

Hard-code
Fix (data or parameters) in a program in such a way that they cannot be altered without modifying the program.

Interweb
Främst skämtsamt, när man vill poängtera att man är ”oteknisk”.

JavaScript
Här räcker kursnummer som förklaring (T1227, T1403).

Netbook
A small laptop computer designed primarily for accessing Internet-based applications.

Pocket dial
(Verb eller substantiv, nordamerikanskt informellt). Inadvertently call (someone) on a mobile phone, as a result of pressure being accidentally applied to a button (här erbjuder OED även en starkare variant, ännu mer informell…)

Agile är ju inte någon direkt nyhet, inte heller i betydelsen ”method of project management (...) contrasted with waterfall”.
Nytt är däremot ordet som fångar andemeningen i agila tillvägagångssätt:

Declutter
Remove unnecessary items from (an untidy or overcrowded place).
Äntligen. ;) Ett mindset som tycks gå in i allt annat. Tänk refactoring, slimmade projekt, minimal administrativ overhead, stand-up möten och horisontell kommunikation, och så ritningar/dokumentation som tar med det väsentliga och skippar resten.

En snärtigare svensk motsvarighet än ”decluttra” efterlyses (Rensa upp, städa undan, detoxa, obelamra, avbelamra? J ) Förslag? WDYT?

// Milan Kratochvil konsult, Kiseldalen.com och kursledare hos Informator inom IT-arkitektur.

UML 2 Professional, OCUP Advanced Level (certifikatnivå 3 av 3)

Milan samarbetar med Informator sedan våren 1996 inom modellering, UML, krav, analys, arkitektur och design. Håller f.n. kurser i grundläggande Arkitektur, Modular Product Line Architecture (T1430), i modellering (T2715T2716), och 2013 höll han också Informators fullsatta Frukostseminarium om användningsfall.

What Is Agility?

Agility is the ability to move swiftly and change direction at ease. When we talk about agility in the organisation, we refer to the ability to change direction. Organisational agility is the ability of people who are working together to quickly adapt their collaboration according to changing circumstances.
From where do these changing circumstances come? They might be external to your organisation:
New innovations changes how people can get their needs met, just remember systems development before and after there was a widespread use of mobile phones. New ways of doing business might challenge your way of doing business, just think about how it all of a sudden becomes acceptable to have your internal data handled by an external party with a “cloud”-solution that directly competes with your product. Or it might just be a boom or a bust in the economy that increase or reduce the number of clients and competitors you have.
But there might also be internal insights. This is especially common in software development. We try to understand the people that will use the systems we create. We try to understand, and represent in valid models, the problem domain people operate in. And we try to understand what an optimal solution would look like and what the consequences are when we try to implement it.
As we reach new understandings, our plans and strategies has to change. This will affect our solution designs, and therefore our plans on how we staff, how we work, how much time it will take, and what it has to cost us.
Changes are inevitable, either they have internal or external sources, and we need to have methods in place to make it possible for us to accommodate change. We, as an organisation or a collaboration, need to become agile.
We sometimes talk about agile methods. But we need to keep in mind that it is not the methods that are agile. It is actually the opposite: the methods are often rather strict and rigid. But the methods have the same effect on a collaboration as a exercises has on the body of a dancer or a martial artist: it makes them agile.
Ola Berg är lean/agil-vägvisare med fokus på de lite större sammanhangen: den agila organisationen (vertikalt) och det smidiga värdeflödet tvärs genom organisationen till en mottagare (horisontellt). Hur får vi frihet på arbetet utan att vi själva eller organisationen går sönder?

Ola har under flera år hållit kurser hos Informator kring Agila Metoder

Top 10 tips för en bra arbetsdag

I dagens samhälle är det lätt att bygga upp stress och saknar du små interna milstolpar för att förebygga detta kan stressen gå ut över både arbete och privat. Här är 10 enkla tips från Informators kursledare Beate Bjelke om hur du kan bygga en bra arbetsstruktur för dagen!
  1. Planera och kommunicera så att du har fokus några gånger varje dag på det egna, koncentrationskrävande arbetet
  2. Håll öga på dina egna tillstånd – mentalt, känslomässigt och fysiskt
  3. Styr dig själv och din kommunikation med omgivningen
  4. Förutse krock mellan olika mål och prioriteringar
  5. Se över dina vanor – kanske upprepar du omedvetet handlingsmönster som inte tjänar dig i din nuvarande situation
  6. Lär dig växla mellan att utföra arbete och att utvärdera vad som är bäst att göra härnäst
  7. När något skaver, tag initiativ till att kommunicera, lösa, föreslå, flagga problem. Du har inte ensam ansvaret att fixa allt
  8. Egen och andras stress är en resurstjuv, räkna med stress, då kan den hanteras
  9. "Parkeringsplatserna” – till arbete/uppgifter/epost som inte blir färdig förrän andra har återkommit till dig. Systematisera, håll ordning och kolla läget på dem regelbundet, så behåller du upplevelsen av koll på läget
  10. Var aktiv i planering och utvärdering av möten. Se till att det finns styrmekanismer som alla välkomnar (kallelse, agenda, tider, tydlig ledning, grundregler, anteckningar från mötet osv)

Beate Bjelke har arbetat med Informator under lång tid och hålla bland annat kurser inom Personlig Effektivitet, Effektiva Möten, Presentationsteknik och Medarbetare i Projekt.

Experttipset: Var finns menyvalet "Power View" i Excel 2016?

Från och med Excel-uppdateringen (version 16.0.4229.1000), kommer du inte längre att se menyvalet Power View eller menygruppen Rapporter som innehöll ikonen Power View på menyfliken Infoga. Här kommer lite tips ifrån Informators kursledare Anna-Karin Petrusson


Gör så här för att aktivera menyvalet Power View:
                   1Öppna dialogrutan Anpassa menyfliksområdet.
a.     (Gå till Arkiv, Alternativ, Anpassa menyfliksområdet, eller högerklicka på någon menyflik och välj Anpassa menyfliken).
2.   Skapa en anpassad grupp för Power View ikonen, och lägg sedan till ikonen i den nya gruppen i menyfliksområdet Infoga (eller på en annan valfri menyflik):  
a.     Markera menyfliken Infoga.
b.    Klicka på Lägg till ny grupp.
c.     Ändra valet i listan Välj kommandon från och välj Kommandon som inte finns i menyfliksområdet
d.    Bläddra nedåt i listan med kommandon som inte finns i menyfliksområdet och markera Infoga en Power View-rapport.
 

e.     Se till att både valet Infoga en Power View-rapport och din nya grupp Ny grupp (anpassad) är markerade och klicka på Lägg till >>.
f.      Flytta upp Ny grupp (anpassad) till önskad plats i menyfliksområdet, med pilarna till höger i dialogrutan. 
g.    Markera Ny grupp (anpassad) och klicka på Byt namn...
h.    Namnge den nya gruppen till t.ex. Rapporter och klicka på OK.
i.      Klicka på OK i dialogrutan Excel-alternativ.

Om du vill infoga nya Power View-rapporter, går du till menyfliken Infoga och väjer Power View.

OBS:
      ·         För att aktivera Power View i Excel första gången, måste du fortfarande utföra samma steg som i Excel 2013 via Arkiv, Alternativ, Tillägg, COM-tillägg. Läs mer här.
      ·         Det nya alternativet som du hittar via Arkiv, Alternativ, Avancerade under Data, Aktivera tillägg för dataanalys: Power Pivot, Power View och Power Map aktiverar bara det aktuella COM-tillägget, och påverkar inte utseendet eller om av Power View menyvalet visas i menyfliksområdet eller inte. För att menyvalet Power View skall visa i menyfliksområdet, måste du följa stegen ovan.

Anna-Karin håller kurser inom de flesta av områdena inom Microsoft Office och dessa kurser hittar du såklart på Informators samlingssida för användarutbildningar.