Wednesday, February 7, 2018

Microsoft Dynamics NAV - Cumulative updates - Feb 18

Following Cumulative updates has been released by Microsoft in Feb, 2018. This is advisable to apply the fixes for version 2018 and 2017 as it includes a lot of problem fixes for both platform as well as application which you might be experiencing with your current implementations -

  1. Microsoft Dynamics NAV 2018 - Cumulative Update 02 (Download)
  2. Microsoft Dynamics NAV 2017 - Cumulative Update 15 (Download)
  3. Microsoft Dynamics NAV 2016 - Cumulative Update 28 (Download)
  4. Microsoft Dynamics NAV 2015 - Cumulative Update 40 (Download)



Wednesday, January 10, 2018

How NOT to fail your NAV offshore development?

How NOT to fail your NAV offshore development?

Many a times we require some helping hands to complete a project on time. Sometimes it is only for short term and sometimes it is due to a large project where we need to scale up the team really fast. This is where we think about getting the development done with the offshore development team. Cost is of course another factor as we want to increase the project profitability.

Have you ever worked on such project where the development team is sitting miles away? How was it working on such projects? Was it always as smooth experience as with the onsite development team. I have been part of many offshore development projects and have seen some of the deliveries going through a lot of pain. On the other hand, many of the deliveries were so smooth that the testing team faced difficulty in finding even a single defect. So, what should be kept in mind to ensure the successful and smooth off-shore development experience.


Most common Issues faced in Off-shore Development -


  1. Frequent change in requirements and designs resulting in a lot of rework and sometimes leads to conflict between onsite and offshore team
  2. The development team is not able to move further due to the input required from onsite team
  3. Just before the delivery date, you get the surprise that the work is not complete
  4. The customization done by the developer are not as per the best practices
  5. Documentation / In-Line comments are missing. The onsite development team is not able to figure out the customized code
  6. Customization done by development team has a lot of defects
  7. The developer has not tested his development before sending
  8. The objects released by the development teams are from different base and creating a lot of confusion




What should NOT be done?


1.      Assume anything
“Assumptions are killers” is what I learnt by working on the multiple development projects. Please be specific as much as possible while preparing the technical design document. The technical design document should cover the field level details to be created in case of a Table / Field creation. The Functional Design should also provide the test scenarios to be tested.

2.      Starting without freezing the scope

This is one of the biggest reason why the offshore development go-through a lot of pain. Not freezing the scope / requirements results in a lot of rework and affect the quality of the development. So, let’s not send an incomplete Technical / Functional design to the offshore development team.

3.      Delegate and forget

Don’t just handover the Technical Design and forget about the development until the release date. You need to monitor the progress on day-to-day basis otherwise you might get unpleasant surprise just before release.

4.      Outsourcing tasks other than development

This is my suggestion when you start a project with a new team, you should outsource only the development work. The tasks apart from development for e.g. Functional Design and Technical Design requires a close coordination with Solution Architect and the client hence it is better to do them onsite. 

You might outsource technical designs later if the person has been on the project for more than 6 months or so as he will be very much comfortable with the development process and functional  process flow. 

What should be done?

1.      Agreeing on the Standards / Development Process to be followed

a.       Communicate the Best Practices, Commenting / In-Line Documentation standard for MS Dynamics NAV
b.       Finalize the development process and the documentation required

2.      How should the development environment be setup?

a.       Create a development environment to be used by the Off-shore development team
b.       Setup a Source Code Management software like GitHub or TFS. The NAV Objects can be exported in txt format and stored on GitHub or TFS.
c.       The Offshore development team should put their changes on TFS / GitHub 
d.       The onsite development team should pick the changes from TFS and put it on onsite Testing Environment

3.   How to handover the requirement to the developer?

a.       Share the Functional Design, Technical Design and Test Scenarios with the development team to study
b.       Development team should go-through the document and prepare the list of their queries
c.       Arrange a walk-through session with the Functional Designer, Technical Designer and the development team to discuss these queries

4.   How to ensure the Development is going in right direction?

a.       Daily Skype Meeting - Arrange a daily skype meeting with the development lead for discussing the progress and challenges
b.       Peer Review - After the development, the off-shore development team should do the Peer Review to ensure that the standards / best practices have been followed. The reviews feedback should be documented in Peer Review Log 
c.       Random Code Review – The onsite Development Lead should do the random code reviews to ensure the quality of the deliveries. 
d.       The Developer should prepare the Release note with Unit Test Evidence. This helps to ensure that the developer has done the unit testing before releasing it for testing.


5.   How to handover the development to onsite team for the testing?

a.       The developer should check-in his changes to the Git-Hub / TFS
b.       He should prepare the Release note with Unit Test Evidence with the scenarios tested


