Category Archives: Thinking NAV

Running PowerShell from VS Code

Did you know you can run PowerShell from Visual Studio Code?

One of the biggest strength of VS Code is its diversity and the fact it is very light weight. I have already been using VS Code to do a lot of things with Git for a while because it natively integrates nicely with Git which is a huge plus.

Now a while back I tried to use PowerShell with VS Code but it was just not working well at the time, but recently I tried again and things have changed a lot. If you install the PowerShell extension from Microsoft you can now edit and run PowerShell scripts natively inside VS Code just like you can from PowerShell or PowerShell ISE.

You can find the extension here:

https://marketplace.visualstudio.com/items?itemName=ms-vscode.PowerShell

VS Code – One tool to rule them all.

Transform or …

Looking at the vast majority of partners today they still sell one off project in east, west, north and south. Partners have gotten so comfortable doing what they have always done that they continue to do it because it seems like the sure thing to do.

However the world is rapidly changing and customer increasingly see through the cost of maintaining custom software. Customers typically sign off on traditional project, so they now own the bugs that are left in the custom software including the burden of fixing them. The software is also not improving with an ever changing industry requiring better and smarter ways of getting things done including new regulations and opportunities.

Customer get stuck back on older versions with costly upgrades or reimplementation’s as a consequence. This means the customer typically every 7 years or so will consider an upgrade, reimplementation or a new product. Any one of them require training, lots of time to consider the options, dedicated staff to manage or be part of managing the project, new hardware, roll out, many rounds of testing, headaches and money.

So why do customers and partners allow it?

Increasingly customers say no. That is not where we need to be. Customers wants to focus on their business just like partners should focus on delivering value to customers. In other words partners need to transform their business model and delivery or …

Today we are heading to the cloud. We are heading agile.

Partners should focus on their industry knowledge and create small or big apps to resolve customer issues so customers than can pick and select to add together one way or another. We are heading to a world that works like the great Danish and world famous toy called LEGO which is a acronym for the Danish words “Leg Godt” which means “Play Well”.

So what does this mean for the channel.

Partners that don’t have industry knowledge have an issue. My advise is get it or partner with someone who has it but no product knowledge.

Secondly change the way you deliver software. Look in to SCRUM or some Agile form of delivery. It is proven to work, but there is no half way of doing it. You either transform your entire organization to work with SCRUM or you don’t. Doing it half and than saying it doesn’t work is not an option. SCRUM only works if you practice it through out your company.

Things are changing. Are you?

PLAY WELL my friends.

 

 

Source Code Management: Evil, a waste of time, too much work or something much better?

A great chalk talk (CT103 – Useful Tools for Getting the Most Out of NAV) with Waldo at Directions in Phoenix was my inspiration for this. I ended up high jacking part of Waldo’s session (so sorry Eric. I will try to restrain myself next time), because I could see so many possibilities for our community. After the session I had a great hall chat with Eric (Waldo) Wauters, Mark Brummel and Gary Winter (all 3 of them behind the Partner Ready Software initiative), sharing some of the things I have learned over the years of using source control.

The inspiration for this blog post came from this discussion.

So what is source code control and what benefits among others does it bring us:
· Source Code Control
· Product Management
· Code Review
· Branching strategies and Code Management

Let me go through each one and talk about the benefits.

Source Code Control is the obvious one. This is what everybody is thinking about when they think Source Code Control. We know what code was change, who did the change and when it was done. If this is all you are considering Source Code Control to be you need to keep reading. While it is all nice things they really don’t bring much value to the table. We are missing the most important information. Why was it changed? The “why” is the “Work Item” that caused this development to be done. The “Work Item” can be a Bug, a Task, an Issue, and so on. You properly have some kind of naming in your organization. If your Source Code Control system doesn’t track the reasons why we are making the changes it is only half implemented.

That brings me to Produce Management. Source Code Control is about securing your intellectual property, but if you only secure the code and not the understanding and reasoning of the code all you have is code and not intellectual property. Product management is about securing that you are doing the right things for your product for the right reasons.

Code Review. Sounds borrowing and might sound like you want to hit your developers with all the mistakes they make, but if that is what you are thinking of, you have the complete wrong approach. Code Review and Source Code Control makes it possible not only for the individual developer to review his/hers code before check-in, making sure that it is only the intended code that gets into the system. It also makes it possible for peer review causing the developers to learn tips and tricks from each other creating better and more error free code. This mentor process creates a better and stronger team with the highest class of developers.

Branching strategies: You might think I have gone completely off the deep end now and you will not be the first to think so, but in reality, this is one of the greatest benefits with source control that often is totally over looked. I did not hear anybody even mention it and this is an essential part of why everybody needs source code control. If you are creating releases or hotfixes the right setup is going to help you manage it all and with very little work. It is about being able to manage your code in a total transparent way.

So we have established that Source Code Control has more to offer then just “Source Code Control”. It should be part of every partners approach to development. I know we are all different and some of us develop verticals, others add-on’s and again others are doing purely horizontal project after project.

It doesn’t really matter who you are and what you do. If you are serious about NAV development, Source Code Control should be part of your planning.