A Singapore Government Agency Website

Components of a Data Engineering Strategy

As part of GovTech’s Data Engineering team, we had the opportunity to observe how various data projects across the government were conducted. The genesis of this data engineering strategy came about as we observed what worked best in a typical data engineering life cycle. Fundamentally, such a life cycle would involve these typical stages of (1) Requirement Gathering -> (2) Pipeline Design -> (3) Pipeline Implementation -> (4) Pipeline Orchestration -> (5) Data Quality Monitoring.

As the diagram above illustrates, success at any stage of the data engineering lifecycle depends on a multitude of factors, which may or may not be technical in nature. Based on our observations across multiple government projects, if insufficient attention is given to any of the following five components, a project is highly unlikely to succeed.

Sponsors and Use Cases

We have found that projects with strong use cases clearly identified how the desired data would be used and the resulting benefits or cost savings that would be gained when the data engineering pipelines are built. This made it easier to showcase the results back to management after project completion assuring them on their sponsorship. Additionally, this also prepares the users of the data to also have a clear understanding on how to use their data.

People and Resources

It is important for organisations to know the different roles in a project and the contributions made by each role. Projects that understand this concept can run more effectively as people with the relevant skillsets are identified and have been assigned suitable roles. On the flipside, projects should avoid giving individuals too many roles as overall effectiveness is reduced.

Data and Processes

Lack of formal processes being defined can greatly impact the maintainability of a system. For instance, if code changes are not tracked or if change implementation is not reviewed, it becomes much more complex to troubleshoot live cases. Defined processes also have the additional benefit of allowing users or stakeholders to have a common understanding, as well as identify functional gaps that are not handled, which can then be added to the developer’s backlog.

Architecture and Infrstructure

Badly designed architectures could limit scalability (or even be time-bombs) if their flaws or vulnerabilities are not quickly handled in later releases. As such, most government projects allocate a considerable amount of time to ensure systems are designed to be scalable and future-proof in terms of functionality. Thus, system architectures are thoroughly reviewed to ensure that both system and data are secured, without compromising performance when put through heavy loads.

Tools and Technology

There are a variety of tools available in the data world. Therefore, we advise data project teams to evaluate user requirements and map them to the functions of tools or technologies. By taking the requirements of users and sponsors into account, everyone in the organisation will have a better appreciation of why certain tools and technologies are selected.

Summary

Each component has varying degrees of influence during the different phases of the data engineering life cycle. As illustrated in the diagram below, “Sponsors & Use Cases”, “People & Resources”, and “Process & Data” have a greater influence on the Requirements Gathering phase (colour coded as purple), while “Infrastructure & Architecture” and “Tools & Technology” typically influence the later parts of the data engineering life cycle (colour coded as blue).

Chat with me!
Bot Launcher