Archive for the ‘Navara Mobility Suite’ Category

NL: Nieuwe ontwikkelingen binnen Navara; een technisch kijkje in de keuken…

Monday, February 22nd, 2010
René Zeldenthuis

René Zeldenthuis:  Software Developer

De hoeveelheid data neemt steeds maar toe en we willen steeds meer data offline tot onze beschikking. Te denken valt aan het op het mobiele toestel beschikbaar hebben van een postcode database of misschien wel het gehele klantenbestand. Dit heeft automatisch ook tot gevolg dat de hoeveelheid data die wordt overgestuurd groter wordt; dit is eenmalig. Nog interessanter wordt het om de gegevens allemaal actueel te houden en dit op een zo slim mogelijke manier te doen. Het is nu eindelijk zover; alles is doordacht; de specificaties zijn klaar en een compleet nieuw synchronisatieprotocol wordt momenteel geïmplementeerd!

Wat er zo vernieuwend is aan dit nieuwe protocol zijn de volgende vier hoofdbestanddelen:

  • Slechts veranderingen worden doorgestuurd. Hierdoor is het niet nodig om bij een wijziging (van bijvoorbeeld één postcode) de gehele database over te sturen. Ook is het niet meer nodig om een referentie van de aanwezige gegevens over te sturen naar de server.
  • Bij het verbreken van de verbinding tijdens het synchroniseren kunnen alle gegevens dusver ontvangen toch worden verwerkt; het protocol is geheel ‘restartable’.
  • Er wordt gebruik gemaakt van http/https. Hierdoor gaat dit nieuw protocol door de aanwezige proxy servers en deze poorten staan mestal open in de firewall. Verder is het https protocol (dat bijvoorbeeld ook voor telebanking wordt gebruikt) tegenwoordig standaard voor het versturen van gevoelige data.
  • De Navara client bilijft altijd verbonden. Indien er gegevens worden ontvangen die relevant zijn voor de client worden deze direct doorgestuurd (push). Ook worden gewijzigde gegevens van de gebruikers direct teruggestuurd. Uiteraard worden deze gegevens opgespaard indien er geen verbinding mogelijk is en deze direct verstuurd zodra dit weer mogelijk is.

Uiteraard is het wel nodig dat er gebruik wordt gemaakt van een nieuwe client en server dit dit protocol kunnen ondersteunen. Dit zal even lastig zijn maar hierdoor wordt Navara nog sneller, veiliger, rubuster en actueler!

Projectmanagement methode SCRUM

Monday, February 15th, 2010

Mike Groenenberg: Manager Software Development

In elk software bedrijf waar complexe producten worden ontwikkeld, kom je op een punt dat er een verandering gewenst is om de markt nog beter te kunnen bedienen. Dit kan inhouden dat er nieuwe technologieën op de markt zijn die geïntegreerd moeten worden om toekomstige ontwikkelingen aan te kunnen of nieuwe features implementeren waar de huidige markt op wacht.

Hoe ingewikkelder het product, hoe lastiger het wordt om dit naast het onderhoud en huidige roadmaps in te plannen. Bij dit soort projecten wordt vaak gekeken of er gebruik gemaakt kan worden van tijdelijk extra capaciteit. Mogelijke keuzes zijn dan detachering of outsourcing. In het laatste geval kan er gekozen worden voor nearsourcing, wat inhoudt dat het project geoutsourced wordt maar vaak binnen Europa, in bijvoorbeeld Bulgarije of de Oekraïne.

Nearshoring heeft in ons geval als voordeel dat de ontwikkelaars maar met 1 uur tijdsverschil in een virtueel ontwikkelteam productief kunnen zijn,  het kennis niveau vrij hoog is, Engels op redelijk tot goed niveau is en last but not least er weinig cultuur verschil  is (zeker als je dit vergelijkt met outsourcing naar landen als India).

Het meest uitdagende in een out/nearsourcing project is, naast het project management, kennis overdracht. Hoe maak je duidelijk wat de specificaties van de geplannde taken zijn als je niet ‘face-to-face’ zit. Gelukkig is Oost-Europa maar een paar uur vliegen, dus met meer ingewikkelde specificaties kan het ook echt ‘face-to-face’, maar in de meeste gevallen is het makkelijker om gebruik te maken van hulpmiddelen als GoToMeeting of Skype en een goede projectmanagement methode.

Voor Navara is na onderzoek gekozen voor de projectmanagement methode SCRUM. Door de interactieve manier van werken, in vergelijking met de traditionele software ontwikkeling methodes, is het team enorm betrokken in het planningsproces-

Dit uit zich onder andere in:

  • Grooming sessies: feature specificatie rondes voor het definiëren van specifieke features. Op deze manier hoeft de specificatie niet van te voren volledig op papier te staan en kan het gehele team meedenken over de specificatie.
  • Sprints: duidelijke, korte implementatie periodes.
  • Burndown Chart: duidelijk beeld over de huidige stand van voortgang.
  • Backlog: overzicht van alle items die ingepland staan voor het project voorzien van heldere prioriteiten.
  • Task Breakdown: Features opgesplitst in taken van 1 tot 2 dagen die zelf door een ontwikkelaar binnen een Sprint opgepakt kunnen worden.
  • Daily Standup Meetings: Elke dag een korte meeting met het gehele team (vaak niet groter dan 5 tot 6 mensen) waarbij de vragen, ‘Wat is er gedaan sinds de laatste meeting?’, ‘Zijn er problemen met de taken?’, ‘Wat staat er op de planning tot de volgende meeting?’.

We zijn nu een jaar bezig, en de keuze voor nearsourcing en de SCRUM methode Blijkt een hele goede te zijn. Wij zijn uitermate tevreden.

Over SCRUM

Increased Functionality without Complexity: Mobility Solution for SAP

Wednesday, December 16th, 2009

Bill McDaniel: Navara Software Engineering sap Increased Functionality without Complexity: Mobility Solution for SAP

SAP.  No three letters command such a wide range of emotion in the enterprise.  Well, in the late 90’s perhaps CRM came close.  Large-scale enterprise-wide systems are incredibly complex.  It’s a major investment not only financially but emotionally.  For those who have lived through an SAP implementation, the aftermath is varied:  Some are delighted, some frustrated, and everyone can agree that it’s a long, long road.

(more…)