Managing a Dynamics AX 2012 implementation using Lifecycle services


OK, so you got a new assignment to implement Dynamics AX. You have heard very often everyone tell you about how important it is to focus on business issues and not product or technical issues alone. So you collect the business challenges that you can lay your hands on and let them marinate for a while. You quickly realize that business challenges that customer wants addressed are at a forty thousand foot level like save me costs, improve visibility in my supply chain or increase product profitability and so on. There is unfortunately no function in Dynamics AX that you can execute and get those issues addressed. The only way is to break those challenges down, locate them in the business processes and then identify which Dynamics AX capabilities can be used to address them. So for instance introducing workflow (product capability) in managing purchases (business process) will result in saving costs (business challenge). But there are many challenges, many processes and many capabilities. Doing this one off will clearly not translate into sustained business value and you will also struggle with demonstrating to the customer that your implementation of Dynamics AX has actually led to improvement and/or has actually addressed the challenges. Once you see this, you quickly appreciate the importance of modeling the business processes, defining scenarios to break them down further, getting a project plan in place to execute against, etc. So how do you do it? Normally all such activities could be separate projects in themselves, but most likely, given the time & budget constraints you can’t indulge yourself in such luxuries. This post describes one simple and fast approach using existing tools which you could take even if you are standing neck deep in engine oil!


First, start with a business capability model that customer has even if it is old and inaccurate. Only very large companies have done decent work on such a model to get you the detailed business processes you would need under each capability. Mostly you will find customer business capability models are very high level like manufacture and design and so on. Some will break this down further and will have schedule manufacturing and release design and so on. If you find yourself staring at a capability model like that, don’t be dissuaded, use one of the industry frameworks or capability models. I prefer to use APQC process classification frameworks or SCOR model. In this post, I refer to APQC.

Second, use APQC PCF for customer’s industry to augment customer’s capability model. Find relevant nodes on customer’s capability model and add to these various levels from PCF like for instance under manufacturing/schedule manufacturing, add further levels like schedule production and schedule and sequence jobs. Usually this activity will lead to healthy debate about terminology or lack thereof. For instance in this example, don’t be concerned about production being added as a subset to manufacturing when this should be other way round. Reason is that customer thinks their capability is manufacturing and not production, so be it. Using customer specific language is more important than using terminology from a standard framework – remember this is simple & fast approach, so take some shortcuts to get ahead, come back and iterate if you encounter too much resistance.

By this time you have four levels – process category (manufacturing), process group (schedule manufacturing), process (schedule production) and activity (schedule and sequence jobs). By doing this, you are breaking down capabilities in customers’ business capability model to individual business processes and activities. At this stage, if you find yourself going down the path of mapping each and every business process and activity in this model – stop yourself. Remember that this is part of an ERP implementation project where the objective is to address business challenges by implementing Dynamics AX. So, focus on the processes and activities that are more likely to address the business challenge and leave the rest out.

Hopefully you have been capturing the unstructured information that you have been collecting in your interactions with business managers and users. If you want you can use an O365 account and store all such data in a sharepoint repository.

Third, now that you have four levels of your model already defined, add a fifth level called scenarios – for instance under activity - schedule and sequence jobs, use that unstructured information or customer provided requirements list and add scenarios like describe the production route to schedule and sequence jobs, run operations scheduling, run jobs scheduling. Strictly speaking these don’t always end up like the ideal scenarios that have a persona and action taken by the persona. Sometimes they might and at other times they may be at a higher level. Granularity that you can achieve will depend on detail in the business process that you want captured in the model. Scenarios at this level should not go across departments, they should be small and within span of control of one manager. If you focus them keeping customer organization in mind, you will find that you get a very attentive audience and you can churn through this activity at a faster pace without getting impeded by departmental politics.

Fourth, add a further level to scenarios – call these user stories. These must be the requirements that you want to fulfil using Dynamics AX. User stories are very targeted at one user, usually an action that one user takes in one flow through Dynamics AX like edit the resource loading for works order on Gantt chart and view the result.

Let’s recap what has been achieved by now. Instead of working of a requirements laundry list which itself has individual list items on varying levels of detail, you have (1) brought the requirements at same level (2) you have defined them in a way that they are targeted at individual users (3) you have defined them at a level at which you would normally configure Dynamics AX (4) placed the requirements in the right hierarchy of business processes they belong and as a result (5) you have created a model which explicitly states fulfilling requirement A will mean changing business process X which will mean improving business capability Z. You have identified specific users in customers’ organization who will champion a requirement to fulfilment. You can go further and add derived business value at the scenario level. Then you could explicitly state that completing this scenario will say, reduce manufacturing cost. For more quant oriented projects, if you can find, you can add an estimate of derived value (for instance, estimated cost saving) at scenario level and then add them up to show the total derived value.

And no, by no means you are doing this in MS Excel. You are doing this in Task Recorder that ships with Dynamics AX 2012.

