Welcome to MSDN Blogs Sign in | Join | Help

Introduction to Dynamics AX for Developers

I did a presentation for the Fargo Moorhead .NET Developers Group last night at the Microsoft Fargo office. The agenda was pretty simple and hopefully it was a useful for some of the 15 people that managed to sit through it prior to Andy Vig wowing us with demonstrations of the cool stuff he saw at Mix 08 :)

Agenda:

·         ERP Defined

·         Let’s have a look…

·         Integrated Modules

·         Technology

·         Developing in Dynamics AX

·         Let’s write some code…

Here's a link to the presentation: Introduction to Dynamics AX for Developers

Behavior Driven Development

At the last Fargo Moorhead Developers meeting we had a great presentation from Max Pool about Behavior Driven Development. It sounded strangely like TDD. After the meeting I jumped online and researched it some. I wanted to post the links and important excerpts that provided me the most insight into this concept:

 

Dan North - Introducing BDD

http://dannorth.net/introducing-bdd

...

I started using the word “behaviour” in place of “test” in my dealings with TDD and found that not only did it seem to fit but also that a whole category of coaching questions magically dissolved.

...

I found the shift from thinking in tests to thinking in behaviour so profound that I started to refer to TDD as BDD, or behaviour- driven development.

...

Wikipedia

http://en.wikipedia.org/wiki/Behavior_driven_development

...

Behavioral tests use the techniques of Test-Driven Development but have a more specific goal. The purpose is to define the behavior of an application rather than the implementation.

...

Testing before implementing is a crucial aspect of Behavior Driven Development.

...

Behavior Driven Development

http://behaviour-driven.org/

...

It must be stressed that BDD is a rephrasing of existing good practice, it is not a radically new departure. Its aim is to bring together existing, well-established techniques under a common banner and with a consistent and unambiguous terminology. BDD is very much focused on “Getting the words right” and this focus is intended to produce a vocabulary that is accurate, accessible, descriptive and consistent.

In fact “Getting the words right” was the starting point for the development of BDD, and is still very much at its core, but the power of getting the words right has led to some insights and extrapolations that have helped us to better understand our approach and to extend it.

...

NSpec

http://nspec.tigris.org/

...

Test Driven Development isn't brilliantly named, it hides the fact that TDD is a specification process, not a testing process.

...

BDD and NSpec have shed the test oriented terminology in favour of a specification friendly nomenclature.

...

[Context]
public class Example
{
  [Specification]
  public void BooleanSpecificationExample()
  {
    Specify.That( someObj.SomeMethod() ).ShouldBeFalse();
    //...

...

NBehave

http://nbehave.org/

...

Behaviour-driven development (BDD) is an evolution of test-driven development (TDD) and acceptance-test driven design, and is intended to make these practices more accessible and intuitive to newcomers and experts alike.

...

It shifts the vocabulary from being test-based to behaviour-based, and positions itself as a design philosophy.

...

 

Dan Pink (author of "A Whole New Mind") has coined the phrase "A metaphor can be worth a thousand pictures". My memory isn't that great so I like to distill things down to a concept or metaphor. BDD is all about getting the words and metaphors right. It is a language that I'll take a while to get used to, but after doing my best to explain TDD numerous times I can see the advantages of the behavior metaphor over the test one.

 

I'm really interested in using the specification language that Dan North was talking about... I'm going to have to give that a go...

Posted by chrisgarty | 3 Comments
Filed under:

MBF Changes: It's all about Microsoft Dynamics

A couple of people saw the recent news about the Microsoft Business Framework (MBF) and emailed me to check how it affected the team and how it affected me.

The news about the team has been mostly covered in the couple of press articles on Microsoft Watch and InfoWorld... a few people went to other Developer Division teams, we moved to Business Solutions, and we'll likely grow again very shortly.

I'm still working on the team that was building MBF, although we are being renamed (name TBD), have dropped the separate release vehicle idea and are now solely focused on providing tools and a foundation for Microsoft Dynamics including the converged product line in wave 2 and onwards (formerly Project Green). It's the same team, but significantly different :). Our initial release date to internal customers is currently slated for mid-late next year.

Going forward, I will be the Program Manager for the Business Logic team. My team is currently tasked with delivering a managed programming model for business logic, including support for extensibility.

I'm sure there will be more information coming out shortly about the Dynamics wave 2 products and I'll post links to it where possible.

Overall I'm really happy about this change because we drop our WinFS dependency (at least for now), gain a clearer focus due to the reduced scope, receive an initial release date that is within the next year, and reaffirm ourselves as a key part of the Dynamics story.

One of my collegues, Dave Froslie, has also posted his thoughts on the change.

Trust me, i
t's full steam ahead here... :)

Posted by chrisgarty | 4 Comments

And I'm back...

After a number of technical difficulties and a little apathy in getting them fixed, my blog is back up. Now I just need to start writing again...

Posted by chrisgarty | 4 Comments

My blog got mangled...

None of my old posts seem to be showing up. I'll get them back up shortly.

I haven't posted in a long time. Partially because I've been keeping myself very busy, partially because I'm working on things I often can't talk about, and partially because being on blogs.msdn.com and having thousands of people reading every post means that I feel like I can't just post 'anything'... I have to post something 'good'.

But I'm sure I'll start posting soon. I can feel the inner voice getting louder again :)

