Creating software component using atomic design and test-driven development
Le, Nghi (2017)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201704134775
https://urn.fi/URN:NBN:fi:amk-201704134775
Tiivistelmä
We are living in the age of hyperconnectivity where millions of people are using digital communities to exchange information with each other. People are radically changing the rules of business. They demand effortless, smooth, and personalized experiences at every touch point of the customer journey. To make the most of the opportunities ahead, businesses must go beyond hardware devices and traditional ways of serving their customers.
Nordea is keenly aware of these opportunities. The bank is building new digital solutions to offer its customers the best-in-class experience. This thesis project concerns the building of a common software component that can be used by developers to facilitate their development process in one of Nordea’s digital project. In the financial sector, each change must be done in the way that it is secure, compliant, yet scalable and maintainable. This thesis project serves as a proof of concept of why and how using common components helps developers to complete their development faster, as well as making software well-organized, scalable and maintainable.
The thesis report offers a brief introduction to Nordea, as one of the leading banks in Northern Europe. The theoretical section discusses the concepts underlying the thesis project, such as good practices in software development. In addition to that, it briefly explains various development methodologies in the project implementation process, such as atomic design, test-driven development, and code coverage. The objective was to build a common component that was scalable, maintainable and could later be used by other developers to build their software features.
In this thesis project, atomic design is mentioned since it is the methodology that is used in system designs which lead to the design of common components. In the project implementation, test-driven development (TDD) is used. TDD is an increasingly popular and practical development methodology in today's software industry. It depends heavily on the repetition of a succinct cycle of development iterations. Tests cases are converted from a breakdown of functionalities/features requirements. Using TDD, developers feel more productive, the development process results in more tests, fewer defects with better software design and maintainable code. In addition to that, code coverage is used as the metrics to measure how efficiently the tests in TDD have been exercised.
As a result of this thesis project, a common component is developed as a proof of concept of how common components can be developed using test-driven development. This component is also published on Node Package Management as an open source software project where the bank, as well as other developers, can freely enjoy accessing and using it as a third party dependency.
Nordea is keenly aware of these opportunities. The bank is building new digital solutions to offer its customers the best-in-class experience. This thesis project concerns the building of a common software component that can be used by developers to facilitate their development process in one of Nordea’s digital project. In the financial sector, each change must be done in the way that it is secure, compliant, yet scalable and maintainable. This thesis project serves as a proof of concept of why and how using common components helps developers to complete their development faster, as well as making software well-organized, scalable and maintainable.
The thesis report offers a brief introduction to Nordea, as one of the leading banks in Northern Europe. The theoretical section discusses the concepts underlying the thesis project, such as good practices in software development. In addition to that, it briefly explains various development methodologies in the project implementation process, such as atomic design, test-driven development, and code coverage. The objective was to build a common component that was scalable, maintainable and could later be used by other developers to build their software features.
In this thesis project, atomic design is mentioned since it is the methodology that is used in system designs which lead to the design of common components. In the project implementation, test-driven development (TDD) is used. TDD is an increasingly popular and practical development methodology in today's software industry. It depends heavily on the repetition of a succinct cycle of development iterations. Tests cases are converted from a breakdown of functionalities/features requirements. Using TDD, developers feel more productive, the development process results in more tests, fewer defects with better software design and maintainable code. In addition to that, code coverage is used as the metrics to measure how efficiently the tests in TDD have been exercised.
As a result of this thesis project, a common component is developed as a proof of concept of how common components can be developed using test-driven development. This component is also published on Node Package Management as an open source software project where the bank, as well as other developers, can freely enjoy accessing and using it as a third party dependency.