6.   Sharing the Testing Feedback and tracking the process?

a.       If we have the Incident Management System, nothing like it otherwise the Issue Tracker in excel must be created. There should not be one email for each incident. Complete the testing and put it in Issue Tracker and share with the off-shore development team
b.       The offshore development team should update the status with the action taken


7.   Team composition and responsibilities (In the context of offshore Development) -


Onsite
·         Solution Architect
-          Responsible for overall solution design on macro level
·         Functional Designer
-          Responsible for providing Functional Design for the Gaps
-          Testing the release and maintaining Issue Tracker
·         Development Lead
-          Preparing Development and Testing Environment
-          Finalizing the Coding Standard, Best Practices, Commenting Formats
-          Responsible for providing Technical Design for the Gaps
-          Answer queries raised by the off-shore development team
-          Conducting random Code Review
-          Deploying the changes from TFS to Test Environment
Off-shore
·         Offshore Development Lead
-          Track overall progress of Development and the quality of work
-          Ensure that the Development Standard set are being followed
-          Participate in daily scrum for the development progress
-          Helping / guiding the offshore development team with design or development issues
-          Peer Reviews
-          Release Notes Preparation
·         Developers
-          Study Technical Design and prepare the queries
-          Development
-          Peer Reviews
-          Unit Testing
-          Unit Test Evidence Preparation
-          Check-In the changes to TFS


8.   Documents to be prepared -

Thursday, December 14, 2017

Micrsoft Dynamics NAV - Cumulative Updates Release for December 2017

Following Cumulative updates has been released by Microsoft in Dec, 2017- 

Below is the summary of the important fixes (not a complete list) that I feel will be useful to you and might be troubling you already. I have picked only the important ones and segregated them in four categories -  Performance, Report, Process and Platform. I believe it will help to find it faster if this is related to any of your existing problems. -

NAV 2017 - CU 13
Performance
222906 The post is very slow when you post a large number of G/L transactions through the recurring journal. Cash Management COD 13
232699 The Customer Card page can incur performance issues that are caused by calculations for the Statistics page. Sales COD 763 PAG 21 TAB 21
Report
231426 The Bank Acc. Recon. - Test and Bank Account Reconciliation reports include the reversed transactions. Cash Management REP 1408 REP 28021
231834 The Customer Aging reports have some problems with display. Finance REP 105 REP 106 REP 109
231532 The Total line in the Item Age Composition - Value Report shows same value as line before instead of totaling the whole report. Inventory REP 5808
232771 The Balance To Date report shows entries that are posted after the selected ending date. Sales REP 121 REP 321
Process
230918 Incorrect code in the GetVendLedgerEntry() function that references to CUST instead of VEND. Finance TAB 81
232553 Unexpectedly a payment shows a remaining amount after you apply an invoice and a credit memo through a payment journal. Finance COD 11
234116 When you enter 17th and 18th lines on the General Journal page, the Description value is unexpectedly changed. Finance PAG 39
232540 The "The Stockkeeping Unit already exists" error message is shown when you run the Calculate Inventory Value action on the Revaluation Journal page. Inventory REP 5899
234378 The "Select Dimension Value code XXXX for Dimension code XXX for Item XX" error message is shown when you post the invoice with charge (Item) and dimensions. Purchase COD 21

NAV 2016 - CU 26
Report
231833 The Customer Aging reports have some problems with display. Finance REP 105 REP 106 REP 109
231621 The Balance To Date report shows entries that are posted after the selected ending date. Sales REP 121 REP 321
Process
232552 A payment unexpectedly shows a remaining amount after you apply an invoice and a credit memo through a payment journal. Finance COD 11
234377 The "Select Dimension Value code XXXX for Dimension code XXX for Item XX" error message is shown when you post the invoice with charge (Item) and dimensions. Purchase COD 21


NAV 2015 - CU 38
Platform
234878 Reports cannot be run from a job queue and incorrect date formats
Report
230927 The Customer Aging reports have some problems with display. Finance REP 105 REP 106 REP 109
Process
230943 Unexpectedly a payment shows a remaining amount after you apply an invoice and a credit memo through a payment journal. Finance COD 11
231022 An incorrect total amount is calculated when you post a partial invoice for a sales order. Sales COD 80 COD 90 TAB 37 TAB 39


NAV 2013R2 - CU 50
Performance
251229 Performance issue when you reverse transactions with a high number of entries connected. Finance COD 12 COD 17 COD 5600 TAB 179 PAG 315 REP 11009 TAB 254
Process
233999 The "Select Dimension Value code XXXX for Dimension code XXX for Item XX" error message is shown when you post the invoice with charge (Item) and dimensions. Purchase COD 21