Posted by chrisgarty | 0 Comments

Conceptual Thinking Around Services: Which representation is the 'right' one?

I have been doing a lot of work with Indigo and Service Orientation recently. I've been keeping quiet partly because Indigo was just about to have its big party, but mostly just because I've been busy.

Like any programming language or development style, I like to think of a service oriented style as a combination of conceptual models (what), implementation details (how), and tooling (assistance).

We are some way down the road to having solid options for all three, but one of the more interesting discussions to follow right now is in the conceptual space.

Steve Maine has made an excellent post about conceptual models and the interplay between the conceptual models and implementation. Its so good that even Don Box linked to it.

And if that kind of thing interests you, Steve has a bunch of links in his post that will give you hours of reading material :)

WS-Eventing for Dummies

I was looking for a simple explanation of WS-Eventing, and it doesn't come much simpler than Bruce Williams's WS-Eventing for Dummies post. It provides a step-by-step breakdown of the elements in a WS-Eventing message. And part 2 and part 3 provide information about the subscription response and notification messages.

Posted by chrisgarty | 1 Comments
Filed under:

Bill Gates at CES 2005

I was watching the keynote talk from Bill Gates at CES 2005 last night. There are so many cool innovations coming out. The state of the art in software and hardware is now enabling anything you can imagine.

  • Weather report on a wristwatch? Check.
  • DVD quality movies on a device the size of an iPod? Check.
  • Setting a TV show to be recorded using just your cellphone? Check.

Exciting times...

Posted by chrisgarty | 8 Comments

Geek humour: The search dog

Rory is the co-host of the DotNetRocks online talk show and a Microsoft MSDN presenter. His blog is quite funny most of the time, and occasionally it is completely hilarious.

I just saw a post he pointed to last week. Check this out.

Posted by chrisgarty | 0 Comments
Filed under:

Ultimate Ears: The best earphones in the world

I splashed out a little a couple of weeks ago and ordered some Ultimate Ears UE-5c's. They arrived on Friday and they are nothing short of brilliant.

Imagine sitting in a sound booth with really good sound isolation and really nice dual-driver speakers. Now imagine getting that experience in the convenience of some earphones. The only downside is that you can't wear them running or walking around town since they block out so much noise you won't hearing the honking horn of an approaching car ;) (Actually, because of their custom fit, they're great for running... and you can hear a little external noise from cars)

I have sent a picture of them to my picture blog (you can get directly to the picture here).

If you appreciate high quality sound reproduction and you can afford it, then you need to get some of these. They really are the best sound isolating earphones you can get. Standard fit models like the Shure E series can't touch the custom fitted comfort and sound quality of Ultimate Ears.

Update:

I just got back from Christmas with my family in New Zealand and a few of my friends asked how "the best earphones in the world" performed on the plane. Well, I can happily report that the Ultimate Ears were brilliant and made the 48 hours of travel (Fargo - Auckland return) MUCH more enjoyable and restful.

Before I left I had to pick up a simple Radioshack 'volume control for headphones' because (1) the lowest volume on the iPod was still too loud for sleeping to (yes, they are that good) and (2) I wanted to make sure that I could quickly mute any extra loud 'announcements' that came over the in-flight entertainment system.

Once on the plane I put in my UE-5c's and I entered a wonderland. The sound isolating properties drastically reduced the plane's engine noise as well as almost completely elimating any cabin sounds, and the high quality sound from the dual drivers in each ear effortlessly piped through Amy Lee's (Evanescence) beautiful voice. On the LA-Auckland leg I slept for 5 hours straight (an on-plane record for me) with the Ultimate Ears in and the music on super low. The comfort of the custom fitting allows them to be worn indefinitely without the soreness associated with standard 'one size fits all' earphones as I found out when I wore them for most of the 11 hour flight to NZ. They are super comfortable. The low profile (another characteristic you won't find with many headphones/earphones) also allows you to lie on your side with your ear against a pillow (like I did on one of the legs when I had a spare seat next to me).

