To view PDF files

You need Adobe Reader 7.0 or later in order to read PDF files on this site.
If Adobe Reader is not installed on your computer, click the button below and go to the download site.

Feature Articles: Improving Productivity in Software Development Using Macchinetta Framework

Improving Productivity of Software Development on the Macchinetta Framework

Hikaru Suzuki

Abstract

The NTT Software Innovation Center aims to provide high quality services in a timely manner while reducing total cost of ownership. To achieve this goal, it is necessary to develop new software rapidly and stably. This article introduces technology for improving the productivity of software development on the Macchinetta framework, which uses the same open source programs as conventional software development.

Keywords: improving productivity, reducing TCO, application framework

PDF PDF

1. Introduction

The changes in the revenue structure of the NTT Group over time, as illustrated in The NTT Group: 30 Years of History, indicate that voice systems accounted for about 48% of revenue in 2008. In contrast, that proportion had fallen to 21% by 2015, and system-integration-related revenue (including software development) increased from 26% of the total to 46% [1]. The percentage of solutions-related revenue has also increased in recent years, and the work to develop the software to support those systems has come to play a more significant role.

Consequently, by improving the productivity of software development and stably providing high-quality software in a short time period, we will be able to expand services while reducing the total cost of ownership (TCO) and targeting further growth.

At the NTT Software Innovation Center (SIC, hereafter), we have developed Macchinetta as a framework for improving the efficiency of software development. As a result, by improving the productivity of software development as well as eliminating redundant investments and utilizing the created technology in a common manner, we aim to reduce TCO across the NTT Group as a whole.

The Feature Articles in this issue describe our efforts to improve the productivity of software development using the Macchinetta framework [2, 3, 4].

2. Macchinetta

Macchinetta is an application framework targeting enterprise applications. Prescribing the framework of software makes it possible to improve productivity, stabilize quality, and in turn, reduce TCO. In other words, Macchinetta is a software bundle composed of open source software that is used on a global scale, and it consolidates the methods of utilizing each piece of software in that bundle.

In Machinetta, we have collected developmental technology and know-how and consolidated maintenance and support systems in a common framework. Thus, Macchinetta improves the efficiency of software development, stabilizes operations (including handling security weaknesses), and reduces TCO (Fig. 1).


Fig. 1. Benefits of Macchinetta.

Macchinetta is presently being applied to software development throughout NTT Group companies. In fact, almost all new software development projects are utilizing Macchinetta. From now onwards, we will not only apply Macchinetta to new projects but will sequentially apply it to existing systems while also upgrading those systems, with the objective of reducing TCO across the entire NTT Group.

3. Efforts to improve productivity

To improve the efficiency and stability of software development by applying Macchinetta, it is essential to cultivate human resources with the skills and know-how needed to master Macchinetta. At the SIC, we are preparing study materials by utilizing our experience in developing human resources, and we are striving to nurture experts on Macchinetta across the entire NTT Group and to establish a pool of Macchinetta-related human resources. Furthermore, we will further improve the productivity of software development by establishing tools for supporting software development using Macchinetta and by promoting automation and labor-saving practices. In particular, we hope to improve the efficiency of test processes that significantly affect quality and productivity while advancing research and development (R&D) focused on automation, regardless of the presence or absence of Macchinetta.

4. Efforts to further improve efficiency

The increasingly severe and fluctuating market conditions in recent years mean that it has become necessary to develop services at an ever faster rate. However, at many major companies, so-called siloization* is continuing, partial optimization has become acceptable, and it is becoming impossible to provide timely and responsive services. In response to such circumstances, we are setting up service development teams that span the business department (Biz) such as the planning and sales department, the development department (Dev), and the operations department (Ops), as well as hammering out services with a sense of urgency and proposing development methods (BizDevOps) that will ensure flexible growth. To ensure cooperation between related departments based on a development style that is both lean and agile, it is essential to ensure smooth communications between those departments. We also propose using data models in order to obtain good communication between departments with differing cultures and complex systems.

* Siloization: Developing a silo mentality in which people do not share information with other departments.

5. Future direction

The SIC plans to continue the initiatives described in this article while maintaining acute awareness of the status of software development across the NTT Group. Moreover, we will continuously promote R&D aimed at improving the productivity of software development across the NTT Group in a way that will reduce TCO and expand our businesses.

References

[1] The NTT Group: Thirty Years of History, 2015.
[2] G. Suzuki, A. Kanamaru, T. Iwatsuka, J. Katada, S. Okada, S. Mochida, K. Natsukawa, K. Motohashi, T. Hishiki, T. Kaneko, K. Tanabe, H. Izumoto, M. Sakai, K. Yamashita, and Y. Iwaki, “Improving the Efficiency of Application Development Based on the Macchinetta Framework,” NTT Technical Review, Vol. 15, No. 2, 2017.
https://www.ntt-review.jp/archive/ntttechnical.php?contents=ntr201702fa2.html
[3] H. Tanno, M. Oinuma, and K. Natsukawa, “Test Automation Technology to Promote Early and Frequent Releases of Software at Low Cost,” NTT Technical Review, Vol. 15, No. 2, 2017.
https://www.ntt-review.jp/archive/ntttechnical.php?contents=ntr201702fa3.html
[4] S. Aihara, M. Inoue, A. Jin, Y. Furukawa, T. Tanaka, N. Sekiguchi, E. Oka, and K. Horikawa, “A Quick Software Development Method for Improving Competitiveness of Services,” NTT Technical Review, Vol. 15, No. 2, 2017.
https://www.ntt-review.jp/archive/ntttechnical.php?contents=ntr201702fa4.html
Hikaru Suzuki
Vice President, Head of NTT Software Innovation Center.
He received a B.E. and M.E. from Waseda University, Tokyo, in 1986 and 1988. Since joining NTT in 1988, he has contributed to the development of the operation and business support systems for various telecommunication services such as PHS (personal handy-phone system), 3G-mobile, Free-Phone, and Next Generation Network. He is involved in developing and maintaining cloud services and software-defined networking services by using open source software such as OpenStack, CloudFoundry, Ryu/GoBGP, and Docker. He was the chair of the Technical Committee on Information Networks of IEICE (Institute of Electronics, Information and Communication Engineers) from May 2010 to May 2012. He is a member of IEEE (Institute of Electrical and Electronics Engineers).

↑ TOP