Configuring Software Product 101

Configuring software product is the key trend and reason of moving to Cloud. Some key characteristics of configuration approach are real time changes, hotfix and self service features. Many traditional project manager have misalignment to apply development methods for configuration model. If you are one of them and new to configuration approach, you may find these tips useful.

Digital Transform Mindset

Digital transformation is a main component for configuration model. Many will think digital transformation is about application changes. In reality, this is transformation of your mindset to a configuration approach. You should be inclined to review products that are highly flexible and configurable instead of turnkey method. This is a commonly seen in many local offices where stakeholders try to engage local solutions to solve a global problem.

Tips for Configuration Project

If you are new to configuration project, you will likely need to adapt these few tips.

  • Configuration suits Agile.
  • Cloud allows configuration at various levels like infrastructure, applications or services.
  • Train insource SME (subject matter expert).
  • Organise your teams for configuration capabilities.
  • Engage management support to adopt configuration platforms.

The constant market changes and COVID-19 is spurring the configuration market. Many resources and education stay entrenched in software development practices. It is time you switch your mindset and embrace configuration practices. This way, you can stay relevance and adaptive.

Chatbot Date NLP

Chatbot NLP have an interesting feature to interpret dates with NLP (natural language processing). In traditional applications, we need to set user preferences and identify the dates format and convert it accordingly. This is a key advantage of using AI driven Chatbot.

Why NLP Inputs?

A key issue with data input is user formatting. Date is one notorious input as shown in here for OTM. NLP is a great solution to resolve this data input. With NLP, you can key in different flavors of dates and formats like below:

  • Yesterday
  • Today
  • 2 days ago
  • 2 months ago
  • 12 Aug
  • Jun 10
A New Paradigm

It will be a matter of time before we see the input forms disappearing. This will be replaced by smart Chatbot that extract data from your responses. So, there will be increased interest in NLP development. This new paradigm is more intuitive and smart. For eCommerce, it will helps to uncover impulse purchases and unarticulated needs.

A new way of NLP data input will gain popularity as Chatbot development becomes mature. This will change the way we view UI (User Interface). Of course, the initial development will be challenging as we lack NLP developers. If this is the case, why not transition your existing UI to NLP development?

Do Not Socialise

COVID-19 is a new major experience for all. A confused message is underway to limit socialising to once a day and cease workplace interactions from 8 Sep. My hope towards mask free endemic has become a far far thought. I will expect this to materialise by 2022 with regular booster vaccine. Meanwhile, we are literally converting from wfh (work from home) to work alone at workplace.

Work in Office is Socialising

A key aspect of working in office is socialising. Of course, these are exceptions for essential workers. Gatherings, coffee breaks and pantries are ways of informal exchange of information. These are often not replaceable by group chat because many of these encounters are as ad hoc in nature. Restricting these exchanges will defeat the purpose of working in office. Literally, it is telling you to be physically in office but socially removed.

Bring your Own Risk

The messages conveyed are confusing to organisation and individuals. If there is no further lockdowns, why are Quarantine Orders (QO) or LOA (Leave of Absence) still being issued? This means risk are in your own hands. Yes, you can go out or work in office. If there is QO or LOA, it is yours to bear. This means that teams should determine the importance level of working in office or risk exposure by blind compliance.

The endemic is shaping the risk and mindset for many of us. This is why guidelines are set instead of rules. We must be allowed to determine our own risk appetite towards COVID-19 at our discretion.

OTM Bulk Plan and Location

OTM (Oracle Transportation Management) depends on a lot of masterdata and conditions. You can try this planning tips to optimise your bulk plan. One of the key masterdata is the location. How should you setup your location masterdata for bulk plan?

Location Usage

Location masterdata can be a double edge sword for your bulk plan. If the location is setup correctly, optimisation will be fast and efficient. If you have many ambiguous locations, your bulk plan will end up taking longer than usual. Thus, locations should not be created as you wish but it needs to be properly updated in zones coverage. A single ambiguous location is sufficient to block the progress of your bulk plan!

Location Fields Impact

The completeness of location masterdata is a common issue. You will need to consider default value for all missing location fields. Utilise the 80/20 rule and judgment when you load location masterdata. If you have missing information for 80% of the location fields, you may consider to omit that field to improve your bulk plan. Common fields that will impact are:

  • Address
  • Location Zones
  • Transit time
  • Distance

Location masterdata is a critical for bulk plan. The accuracy of location plays an important part in shipment optimisation. If you are using many dummy locations, it is common to run into inefficient and ambiguity scenarios. It is always advisable to use realistic locations for your bulk plan.

Mask Free Endemic?

The reality to endemic seems confusing these days in Singapore. After all, trade and borders opening is the priority for the economy. Endemic mindset remains fuzzy as COVID-19 variants persisted. Many questions the rationale of what endemic means. Will we be mask free? Are we going to penalise and segregate vaccinated and non vaccinated?

What is Endemic?

Flu and cold are known illnesses that we taken for granted in a society we called endemic. Will we treat COVID-19 like a common cold? Or will we treated common cold illnesses like COVID-19 in future? When we murked our ways through the endemic or “new normal”, who should get their feet muddy first.

Time to be Clear