If you spend a lot of time on planes or work in a noisy environment or just want super high quality sound from earphones that eliminate the noise of the world then these really are worth every penny. Get them here.

Posted by chrisgarty | 0 Comments
Filed under: ,

Bob Muglia on WinFS: Just after Longhorn, or not until Blackcomb?

On Friday, I read coverage on News.com about an interview with Bob Muglia. In it he talks publicly about some of the options they are looking at for the WinFS file system timeline.

This morning, ARSTechnica and TechSpot had coverage of the same announcement that is a little more WinFS focused. And TechSpot had an interesting quote:

"Microsoft spokesman said that the company is trying to pull something unique with WinFS, something no one has ever done before, meaning we should be thinking of WinFS as a 2010 project, when the version of Windows beyond Longhorn, code-named Blackcomb, is slated to ship."

It is interesting to see how three different news organisations can provide similar coverage but each with a slightly different viewpoint.

Any content on this site is provided "AS IS" with no warranties, and confers no rights. Additionally, all content on this site is my own personal opinion and does not represent my employer's view in anyway.

Posted by chrisgarty | 0 Comments
Filed under: ,

Steve Ernst on serialization to XML

You my have heard about how everyone at Microsoft has an office. Well... that is true of Redmond, but in Fargo they have chosen to bring us closer together, to foster a tight knit community spirit, and to create the kind of team environment that only a cube farm can create :).

I had never worked in a cube farm before and it has been a fun experience. It creates some separation and privacy, while keeping you close enough together so that you can absorb information (I prefer the term osmotic communication over eavesdropping ;) ) from the conversations between your teammates next door.

The cubes in Fargo are organised into streets, with about ten people to a street. I live in a cube next to Steve Ernst (with Todd Lefor on his other side). Steve is a developer on the same team as me, the MBF Application Framework team. I have learnt more about MBF from Steve than from any other single source.

Steve just started blogging (and already my friend Will Luu from Melbourne has found him!), and his first post is a good one. Have you ever thought of combining idea behind the C++ union operator with XML? My first thoguht was that it might break XML's hierarchical (i.e. single parented) nature, but Steve isn't afraid to push the boundaries... read Steve's thoughts on the serialization of objects to XML.

Any posting on this site is provided "AS IS" with no warranties, and confers no rights.

Posted by chrisgarty | 1 Comments
Filed under:

Ward Cunningham on Patterns and XP

Ward Cunningham recently did a great interview with TSS.Net. In the interview he talks at length on some great topics including XP, patterns, team development, communication, simplicity, testing, and feedback.

If you haven't seen it already, it is definitely worth the bandwidth. It is available in two sizes for 56k or DSL

Posted by chrisgarty | 0 Comments
Filed under: ,

Extreme Programming Explained: 2nd edition

Recently I noticed that Kent Beck had released the 2nd edition of one of my favourite IT books (along with PEAA). I wasn't sure how much of it was new or if the changes would be worthy of the purchase. My good friend, and agile guru, Steve Hayes is excited about the new content and after reading the excerpt he has on his blog (all of which is new material) about Taylorism, I can see why.

I especially love this sentence:

Putting QA as a separate department within the engineering organisation also sends the message that engineering and quality are separate, parallel activities.

[Added]
So in my rush to get out the door to a meeting, I made three mistakes in the first version of this post. I just realised this now as I re-read it.

(1) I didn't add a disclaimer saying that the content of this site is my own personal opinions and does not represent my team's or my employer's view in anyway. I hadn't used a disclaimer yet, but I will from now on.
(2) I didn't point out that this sentence is talking about mechanical engineers (not software engineers), and that it talks about having QA as a totally separate DEPARTMENT... as opposed to having a separate TEAM or GROUP of people for QA, which is something that many software development teams do.
(3) I didn't say WHY I love that sentence so much!

I love that sentence because it is a rather blunt reminder that we need to keep development and testing activities very close together. I like to remind myself often that the feedback between these two activities needs to be prompt, and frequent. Something, I might add, that all the successful software development teams I have known do very well... my current team included :)

 

The content on this site is my own personal opinions and does not represent my employer's view in anyway.

Posted by chrisgarty | 0 Comments

My New Obsession: The Humble Weather Report

Ever since I got to Fargo I have been fascinated by the weather. I have never lived in a place where I had anything more than an overnight frost, even in the dead of winter. I find it funny that even though it has snowed a couple of times already, everyone keeps telling me that it is still only 'cool' and not 'cold'. Well, as of next week, it'll be permanently below freezing... and continuing to get 'cooler'.
Posted by chrisgarty | 2 Comments
Filed under:
More Posts Next page »
 
Page view tracker