Archive for the 'software engineering' Category


About Agresso Business World 5.0

Learning about the upcoming ERP application Agresso is so challenging but I have heard good reviews of this application and hope to learn more of it.

For those we are interested to know what Agresso Business World 5.o have, below are the list of modules available.

Core Modules Module name
Agresso Foundation Connectivity Services/Webservices (priced @ % of functional scope)
Agresso Foundation Flexi Fields
Agresso Foundation Forms
Agresso Foundation Reporting and Analysis Suite (Mandatory)
Agresso Foundation Report viewing
Agresso Foundation IntellAgent
Agresso Foundation Analyser (In-Memory)
Agresso Foundation Financial Information Centre
Agresso Foundation Experience Pack Modeller
Agresso Foundation Dates On Relations activation
Agresso Foundation Experience Pack Tasks
Agresso Foundation Workflow on Reporting output
Manage Financials General Ledger
Manage Financials Workflow Financials
Manage Financials Fixed Assets
Manage Financials Bank Reconciliation
Manage Financials Accounts Payable
Manage Financials Commitment Accounting
Manage Financials Contract Accounting
Manage Financials Accounts Receivable
Manage Financials Cash Accounting
Manage Financials Sales Orders
Manage Financials Utility Invoicing
Manage Financials OCR (3rd party component)
Manage Financials Barcoding (3rd party component)
Manage planning Planner
Manage projects Project Core
Manage projects Workflow Project
Manage projects Project Invoicing
Manage projects Experience Pack People Planner (Agresso Milestone 4 onwards)
Manage projects Experience Pack Project Planner (Agresso Milestone 4 onwards)
Manage projects Experience Pack BUNDLE People- & Project Planner (Agresso Milestone 4 onwards)
Manage projects Experience pack Time
Manage projects Timesheets
Manage procurement & logistics Purchasing
Manage procurement & logistics Workflow Procurement (incl. requisitioning + authorisation)
Manage procurement & logistics Inventory Management
Manage people Human Resources
Manage people Workflow Human Resources
Manage people Position register (payroll)
Manage people Training Administration
Manage people Competences
Manage people Experience Pack Absence
Manage people Absence
Manage people Experience pack Expenses
Manage people Travel Expenses
Manage people Payroll
Manage people Salary Review
Manage field services Field Force – Service Orders
Manage field services Field Force – Service Agreements

Data Migration – Legacy System Extraction Tool

We are working on a data migration strategy to migrate current 2 years’ financial transactions to the new system.  In between, we need to determine what are the transaction data/tables and master configuration data/tables to extract from today’s legacy system over to the new one.  One concern is how to get the extracted tables to map onto 1 or more excel/CSV templates which are those that map and migrates over to the new system.

The engineer suggests we obtain the new system’s current data dictionary, share with the legacy system’s vendor to design the extraction tool to follow the new system’s structure. This will use as a supporting tool to validate the correctness and integrity of the extraction tool.

We looked onto the types of data to migrate over to the new financial system and below are the few identified:

  1. Aging ARs (Accounts Receivables) and APs (Accounts Payables).
  2. Opening balances
  3. Master data (Fixed Assets, Suppliers, Customers, etc).  Note: The fixed assets data may not need to migrate over as doing so may results double-entries of assets depreciation to the new system.

Good job, team!


Web Content Clean Up – The Big Picture

It was a very intense work week for both my team and the business users with regards to the web content clean-up exercise.  The master list is not keep up-to-date by users, no proper instructions from IT on how and what to do, IT did not inform the business users on the exact clean-up and validation activity; all these reasons are some of those being discussed with the business users as they are angry and uncertain how these activities are impacting the daily operations without being noticed of how IT is going to do it in the first place.

Assumptions were made. No back-up of the codes changes or folder structures that IT has modified that results no roll-back procedures to revert the original code.  This is the first time I heard that my team is not prepared for this activity and this is a high-risk factor for this project’s success.  EVen we argue with business their UAT copy is not the latest/updated copy, the point is that we IT should provide them guidelines how to do it.  With the recent UAT copy, the team should have done the following:

  1. Make a copy of all merchants on the production site by a specific cut-off date.
  2. Compare the UAT copy against the production site.  Take notes if all merchants in the UAT copy are complete and to verify if any missing in the list from Production.
  3. Ensure all merchants in UAT are available and completed in the UAT environment.  Any edit or deletion of merchant to be on-hold.  This is to ensure all active merchants and their offer pages are available and complete in UAT environment.
  4. Compare production list if any missing merchant is missing in UAT after verification from UAT copy.
  5. Compare the UAT copy against production to see if any production merchants are missing from UAT.  Upcoming/new merchants are not supposed to add to the UAT copy or master list at this time.

