OTM QuickStart Configuration

If you are familiar with OTM (Oracle Transportation Management), you will be overwhelm with the features. Thus, you may want quick way to jumpstart your solution configuration? There are some quick tips that comes with standard OTM solutions.

Basic Start

OTM comes with many default settings that you can quickly use for your setup and testing. Below are 3 basic modules that are used.

  1. Masterdata, the basic setup is itinerary, service provider, dummy rates and locations.
  2. Order Management, create your first orders with the locations.
  3. Shipment Management, you can easily plan your order into shipment with default settings.
Troubleshooting

The default vanilla OTM is the easiest to setup. There is only a few areas that can go wrong. The most common mistakes usually occurs in shipment planning.

  • Itinerary settings does not match the masterdata setup.
  • Rates setup does not match order transport and mode profile.
  • Bulk plan time emphasis is a constraint for your order pickup and delivery dates. You can set it to NONE constraint instead.

Configurations can be easily setup for vanilla OTM with the above basic settings. This is very useful for migration or upgrade purposes to test that OTM are setup properly.

Why No UAT in Agile

Everyone familiar with Agile will always wonder why there is no UAT (User Acceptance Testing) stage. UAT is a critical stage in waterfall model and determines the deployment of codes to production. On the contrary, Agile testing is different from UAT stage. These are some real life views on why there is no UAT in Agile.

Too Late for UAT

UAT occurs in the last stage of a waterfall SDLC (Software Development Lifecycle). If there are any failure in the user testing, the requirements will be stated as change request and restart from stage one. When such scenario happens, delays of Go Live always happens. Agile aims to eliminate such surprise by involving testing as early as possible.

UAT vs Done

UAT places the acceptance in the hands of users. In many cases, these users are not committed throughout the entire project and only participate only at UAT stage. The lack of understanding and commitment of test users will lead to many issues and clarifications with development team. On the other hand, Agile places importance on the definition of Done. High quality deliverable is expected with close collaboration of users and developers.

As Agile gains popularity, UAT is no longer seen as effective stage for production deployment. Instead, test driven approach and Agile testing are commonly used. Future management must learn to adapt to this new paradigm.

A Strange View of RPA

System is a minefield for various human interventions. A fully automated process runs on a set of controlled variables and environment. What will be the check and balance for these automation? This is also the key critical view towards RPA (Robotics Process Automation).

Minding your RPA

RPA is truly a strange view because it is attempting to speed up data entry of poor User Interface (UI) with automated key strokes. The system of today have so many relational tables that users are expected to link and click every dropdown values or foreign keys. The end results is a horrific experience for users. “Some wise people” will introduce RPA to reduce the key strokes for these data entries. Are these really the right approach?

Balancing the RPA

In most cases, I will not recommend introducing RPA to resolve UI deficiency or bad UI. By doing so, you end up playing a cat and mouse game with the application. This is why there is a balancing act to using RPA. You may end up investing your RPA too much instead of focusing to resolve the underlying process or application constraints.

RPA is not a new tool and existed since the time of web scraping. It gain popularity with digital transformation with the complexity of linked data and UI. This strange view towards RPA means you need to be mindful and balance your RPA wisely.

Cloud Configuration Errors

The pain of cloud configuration is the cryptic error message. Due to the nature of many VM (virtual machines) and applications, the errors can be quite a pain in the ars*. Seriously, there is no shortcut to learning except to test drive and figure out the errors yourself. Do expect to invest a lot of hours in troubleshooting.

Photo by Ethan Kwok
Are you Stuck?

Stackoverflow is really a savior because everyone was as desperate as me in those error messages. These errors are the breadcrumbs to learn the rest of configuration syntax. You can literally search the whole error messages and stackoverflow will turn up 8 of 10 times. As a last resort, stop trying and time out. You may rethink the configuration to come up with another new approach to find the issues.

Common Mistakes

For many laughs, the mistakes are often silly and common. These are some of them.

  • Typo errors will create all kinds of error messages. Always check and recheck your typo.
  • Wrong data value is another top errors. Cloud fields are so similar than you may be mistaken to put similar data. If you are unsure, just try the similar data. Who knows, it will work.
  • Missing steps also contribute to weird error message because there are dependency with each step. Sometimes, the step are a must for the next one.
  • Outdated examples will require a change in syntax. Be prepare to tweak the example syntax for the newer version.

Cloud Configuration errors are never a breeze. If it works, it is worth the efforts. Meanwhile, be resilient and persist with guts!

Agile Testing

Agile testing was fairly new because of prevalent of waterfall model. The short deployment time of Agile will often means a reliance on automated testing. However, these automated testing often relies on known scenarios and limited scope. Thus, you will need to relied on past experiences to conduct testing for Agile.

What to Expect

Agile have shorter time to deployment than waterfall. Thus, coding and testing strategies must vary from that of waterfall model.

  1. Codes must allow graceful exit of exception scenarios i.e no crashes.
  2. Codes must be scalable for additional test scenarios.
  3. Failed test are often due to additional scope and and will be updated into backlog. Thus, they are not showstopper to deployment.
  4. User Acceptance Testing (UAT) are optional because of close collaboration with users.
Mindset Change

Users must stop their negative mindset of saying “it’s an IT project”. Application of Agile testing requires deep mindset changes. You cannot continue to apply the traditional approach of UAT. Instead, users must collaborate closely and be committed with the development team. This way, Agile can be realised in quicker deployment without the need for time consuming UAT.

Node.js 101