Fifth, as you go through this process, you will identify gaps that cannot be filled by standard Dynamics AX 2012. To make sure that these are addressed add or modify scenarios and/or user stories to account for these gaps. Once the model is there in Task Recorder, get your team to start doing recordings. Use these recordings to show your prototype to the users. You should not aim to get the complete model in place at the first instance. Instead you should use the approach described briefly by Nalin in this post, keep iterating, and changing recordings until the user is satisfied. Then use the recording for training purposes later on in the project. Once scenarios and user stories are in usable shape, if a project plan already exist, place the user stories under relevant nodes in project plan or use these stories to create a project plan. If you use TFS for project management and if you use the Agile 6.0 template, it will look something like this.  

Sixth, add additional deliverables to user stories as required for instance add development and configuration tasks to each user story.

Seventh, add test cases to the project plan to ensure that user stories and associated deliverables do what they are meant to do.

 

Once you have the recordings in Task recorder, upload the .axbpm package file to business process modeller in LCS (Lifecycle services) for AX2012. BPM in LCS is a great tool for all your users to visualize the process and view the recordings. For instance in the picture below, there are four recordings for process group 3.4 and six recordings for process group 3.6. You can access other LCS resources on this page.

With such a structure in place, you are in control of the project. As deliverables complete, user stories will get completed. As user stories get completed, you can see which scenarios are getting fulfilled and find out what processes and being changed, what capabilities are being improved, what business challenges are being met and eventually what value is being added.