Forget about all the arguments, finger-pointings.  We need to move on to resolve the issue and get daily operation back on line.


Poor Requirements, Main Factor for Projects’ Failures

It is no doubt that, in any projects poor requirement gathering results around 60% of projects’ failures that constitute to time and cost deviations.  Unnecessary re-works are done and in cases, customers and the vendors are arguing about change requests, the ‘scope creeps’ they have to pay for the additional work and timeline in which most customers do not want to extend the scope but increase the timeline.

With this ever-increasing competitions, it is harder to change the major stakeholders’ minds to extend projects with these limits.  SCRUM agile methodology is a proven way to ensure the initial business requirements are made, and new changes are built in iterative phases.  Business can also control the scope, the cost and timeline for the delivery upon mutual agreements.  In this case, this is a win-win situation for all.


Activities Involving a Localized Application

When comes to localize an application or website, most of us will think only on the contents to suit the local language.  In fact, there are lots of areas to take care of and there are factors to determine how much we can localize or change the application or website.

Basic areas to change:

  1. Labels
  2. Action Buttons
  3. Navigation buttons/links
  4. Client validation messages
  5. Error messages (static or dynamic)
  6. Quick links
  7. Input boxes

Factors to determine localizations/changes:

  • Field lengths – for the specific context, grids, table what is the maximum field length of the affected text to fit the local language’s text.
  • Layout of the page – if the context is too long, how it will affect the user experience.  Example on the main page, should it not be too long to allow the user to scroll up/down on the screen to read the contents.
  • Search capability – the application is able to search by the local language characters.
  • Sorting capability – the application is able to sort in ascending or descending order based on the local language.

Hints to Complete Functional Specification Document

Ever experience we can’t finish to get the Customers to agree or sign-off the functional specifications as per planned and instead, it is getting longer and having more details?  In today’s business world, customers are no longer as “dumb” as most IT professionals are thinking of.  With technology advance and lots of training and courses on IT business technology, they are getting to know what they want to get for their projects or products development so that they don’t feel the suppliers are hiding any information.

The above may be true but it may not be necessary to cover everything during user requirement gathering.  This is still a preliminary stage to understand the business flows, expectations and user experiences for the software applications or products and hence put the project schedule on risk if unable to sign-off the requirements to move on to design and development stages.

With that in mind, we can prepare ourselves upfront by anticipating what they are looking for.  Below are the items I have experience and like to share on what to take note of when preparing the sign-off.

  1. Use case diagrams – Do not put in too much details e.g. the default selections, exception handling or else it will be too long and it became a technical design flows rather than user flow.
  2. Use Cases – no technical details on the functionality.  In most cases, certain level of technical information must be included and defined for the requirement.  If to the stage whereby unable to assess the technical aspect of the requirement,  we will indicate for that requirement’s feasibility will be reviewed during design phase.
  3. Screenshots – indicate that wireframes, user interfaces of the software are for illustration purposes.
  4. Messages/labels -which are static (labels) and dynamics (normally error or warning messages) to be shorten or rename.  Also to note for any language translations
  5. Field lengths – The length, field type (i.e. integer, double, string), default value (if any).  These information mainly covers for input fields.
  6. Document layout – make sure to print out the document and ensure the contents can be viewed and aligned correctly.

SCRUM – Developing User Stories for Iterative Development

Last 5 months, I have exposed to SCRUM software development methodology and with my experiences on implementing software projects this methodology works very well to the traditional waterfall model.

In today’s business world, companies are working and analysing consumers’ behaviors and to drive for high quality, productivity applications/products.  This results in having to provide ‘move to market’ products as soon as possible.

Agile development helps in this way.  For example, I am working on a rich client mobile app and to move into this competition, the product has to launch in a short period of time.  In software development, user requirements and coming up with functional specification document is the part that make up most of the development timeline.  Customer wants to speed up development so that they have more time for conducting user acceptance testing.  The technical project manager wants to finalize and sign-off the functional specification document so that the project team can work on the confirmed requirements and target any scope creep along the design and development phases.

1. Develop user stories – gives stand-up and walk-through of each user requirement, on the user flows and expectation of the outputs.

2. Solutioning – develop the functional requirements to achieve the outputs.  Document into the functional specification, review and sign-off.

3. The cycle continues by going back to step 1 with the new user story.  Identify any dependencies and review the user flows from previous functional specification.

By the above method, we are able to get thing moving in a win-win situation.

January 2019
« Jan    


Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 465 other followers