Ontwikkelde software eindigt vaker dan ons lief is in moeilijk te onderhouden code en een minder productieve organisatie. Ondanks goede intenties blijken simpele wensen moeilijker te implementeren dan nodig. Er ontstaan meer problemen dan verwacht. In het begin ging het allemaal nog zo snel, makkelijk en foutloos. Waar ging het mis? In deze sessie gaan we die vraag beantwoorden door onderscheid te maken tussen wat makkelijk lijkt en wat eenvoudig is. We behandelen bewezen technieken alsmede veelbelovende ontwikkelingen. Uiteraard kijken we verder dan het coderen, want software ontwikkeling blijft mensenwerk.
Building Mobile Apps with a Mobile Services .NET BackendSasha Goldshtein
Presentation from TechDays Netherlands 2014 on using the newly announced .NET backend for Azure Mobile Services to build mobile applications, and on using the Offline Sync preview in Windows Store apps.
Delivering Millions of Push Notifications in MinutesSasha Goldshtein
The document instructs attendees of a TechDaysNL session to provide feedback on the session via www.techdaysapp.nl for a chance to win one of 20 prizes. It notes winners will be announced on Twitter with the hashtag #TechDaysNL and to use the personal code on their badge when submitting feedback. It clarifies all results are final and prizes listed are examples.
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleJeroen Reijn
Continuous Delivery wordt vaak geassocieerd met een snellere time-to-market, maar wat als dat niet je voornaamste probleem is? Een aantal jaar geleden heeft de ANWB besloten om zich van een traditionele enterprise organisatie te transformeren naar een Agile organisatie. Bij de afdeling Hulpverlening zijn wij met drie teams bezig met het ontwikkelen van het nieuwe case managementsysteem voor de ANWB Alarmcentrale. Als onderdeel van onze agile werkwijze maakten wij een release en rolden wij deze uit aan het eind van onze 2 wekelijkse sprints. Dit leverde ons regelmatig verschillende problemen op en halverwege 2016 besloten we dat het anders moest. We hebben toen een beweging ingezet richting Continuous Delivery. In deze presentatie zullen we ingaan op de uitdagingen die we hadden, hoe we die hebben aangepakt, en op een aantal onverwachte voordelen.
Building Mobile Apps with a Mobile Services .NET BackendSasha Goldshtein
Presentation from TechDays Netherlands 2014 on using the newly announced .NET backend for Azure Mobile Services to build mobile applications, and on using the Offline Sync preview in Windows Store apps.
Delivering Millions of Push Notifications in MinutesSasha Goldshtein
The document instructs attendees of a TechDaysNL session to provide feedback on the session via www.techdaysapp.nl for a chance to win one of 20 prizes. It notes winners will be announced on Twitter with the hashtag #TechDaysNL and to use the personal code on their badge when submitting feedback. It clarifies all results are final and prizes listed are examples.
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleJeroen Reijn
Continuous Delivery wordt vaak geassocieerd met een snellere time-to-market, maar wat als dat niet je voornaamste probleem is? Een aantal jaar geleden heeft de ANWB besloten om zich van een traditionele enterprise organisatie te transformeren naar een Agile organisatie. Bij de afdeling Hulpverlening zijn wij met drie teams bezig met het ontwikkelen van het nieuwe case managementsysteem voor de ANWB Alarmcentrale. Als onderdeel van onze agile werkwijze maakten wij een release en rolden wij deze uit aan het eind van onze 2 wekelijkse sprints. Dit leverde ons regelmatig verschillende problemen op en halverwege 2016 besloten we dat het anders moest. We hebben toen een beweging ingezet richting Continuous Delivery. In deze presentatie zullen we ingaan op de uitdagingen die we hadden, hoe we die hebben aangepakt, en op een aantal onverwachte voordelen.
By Niels Bor and Marcus Drost. This workshop analyses test related problems of BI/DWH software development. Testing is a decisive factor for process acceleration in iterative and agile software development. The workshop provides solutions for solving quality, cost and time related problems. The demonstration of the highly automated and multi-functional data compare tool DREAM is part of the workshop.
The workshop is guided by Niels Bor and Marcus Drost.
We thank the SNS REAAL group for the initiation of the workshop.
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleSjoerd Hemminga
Continuous Delivery wordt vaak geassocieerd met een snellere time-to-market, maar wat als dat niet je voornaamste probleem is? Een aantal jaar geleden heeft de ANWB besloten om zich van een traditionele enterprise organisatie te transformeren naar een Agile organisatie. Bij de afdeling Hulpverlening zijn wij met drie teams bezig met het ontwikkelen van het nieuwe case-managementsysteem voor de ANWB Alarmcentrale. Als onderdeel van onze agile werkwijze maakten wij een release en rolden wij deze uit aan het eind van onze tweewekelijkse sprints. Dit leverde ons regelmatig verschillende problemen op en halverwege 2016 besloten we dat het anders moest. We hebben toen een beweging ingezet richting Continuous Delivery. In deze presentatie zullen we ingaan op de uitdagingen die we hadden, hoe we die hebben aangepakt, en op een aantal onverwachte voordelen.
Enterprise Architectuur - terug naar de essentieDanny Greefhorst
Presentatie over wat de essentie is van enterprise-architectuur zoals gehouden op het seminar Thinking outside the model op 9 mei 2018 bij de Radboud Universiteit. Kernboodschappen zijn dat agile en enterprise-architectuur een prima combinatie zijn en dat het belangrijk is om eerst intenties en de werkelijkheid te begrijpen, voordat ontwerpkeuzes worden gemaakt.
Application lifecycle management wat betekent dat nou eigenlijkHenk Beekhuis
pplication Lifecycle Management wat betekent dat nou eigenlijk?
Deze vraag werd me vandaag gesteld op een netwerkevent waardoor ik gedwongen werd in Jip en Janneke taal over de materie na te denken.
“De reis van initieel idee naar uitfasering voor een softwareapplicatie.”
Het eerste deel van het antwoord klinkt logisch, maar uitfasering? Jazeker, software heeft een levensduur en is na een aantal jaar uitgerangeerd.
Dan is het maar beter wanneer daarover nagedacht is...
Verbeter uw conversie en ux dankzij usability onderzoekvalantic NL
Als u écht wilt weten waar uw bezoekers vastlopen en waarom, dan is een gedegen Usability Onderzoek onmisbaar! In het Usability Lab van ISM eCompany hebben wij op deze manier al talloze obstakels ontdekt en learnings opgedaan. ISM’s eigen Usability-expert Danny vertelde over zijn aanpak, deelde waardevolle inzichten en liett aan de hand van veel voorbeelden zien hoe u inzichten vertaalt naar praktische oplossingen.
Dutch: Het bouwen van een embedded Linux systeem lijkt vaak op toveren. Toch kan het ook met een systematische aanpak. Dat is goedkoper en levert een beter product op. Op een pragmatische manier wordt getoond hoe die, o-zo belangrijke "herhaalbaarheid" voor embedded systemen, ook met embedded Linux mogelijk is.
Agile software ontwikkeling met continuous deliveryWillem Meints
Een gastcollege waarin ik uitleg heb gegeven over continuous delivery en agile methodieken die we binnen het knowNow project van Info Support hebben toegepast.
Complexe e-commerce concepten op basis van open sourcewebwinkelvakdag
Patrick Kieviet, Directeur Icttrainingen.nl & Pim van Gerwen, Sales director / projectbegeleider Q4matics
Icttrainingen.nl koos voor een opensource oplossing bij de bouw van hun webwinkel.
De ecommerce wensen van Icttrainingen.nl waren echter niet in een standaard opensource ‘confectiekostuum’ te passen.
Veel hobbels zijn genomen om van een opensource oplossing een goedzittend ‘maatpak’ te maken.
Pim van Gerwen van Q4matics en Patrick Kieviet van Icttrainingen.nl bespreken de do’s en dont’s bij het ombouwen van een opensource solution naar een maatwerk product en bespreken of het ondanks het maatwerk nog steeds voordelen heeft om gebruik te maken van opensource.
Natuurlijk sparen ze zichzelf hierbij niet. Ze kijken kritisch naar het ontwikkeltraject in de wetenschap dat anderen hier hun voordeel uit halen.
Wat leert u?
- opensource en maatwerk is dit verenigbaar?
- voordelen opensource als basis voor e-commerce maatwerk oplossing
- nadelen open source als basis voor e-commerce maatwerk oplossing
- voorbereiding op het ontwikkelproces
- valkuilen tijdens het ontwikkelproces
- hoe kies je een goede partner om een opensource proces in te gaan
Past het testvak nog in de nieuwe IT-wereld?Rik Marselis
Presentatie van Rik Marselis op de thema-avond die georganiseerd is in samenwerking tussen DUO NGI (KNVI) en TestNet op 25 januari 2017 in Groningen.
Onderwerpen in de training zijn DevOps, Agile, Expirience based testing (exploratory testing), coverage based testing, Spotify Engineering Culture en nog veel meer
This document summarizes a JavaScript training by Rick Beerendonk. It covers ECMAScript versions from 2015 to 2017, as well as React and Redux. The training includes components, properties, state, events, actions, reducers and stores. Sample code and slides are available on GitHub. Contact information is provided to sign up for the training.
This document discusses how to improve performance like an Olympian through planning waves of activity, rest, and recovery. It suggests alternating between different types and intensities of activities while allowing for recovery periods to avoid burnout and maintain progress. The key is to make waves in your training and approach rather than letting fluctuations dictate your efforts.
Más contenido relacionado
Similar a Niet onderhoudbare software in 10 makkelijke stappen
By Niels Bor and Marcus Drost. This workshop analyses test related problems of BI/DWH software development. Testing is a decisive factor for process acceleration in iterative and agile software development. The workshop provides solutions for solving quality, cost and time related problems. The demonstration of the highly automated and multi-functional data compare tool DREAM is part of the workshop.
The workshop is guided by Niels Bor and Marcus Drost.
We thank the SNS REAAL group for the initiation of the workshop.
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleSjoerd Hemminga
Continuous Delivery wordt vaak geassocieerd met een snellere time-to-market, maar wat als dat niet je voornaamste probleem is? Een aantal jaar geleden heeft de ANWB besloten om zich van een traditionele enterprise organisatie te transformeren naar een Agile organisatie. Bij de afdeling Hulpverlening zijn wij met drie teams bezig met het ontwikkelen van het nieuwe case-managementsysteem voor de ANWB Alarmcentrale. Als onderdeel van onze agile werkwijze maakten wij een release en rolden wij deze uit aan het eind van onze tweewekelijkse sprints. Dit leverde ons regelmatig verschillende problemen op en halverwege 2016 besloten we dat het anders moest. We hebben toen een beweging ingezet richting Continuous Delivery. In deze presentatie zullen we ingaan op de uitdagingen die we hadden, hoe we die hebben aangepakt, en op een aantal onverwachte voordelen.
Enterprise Architectuur - terug naar de essentieDanny Greefhorst
Presentatie over wat de essentie is van enterprise-architectuur zoals gehouden op het seminar Thinking outside the model op 9 mei 2018 bij de Radboud Universiteit. Kernboodschappen zijn dat agile en enterprise-architectuur een prima combinatie zijn en dat het belangrijk is om eerst intenties en de werkelijkheid te begrijpen, voordat ontwerpkeuzes worden gemaakt.
Application lifecycle management wat betekent dat nou eigenlijkHenk Beekhuis
pplication Lifecycle Management wat betekent dat nou eigenlijk?
Deze vraag werd me vandaag gesteld op een netwerkevent waardoor ik gedwongen werd in Jip en Janneke taal over de materie na te denken.
“De reis van initieel idee naar uitfasering voor een softwareapplicatie.”
Het eerste deel van het antwoord klinkt logisch, maar uitfasering? Jazeker, software heeft een levensduur en is na een aantal jaar uitgerangeerd.
Dan is het maar beter wanneer daarover nagedacht is...
Verbeter uw conversie en ux dankzij usability onderzoekvalantic NL
Als u écht wilt weten waar uw bezoekers vastlopen en waarom, dan is een gedegen Usability Onderzoek onmisbaar! In het Usability Lab van ISM eCompany hebben wij op deze manier al talloze obstakels ontdekt en learnings opgedaan. ISM’s eigen Usability-expert Danny vertelde over zijn aanpak, deelde waardevolle inzichten en liett aan de hand van veel voorbeelden zien hoe u inzichten vertaalt naar praktische oplossingen.
Dutch: Het bouwen van een embedded Linux systeem lijkt vaak op toveren. Toch kan het ook met een systematische aanpak. Dat is goedkoper en levert een beter product op. Op een pragmatische manier wordt getoond hoe die, o-zo belangrijke "herhaalbaarheid" voor embedded systemen, ook met embedded Linux mogelijk is.
Agile software ontwikkeling met continuous deliveryWillem Meints
Een gastcollege waarin ik uitleg heb gegeven over continuous delivery en agile methodieken die we binnen het knowNow project van Info Support hebben toegepast.
Complexe e-commerce concepten op basis van open sourcewebwinkelvakdag
Patrick Kieviet, Directeur Icttrainingen.nl & Pim van Gerwen, Sales director / projectbegeleider Q4matics
Icttrainingen.nl koos voor een opensource oplossing bij de bouw van hun webwinkel.
De ecommerce wensen van Icttrainingen.nl waren echter niet in een standaard opensource ‘confectiekostuum’ te passen.
Veel hobbels zijn genomen om van een opensource oplossing een goedzittend ‘maatpak’ te maken.
Pim van Gerwen van Q4matics en Patrick Kieviet van Icttrainingen.nl bespreken de do’s en dont’s bij het ombouwen van een opensource solution naar een maatwerk product en bespreken of het ondanks het maatwerk nog steeds voordelen heeft om gebruik te maken van opensource.
Natuurlijk sparen ze zichzelf hierbij niet. Ze kijken kritisch naar het ontwikkeltraject in de wetenschap dat anderen hier hun voordeel uit halen.
Wat leert u?
- opensource en maatwerk is dit verenigbaar?
- voordelen opensource als basis voor e-commerce maatwerk oplossing
- nadelen open source als basis voor e-commerce maatwerk oplossing
- voorbereiding op het ontwikkelproces
- valkuilen tijdens het ontwikkelproces
- hoe kies je een goede partner om een opensource proces in te gaan
Past het testvak nog in de nieuwe IT-wereld?Rik Marselis
Presentatie van Rik Marselis op de thema-avond die georganiseerd is in samenwerking tussen DUO NGI (KNVI) en TestNet op 25 januari 2017 in Groningen.
Onderwerpen in de training zijn DevOps, Agile, Expirience based testing (exploratory testing), coverage based testing, Spotify Engineering Culture en nog veel meer
Similar a Niet onderhoudbare software in 10 makkelijke stappen (20)
This document summarizes a JavaScript training by Rick Beerendonk. It covers ECMAScript versions from 2015 to 2017, as well as React and Redux. The training includes components, properties, state, events, actions, reducers and stores. Sample code and slides are available on GitHub. Contact information is provided to sign up for the training.
This document discusses how to improve performance like an Olympian through planning waves of activity, rest, and recovery. It suggests alternating between different types and intensities of activities while allowing for recovery periods to avoid burnout and maintain progress. The key is to make waves in your training and approach rather than letting fluctuations dictate your efforts.
[Dutch]
In juni is ECMAScript 6 definitief. Laten we alle vernieuwingen eens op een rij zetten middels sprekende voorbeelden en demos: Scope, const, destructuring, arrow functions, map, set, modules, classes, etc. Tevens behandelen we mogelijkheden om ECMAScript 6 code om te zetten naar versie 5, zodat de code ook uitvoerbaar is in oudere omgevingen. ES6 browser ondersteuning in bijvoorbeeld Windows 10’s Internet Explorer is er al gedeeltelijk, maar vereisen soms wat extra instellingen. We behandelen welke. Ook de Visual Studio ondersteuning wordt bekeken. Tot slot een vooruitblik op ECMAScript 7.
C# - Raise the bar with functional & immutable constructs (Dutch)Rick Beerendonk
OO en C# hebben geen geheimen meer voor jou. Maar toch, af en toe is nog veel code nodig om eenvoudige dingen te doen. Welkom in de wereld van functioneel programmeren. Of je worstelt met state en variabelen die onder je neus wijzigen?! Immutable collections bieden een uitweg. Deze sessie zal diep ingaan op pure functions, persistent collections, memoize, interactive extensions en andere technieken die de ervaren C# ontwikkelaar in zijn gereedschapskist moet hebben.
ReactJS.NET - Fast and Scalable Single Page ApplicationsRick Beerendonk
Introducing Facebook's React and ReactJS.NET @ Microsoft's TechDays 2015 in The Netherlands.
Is the HTML of your SPA also filled with unmaintainable semi code? Is data binding performance causing you headaches? Don’t you remember how data finds its way to the UI? Let's React! There is a new functional approach to tackle traditional complexities in JavaScript: ReactJS (open source). Maligned in 2013, embraced in 2015 by the largest websites in the world. Let's build fast components in a lasting and meaningful way. This session is a full introduction to the React JavaScript library, its virtual DOM and synthetic events. ReactJS.NET for ASP.NET MVC (and OWIN) will be covered as well. With ReactJS.NET your app starts with a server side rendered page, ideal for search engine optimization (SEO). Does your page need to work under IE8? No problem! The best part: You do not have to build your entire site with ReactJS, but you can start with any parts you like. Afterwards this talk you can immediately apply React in your daily work. See http://reactjs.net and http://reactjs.com
Voor het maken van single page web applications lijkt MVC met databinding de standaard. Daarmee zijn fouten lastig te achterhalen. Facebook ondervond dat ook en koos voor een functionele aanpak: ReactJS. Deze sessie geeft een introductie, gaat dieper in op ogenschijnlijke snelheid nadelen en laat zien hoe je herbruikbare React componenten bouwt. Tevens zal ASP.NET MVC gebruikt worden voor server side rendering van de initiële state, ideaal voor search engines die meestal een probleem hebben met single page apps. Na deze sessie zul je nooit meer hetzelfde denken over web UI’s.
24. Simple vs Easy
Easy: A+B+C
function DoAll() {
DoA code;
DoB code;
DoC code;
}
DoAll();
Simple:
A, B, C, A+B, A+C, B+C, A+B+C
function DoA() {}
function DoB() {}
function DoC() {}
DoA();
DoB();
DoC();
26. Is mutable state eenvoudig?
function change(obj) {
obj.test = "No longer hola!";
}
var a = { test: "hola"};
var b = a;
change(b);
document.write(a.test); // result: "No longer hola!"
27. Mutable example
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Linq;
namespace MutableApp
{
class Program
{
static void Main(string[] args)
{
ICollection<string> nforza =
new List<string> { "Ronald", "Thomas", "Esther", "Hendrika" };
int nforza2012Count = nforza.Count();
IEnumerable<string> nforza2012 = nforza; //.ToList();
nforza.Add("Rick");
Console.WriteLine(nforza2012Count);
foreach (var item in nforza2012)
{
Console.WriteLine(item);
}
}
}
}
28. Immutable example
using System;
using System.Collections.Generic;
using System.Collections.Immutable; // NuGet: Microsoft Immutable Collections
using System.Linq;
namespace ImmutableApp
{
class Program
{
static void Main(string[] args)
{
IImmutableList<string> nforza =
ImmutableList.Create<string>("Ronald", "Thomas", "Esther", "Hendrika");
int nforza2012Count = nforza.Count();
IEnumerable<string> nforza2012 = nforza;
nforza = nforza.Add("Rick");
Console.WriteLine(nforza2012Count);
foreach (var item in nforza2012)
{
Console.WriteLine(item);
}
}
}
}
31. Code is niet vanzelfsprekend
Is het weloverwogen en doelbewust
geschreven?
32. Eenvoudig?
• State = waarde + tijd (zie “var”)
• Alles wat state aanraakt wordt verbonden
• Object = state + identiteit
• Methode = functie + state
• Overerving = type + type
• Imperatieve loops = wat + hoe
• Frameworks = jouw code + framework (mogelijk)
38. Not enough
• Unit testing isn’t enough. You need static typing too.
• Static typing isn’t enough. You need contracts too.
• Contracts are not enough. You need generative testing too.
• Generative testing is not enough. You need simulation testing too.
• Simulation testing is not enough. You need fuzzing too.
• Fuzzing is not enough. You need luck too.
• Luck is not enough. You need user testing too.
In software development, no one thing will save your ass
Bron: http://blog.fogus.me/2012/06/20/not-enough/
44. Team & de buitenwereld
•Heb duidelijke grenzen en bewaak ze
•Geef snelle feedback
•Wees eerlijk en voorspelbaar
•Leg uit wat de dynamiek van software
development is
48. Verbeter jezelf
•Learn software development
•Learn how to solve problems
•Learn how to be a coach
•Teach!
Always remain curious, authentic and creative!
50. Laat ons weten wat u vindt van deze sessie! Vul de evaluatie
in via www.techdaysapp.nl en maak kans op een van de 20
prijzen*. Prijswinnaars worden bekend gemaakt via Twitter
(#TechDaysNL). Gebruik hiervoor de code op uw badge.
Let us know how you feel about this session! Give your
feedback via www.techdaysapp.nl and possibly win one of
the 20 prizes*. Winners will be announced via Twitter
(#TechDaysNL). Use your personal code on your badge.
* Over de uitslag kan niet worden gecorrespondeerd, prijzen zijn voorbeelden – All results are final, prizes are
examples