Comments (17)

  1. Erik Ritzell says:

    Hi Akshey!

    Thanks for a good explanation! I'm struggeling to get us up and running with LCS. Unfortunately there is a lack of examples such as yours out there. Personally we need guidance to set it up the structure of our work and understand how we could/shoudl use LCS eto maximize the efficiency in the implementation.

    There are a few things I did'nt catch completely. Let me try to explain:

    1. Scenario" and user story. How did you get these two in there in the hierarchy?
    2. How would you add additional deliverables (such as development and configuration tasks for example) to user stories? How/where would you register development and configuration details? Do you mean that you would register those as a wrice elements on the shapes in the process map and track progress from the issue list?

    3. Could you please elaborate a little bit more regarding "how and where" on this: "As user stories get completed, you can see which scenarios are getting fulfilled and find out what processes and being changed, what capabilities are being improved, what business challenges are being met and eventually what value is being added."

    Appreciate your effort alot! Thanks in advance!

    erik.ritzell@connecta.se

  2. erik ritzell says:

    Hi again!

    Do you know what the below settings do. The settings that you find in the left pane on the process map.

    • Set up
    • Master

    • Configuration

    BR

    Erik

  3. AksheyGupta says:

    Erik

    LCS BPM works together with Task Recorder. After you make a recording in task recorder, you should build the package and upload it to LCS in BPM, then you will be able to see a process map generated automatically based on your recordings and the video. I find this video as very useful. Before you start recording in task recorder, you can setup your industry, framework, hierarchy levels. In these hierarchy levels I added two new levels – scenario & user story. Note I created a model from ground-up, I am not using the given APQC model in the example above.

    You can register deliverables/configuration details as wrice elements but I think this will be difficult to manage as the model grows in size. So, I type my leaf nodes (user stories) into TFS and then create additional deliverables under these user stories in TFS. When you are building the model first time in Task recorder you can do a import using excel and you can import the same excel with only leaf node in TFS. if you already have a model in TR and no excel then you can either tweak the TR code to give you output of the model in an excel file or you can manually copy/paste one by one into TFS – takes time πŸ™

    User stories are in TFS with deliverables etc attached to them. As you complete deliverables, user stories get completed and by extension scenarios to which they belong get completed too and so on the whole chain backwards. if you want to measure 'value added', this is only an estimate and very manual at this moment – meaning you maintain this in excel or tweak TFS to have an additional field to capture this. Perhaps a calculation of time saved by implementing the scenario in AX as compared to what the customer does now. If you have this for many scenarios in a process group or at a higher level then you can calculate the total improvement after implementing AX – of course, this is subjective and an estimate at this point. But just having an estimate of value added against each user story or scenario helps in prioritizing what to do.

  4. Erik Ritzell says:

    Hi Akshey!

    So, we're finaly getting closer to start using LCS in our project. I'm struggeling with a couple of questions I hope you'd be able to answer for me. Here we go:

    SCENARIO:

    Say you've build your process hierarchy and have completed initial recordings of AX-std processes and upload them to LCS.

    You then start running CRP with customers. The outcome of the CRP will be changes on number of processes which you register as gaps on the process maps.

    You then make changes to the process, configure and/or build extensions and then make a new recording of the process.

    You would then like to update the process in LCS (both the process map and the recoding) so the customer could review it or to have a new process map where additional gaps could be registererd during the second CRP with the customer.

    QUESTIONS:

    1. To uppload recordings of std processes for use during CRP 1. Would this be the method or should iterate the processes/recordings only in AX and TR and wait with the upload until customer have accepted the processes?
    2. IF you would go about uploading an updated packet to LCS before each new CRP. How would the versioning work? Would gaps from current upload be merged/transferred with/to the new upload? Or would i just find two different frameworks to choose between in LCS. The old and the new?

    Looking forward to your answer!

    BR,

    Erik

  5. AksheyGupta says:

    Hi Erik

    Changing process diagrams to show where gaps are – is a good way to capture gaps in the process flow itself. However I find the GapID-import of .csv file to TFS etc. is relatively clunky as of now, we are improving it in next updates.

    Once you have changed the process diagram, when you upload the .bpm package from TR, the recording for that particular process diagram will not be overwritten – which is how it should be since you don't want a TR recording to create a new process flow and overwrite all gaps you initially identified.

    So, the best way is to create another project in business process modeler – perhaps one for every CRP if you want to maintain the view on how processes looked before CRPs started and how processes changed as CRPs progressed. Of course these new projects will only contain the processes for which gaps have been addressed.

    Should you upload the package into LCS before CRP or after customer has accepted the process? – You have to answer this yourself πŸ™‚ there are proscons for both. If you want to use the recording as a 'conversation starter' with the user – record them before. Disadv – you have to record again after both parties come to an agreement. This in my mind is better but requires more effort.

    If you have other tools at hand to start the conversation and get to an agreement on behaviour and only want to record the process as final & agreed process – do it after CRP. Adv – do it only once. Disadv – you don't have anything to show until quite late and then team should have strict definition of what is 'final & agreed' – I find not everyone in team wants to make this effort until the very very end – in that case, you lose the value you could have gained by using this upfront.

  6. Erik Ritzell says:

    Hi! I really appreciate your answers. Thanks a lot!

    I did some additional testing and came to some of your conclusions. E.g the fact that it could be wise to create a new project for each CRP (as you say, IF you want to track/show progress of processes) however, if you register gaps on processes in packet1 and then upload packet2 and register new gaps on these processes. The gap analysis list will for each gap show a reference to the corresponding project.

    Anyway, I get your point. As the TFS import isn't that smooth yet, I figure one good way could be setting the effort level to iterating the below until you reach an agreed solution:

    1. Model the framework in TR
    2. Creating recordings only for the most important processes

    3. Manage gaps and modifications of processes in other document

    One more small things though πŸ™‚

    I made recordings in Contoso environment on a custom made frame work. The document and video gets saved, BUT I get a information message after ending the recording saying "No tracing was carried out". I import the package to LCS just to find that my processes doesn't contain any flow charts…

    Have you ever experienced this and do you have any idea what could be the issue?

    BR,

    Erik

  7. Erik Ritzell says:

    Hi again! LCS is just too much fun πŸ˜‰ Sorry to bother you again..

    I just realized that highlighting a Process Category in LCS and using the "Doc" functionality actually would create pretty close to what would be the final "Solution Design Document" in the format customer desired. A real time saver! IF it would work πŸ˜‰

    My tiny problem:

    I set up my own framework in TR, select "Edit node", and enter text in the fields "Description" and "Business Measure". I then import the package to LCS. The hierarchy IS then imported BUT none of the text I entered got imported. The description and business measure fields on each process is totally blank?

    Any idea?

    By the way. I respect your time and don't want to burden you with my problems πŸ˜‰ Do you know who would be the correct recipient of issues related to LCS? I don't know if the normal Incident reporting covers LCS? Sending feedback via LCS page never results in any feedback. I've tried πŸ˜‰

    Thanks again!

    BR,

    Erik

  8. Don Tyler says:

    Everything seems to be geared towards APQC. How difficult would it be load the 5 level SCOR reference module?

  9. AksheyGupta says:

    Don

    you can load SCOR, it's not more difficult. we provide APQC based model with recordings out of the box but LCS BPM is not dependent on what model you use.

  10. Arijit says:

    Don: The LCS BPM is independent of the Industry process models. You can upload any process models of your choice.

  11. AksheyGupta says:

    Erik

    could you get the two issues above resolved? Tracing not carried out and blank description and business measure fields?

  12. Erik says:

    Hi Akshey!

    I have an ongoing issue with MS support. Hopefully we'll get this resolved shortly.

    Thanks for asking.

  13. Erik says:

    Hi Akshey! Hope you're doing fine progress with LCS. I can't wait to get started.. any day now πŸ˜‰

    We're in the start of an implementation, finishing the design phase, but haven't stared using LCS yet. However, I see a possibility in the development phase that I would like your input on.

    We will soon begin start creating the test scripts, a tedious work I would like to improve/speed up.

    QUESTION: Do you have any ideas on how LCS/Task recorder could be used in a clever way supporting us before/during function-, system- and user acceptance tests?

    /E

  14. Christiane Lima (AX4B) says:

    Hi Akshey, thanks for sharing such a great article!

  15. Julien Lecadou says:

    Akshey ,

    Nice Job,

    I was about to post something about the maturity of Dynamics AX 2012 R3 and the PCF .

    So , I decided to see if someone already worked on this matter. I think you did a good job even though this was not the way I was intended to talk about  this topics.

    Very good job

    Julien

  16. Julien Lecadou says:

    Akshey ,

    I want to amend the APQC PCF on LCS  and I want to apply to it the processes that I have are particular to the consumer product  industry . How can I do this because because the system is telling that it is read only

    Thanks

    Julien

  17. Julien Lecadou says:

    Never mind a right-click solve this issue

    thanks

Skip to main content