Node.js is a JavaScript backend for service side scripting. If you are familiar with JavaScript, it is a client side scripting. Basically, you can imagine Node.js as JavaScript for server. That is really interesting as you can JavaScript client and server side.

var http = require(‘http’);

http.createServer(function (req, res) {

res.writeHead(200, {‘Content-Type’: ‘text/plain’});

res.end(‘Hello World!’);

}).listen(8080);

w3schools
Starting NodeJs

Usually, I will Hello World as my starting point. Although it is quite simple, it took me a while to get used to Node.js. This is because I am very used to JS as a client side scripting language. You will also need to run npm (node package manager) for some of the JS library. In terms of syntax, there are many similarities between Node.js and PHP. Of course, the best part is the reuse of JS on server side.

ODA Node.js SDK

One reason for playing Node.js was testing of Oracle Digital Assistant (ODA) Node.js SDK. It was required in the integration of ODA to another channel like Telegram. ODA also use Node.js as its custom component. To utilise this SDK, you end up having to learn Node.js and npm. On how to setup, that will be another post.

Node.js is a lightweight container type of scripting language. It can exist by its own package. Perhaps this is why it was used as custom component for ODA. However, it creates the need for this skillset for maintainability of ODA.

Just In Time Documentation

Welcome to the paperless and Agile era! Finally, we can forego the need to print files of user guide and documentations nobody read. We also get many requests on the rows and columns on the documentation that non users wanted. Do we really need to generate so much documentation from Agile project?

JIT Documents

Unlike waterfall project, agile do not advocate documentation as deliverables. Instead, documentation is part of the process and can be provided as needed. This retain timely information and just in time efforts. There are even software that auto generated code documents if commented properly. Thus, agile document if required, not must required. Of course, you must also produce documentation promptly if asked!

Why JIT?

Document is the code.

In reality, documentation is good to have and help me to reconcile the thoughts and the codes. The best documentation from a technical view is always the code. However, this approach may not fit well with many Waterfall requirements. This is where JIT comes in play. Timely, current and just in time!

More Solar Energy Testing

The search for sustainability continues with more testing of solar lights. Previously, I had tested some solar panel setup that failed to work. Not wanting to give up, I tried again, this time with solar lights. The results were not fantastic, neither they were that bad. Overall, it was a good start to attempt to harness solar energy.

Solar Lights Setup

The trial was a test of 4 solar powered lights. Location was balcony with good sunlight exposures and bedroom with poor sunlight. It was really useful because you do not require any wiring to be done. Each solar light cost around SGD$2.20 or USD$1.70. That was pretty low cost as each light comes with solar panel, an LED light and rechargeable battery.

Good and Bad

Location plays key part in effectiveness of solar lights. The solar lights placed in bedroom with poor sunlight remains unlit after a day of no sunlight exposure. On the hand, the ones at balcony remains dim and able to light up. Thus, you must place your solar lights in place where you get a constant reach of sunlight.

Overall, it is really good to see night lights in the dark balcony. The brightness of the light is dependable on the amount of sunlight exposure. This suits Singapore, as we usually get sunlight throughout the year. However, it cannot be used if you require a reliable brightness. The journey of sustainability goes on as I will try to test more sustainability options in Singapore HDB flat.

Service Level Failure

Yesterday, I faced a pink food delivery service failure in Singapore that reminded me of my satisfaction study. The food delivery service had confirmed my order at the checkout. After waiting for an hour, I checked in horror to realise the order had been cancelled. I tried in vain to connect to the service chat. A hangry me complained severely only to be told that my payment was “cash on delivery”. Of course, each reply will reveal more reasons as I provided screenshot of the order confirmation. Finally, one admitted that there was a technical issue with the payment gateway.

Be Sensitive

Service level was failed at several level for the pink “FoodP”. The most serious failure is the insensitiveness to the customer needs. In this case, the customer service was literally unreachable for this time sensitive service. The customer was only interested in getting the meal at the timing. If your service cannot be fulfilled, it is courtesy to apologise quickly, rectify and compensate for the cancellation. Imagine a family of hangry members!

Be Truthful

The aftermath of complaint management was totally chaotic. Instead of finding out the root cause of this failure, the first cause of action place the blame to the customer. If you do not have the full truth, it is better to acknowledge an error had happened than to lie to the customer. In many ways, complaints resolution are horrific and answers are “bot” like in nature.

Service level failure management is a poorly understood area in many eCommerce platform. Like what my satisfaction study mention, the satisfaction points can come from a network of partners from payment gateway, delivery and food providers. If you want to provide standard complaint answers, you might as well get a bot! If no, let your human be human and create a satisfactory complaint resolution experience.

OTM Templates Design

Templates design is a common solution in many Cloud applications. After all, why do you need to reinvent the wheel? This approach is also commonly used in OTM (Oracle Transportation Management). While there are advantages to the template, this approach also have certain drawbacks.

Template Quick Guides

The type of templates will determine how duration of your customer onboarding. You can follow these quick guides in your templates approach.

  • Keep your templates to less than 8.
  • Look to data auto assignment rules.
  • Collect enough masterdata but not too much of it.
  • Prefill templates data as much as possible.
  • Use API to automate data collection in templates.
  • Provide auto validation checks.
Things to Avoid

Templates have some drawbacks which we need to take note and mitigate.

  • Do not over invest in your templates. It is a means to an end.
  • Templates cover common scenarios. Remember to provide options to templates design.
  • If there are a constant increase of your templates, look to refactoring and harmonise your templates.

Using templates in OTM greatly speed up your customer onboarding time. However, templates are just a tool and should not complicate your OTM configuration.