This is a time to be firm and decide to be endemic or “new normal”. There will have to a clear line between what will be a rule or guideline. If there is benefit of doubt, it means risk at your own discretion. Will we be penalise for being cautious? For each relaxation, clusters will be normal. An endemic will not consider these clusters as critical. How should we react if these are reported?

The long drawn war with COVID-19 is taking a deep toll with economy and trade. Perhaps this is a time to send a message that we will only need to wear masks if we felt sick. After all, this is how endemic society should be.

Serverless 101

Traditional architecture always involve the setup of a server for applications usage. Cloud architecture changes this dynamic with the introduction of Serverless mod. This is also driven by the popularity of REST API where you can sell services with these API calls. So, what is Serverless? Is it time to make the switch?

No More Servers

Serverless is a godsend for application developers. This is because traditional architecture always involve the headache of server setup and maintenance. How much capacity will be needed? What is the running cost and setup time? Is it time to upgrade the server? Serverless eliminates all these headaches as the cloud providers will handle the hardware layers. The developers will only need to deploy the applications or functions.

Use and Pay

Another push factor to switch to serverless is cost. Serverless allows metering and you pay for your usage. Thus, this remove idle servers for your legacy applications. You also do not need to worry of infrastructure downtime as Cloud provides HA (high availability) with serverless. There is also no more running and maintenance cost with servers.

Serverless let developers focus on logic instead worrying of the infrastructure setup. Most cloud providers supports common languages like Java, Python, Nodejs or PHP. You all also gain further cost reduction by removing the servers requirements and maintenance.

Cryptic Freemarker Array in ODA

Apache Freemarker continues to be a challenge in ODA (Oracle Digital Assistant). I am trying to tackle Freemarker Array operations. It proves to be a headache to figure out how this works.

Tips

These are some tips and lesson learn from my battles with Freemarker Array operations.

  1. Check the actual JSON to determine the where the array is located e.g. root or sub items.
  2. Start with simple listview for Freemarker.
  3. Do backup and unit test often.
  4. Array location in sub items level may not be accessible directly.
  5. Index start from zero.
  6. Build your code template for Arrays because there are no many examples for ODA.
  7. Validation check in ODA does not work for Freemarker.

Array operations in ODA is one of the challenges faced during coding in ODA. While the validation do not work, you may need to test often to find the errors.

REST 101

REST (Representational state transfer) is going to be the standard for logistics in future. I view it as a big improvement over web services or SOAP. It is quick and simple to setup and let systems connect easily. Information can also be exchanged without complex setup.

Why REST?

REST had solved a majority of issues from web services with standardisation. The payload exchange format can be rendered easily with HTML, XML or JSON. It uses common http protocol like GET, POST, PUT and DELETE. The best part of connection is its statelessness as in http protocol. This means you do not need to worry or keep track of your connection.

When to REST?

Majority of cloud platform and applications are REST ready. You will need to consider migration of your legacy connection for REST endpoints. With this change, you will often reduce the reliance of ETL tools required by older applications. You will also find that you can scale with Cloud easily with REST.

Generally, cloud architecture are REST capable and ready. You will find that you can communicate easily from on premise to cloud using REST. Therefore, you should upgrade your application with REST capabilities to create your networked system with your partners.

What is Project Closure for Agile?

A project closure is a last step in waterfall project. It usually signal the start of financial depreciation. If you are employing an Agile model, the view of project closure will not exist. How should this be justifiable for financial view? You may need to operate in a waterfall agile model to fulfill the financial concerns.

Relating Sprint Review

Perhaps a more appropriate and foreign terms for finance is sprint review. This is the end of sprint. It will take a lot of understanding to educate the financial how sprint review relates to project closure. You may group a few key sprint reviews into milestone for the purpose of financial obligations. A typical grouping could be a major version from sprint. This may usually be a monthly to quarterly frequency.

Agile Closure

The project closure view is different to Agile. The view to close an Agile project will mean the end of product life. You may want to communicate this end as early as possible. This will allows financial to compute from a budgeting standpoint. Thus, product owner may consider roadmap visibility for the product end.

Project closure have a different meaning for Agile projects. Meanwhile, finance numbers remained entrenched in waterfall mindset. It will take a few more years before a sound finance instrument is geared for Agile. For the moment, I will need to use waterfall agile for my reporting and implementation.

Oracle Digital Assistant

Oracle Digital Assistant (ODA) is the platform I mostly used for my Chatbot testing. Overall, it is functional and easy to setup. Usually, this means I can configure and deploy Chatbot within a day or two. As with all platforms, there are pros and cons. This is a quick summary if you are interested in ODA.

What I Like

These are some features which I like the most.

  • Sample templates and tutorials to get started.
  • Easy integration to translation services.
  • Quick setup for some Channels integration like Teams and Web
  • Extension via web hook and custom components.
  • Versioning support
  • Easy switch of versions on different channels
What I would Like

This will be some common configuration which Chatbot platform should have for the future.

  • Languages without consideration to native or non native.
  • Configurable connection to REST API.
  • Configuration for login services.
  • Rich UI for chat messages.
  • More samples chat with REST custom components.
  • Configuration for map services, camera, QR scan or document storage.
  • Web SDK for PWA (Progressive Web App)

In summary, ODA serves well to setup Chatbot quickly without much fanfare if you are creating basic needs like knowledge base or technical support. However, you will require advanced technical knowledge to integrate different services to ODA as they are still quick code driven than configuration.