ThoughtWorks
  • Contact
  • Español
  • Português
  • Deutsch
  • 中文
Go to overview
  • Engineering Culture, Delivery Mindset

    Embrace a modern approach to software development and deliver value faster

    Intelligence-Driven Decision Making

    Leverage your data assets to unlock new sources of value

  • Frictionless Operating Model

    Improve your organization's ability to respond to change

    Platform Strategy

    Create adaptable technology platforms that move with your business strategy

  • Experience Design and Product Capability

    Rapidly design, deliver and evolve exceptional products and experiences

    Partnerships

    Leveraging our network of trusted partners to amplify the outcomes we deliver for our clients

Go to overview
  • Automotive
  • Cleantech, Energy and Utilities
  • Financial Services and Insurance
  • Healthcare
  • Media and Publishing
  • Not-for-profit
  • Public Sector
  • Retail and E-commerce
  • Travel and Transport
Go to overview

Featured

  • Technology

    An in-depth exploration of enterprise technology and engineering excellence

  • Business

    Keep up to date with the latest business and industry insights for digital leaders

  • Culture

    The place for career-building content and tips, and our view on social justice and inclusivity

Digital Publications and Tools

  • Technology Radar

    An opinionated guide to technology frontiers

  • Perspectives

    A publication for digital leaders

  • Digital Fluency Model

    A model for prioritizing the digital capabilities needed to navigate uncertainty

  • Decoder

    The business execs' A-Z guide to technology

All Insights

  • Articles

    Expert insights to help your business grow

  • Blogs

    Personal perspectives from ThoughtWorkers around the globe

  • Books

    Explore our extensive library

  • Podcasts

    Captivating conversations on the latest in business and tech

Go to overview
  • Application process

    What to expect as you interview with us

  • Grads and career changers

    Start your tech career on the right foot

  • Search jobs

    Find open positions in your region

  • Stay connected

    Sign up for our monthly newsletter

Go to overview
  • Conferences and Events
  • Diversity and Inclusion
  • News
  • Open Source
  • Our Leaders
  • Social Change
  • Español
  • Português
  • Deutsch
  • 中文
ThoughtWorksMenu
  • Close   ✕
  • What we do
  • Who we work with
  • Insights
  • Careers
  • About
  • Contact
  • Back
  • Close   ✕
  • Go to overview
  • Engineering Culture, Delivery Mindset

    Embrace a modern approach to software development and deliver value faster

  • Experience Design and Product Capability

    Rapidly design, deliver and evolve exceptional products and experiences

  • Frictionless Operating Model

    Improve your organization's ability to respond to change

  • Intelligence-Driven Decision Making

    Leverage your data assets to unlock new sources of value

  • Partnerships

    Leveraging our network of trusted partners to amplify the outcomes we deliver for our clients

  • Platform Strategy

    Create adaptable technology platforms that move with your business strategy

  • Back
  • Close   ✕
  • Go to overview
  • Automotive
  • Cleantech, Energy and Utilities
  • Financial Services and Insurance
  • Healthcare
  • Media and Publishing
  • Not-for-profit
  • Public Sector
  • Retail and E-commerce
  • Travel and Transport
  • Back
  • Close   ✕
  • Go to overview
  • Featured

  • Technology

    An in-depth exploration of enterprise technology and engineering excellence

  • Business

    Keep up to date with the latest business and industry insights for digital leaders

  • Culture

    The place for career-building content and tips, and our view on social justice and inclusivity

  • Digital Publications and Tools

  • Technology Radar

    An opinionated guide to technology frontiers

  • Perspectives

    A publication for digital leaders

  • Digital Fluency Model

    A model for prioritizing the digital capabilities needed to navigate uncertainty

  • Decoder

    The business execs' A-Z guide to technology

  • All Insights

  • Articles

    Expert insights to help your business grow

  • Blogs

    Personal perspectives from ThoughtWorkers around the globe

  • Books

    Explore our extensive library

  • Podcasts

    Captivating conversations on the latest in business and tech

  • Back
  • Close   ✕
  • Go to overview
  • Application process

    What to expect as you interview with us

  • Grads and career changers

    Start your tech career on the right foot

  • Search jobs

    Find open positions in your region

  • Stay connected

    Sign up for our monthly newsletter

  • Back
  • Close   ✕
  • Go to overview
  • Conferences and Events
  • Diversity and Inclusion
  • News
  • Open Source
  • Our Leaders
  • Social Change
Blogs
Select a topic
View all topicsClose
Technology 
Agile Project Management Cloud Continuous Delivery  Data Science & Engineering Defending the Free Internet Evolutionary Architecture Experience Design IoT Languages, Tools & Frameworks Legacy Modernization Machine Learning & Artificial Intelligence Microservices Platforms Security Software Testing Technology Strategy 
Business 
Financial Services Global Health Innovation Retail  Transformation 
Careers 
Career Hacks Diversity & Inclusion Social Change 
Blogs

Topics

Choose a topic
  • Technology
    Technology
  • Technology Overview
  • Agile Project Management
  • Cloud
  • Continuous Delivery
  • Data Science & Engineering
  • Defending the Free Internet
  • Evolutionary Architecture
  • Experience Design
  • IoT
  • Languages, Tools & Frameworks
  • Legacy Modernization
  • Machine Learning & Artificial Intelligence
  • Microservices
  • Platforms
  • Security
  • Software Testing
  • Technology Strategy
  • Business
    Business
  • Business Overview
  • Financial Services
  • Global Health
  • Innovation
  • Retail
  • Transformation
  • Careers
    Careers
  • Careers Overview
  • Career Hacks
  • Diversity & Inclusion
  • Social Change
ChengduDiversity & InclusionCareers

How Expensive is it to Develop Software?

Jie (Jeff) Xiong Jie (Jeff) Xiong

Published: Dec 11, 2015

A friend wanted to take on a social project. All the funders were highly educated elites, who requested for transparency in the project. Since it is now the Information Age, he felt that IT tools would help facilitate communication and improve efficiency. He asked me to create an app which could do all that he had envisioned. But I had to stop him there and tell him something that he hadn’t realized - developing software is expensive!

But how expensive is it really? We can do a rough estimation. Custom software development, taking into account one month of labor, costs 20,000 yuan, an average of 1,000 yuan per person day. The amount of code is in accordance with the Software Estimation empirical data, provided with the software complexity of change during the entire project delivery, with an average daily output of each programmer ranging between 2 to 200 lines. If this is the cost of average daily output of 100 lines of code, then writing each line of code costs 10 yuan.

Writing the software is only the first step. Software needs to run in an environment. We need to deploy server-side software on a reliable server, and there must be a reliable network connection. Client-side software (such as an app) has to be installed on the user's computer or mobile phone. We need to upgrade, maintain, manage and troubleshoot software. We need people who have mastered the skills to manage it. According to data from Enterprise Management Associates, 60 to 70 percent of the IT budget is spent on operations and maintenance. So, we can roughly estimate that including operating and maintenance costs, the cost of a line of code will reach 30 yuan.

So how many lines of code does an app need? Of course, it changes with complexity, but here are two examples as a reference. RapidFTR is an Android application for family tracing and reunification at the time of disasters such as wars, earthquakes, tsunamis etc. International aid teams can use this application to find children who are separated from their families. This software contains about 34,000 lines of code. Another Android application has been built to manage logistics in primary health care points. Health workers in rural and urban areas can use this tool to manage inventory of drugs. This application contains more than 46,000 lines of software code. In other words, even with a simple objective, the cost of developing a mobile application can exceed one million yuan.

The above estimation only covers the software development, operation and maintenance costs. We don't take into account the adjustment of organization structure, on the basis of IT, to optimize workflow, the creation of high-quality content and the use of communication to promote this piece of software that involves human and financial costs. These costs are difficult to estimate. Needless to say, mobile internet itself is prone to change and innovation, and making mistakes and learning by trial and error is commonplace. Clearly, as you can see, developing new software is an expensive task.

Given that it is so expensive, does that mean organizations which are not well funded, especially public organizations, cannot enjoy the power of technology? Not really. In fact, a large number of software tools already exist, that are very mature, have gone through numerous user tests and can easily complete the task for very cheap or even free. For example, do you want to create a website? Use Ghost or WordPress. Do you want to point-to-point spread? Wechat and QQ are pretty good tools. To gather views and opinions, Golden Data is useful. Do you need periodical mail? Consider MailChimp. For Customer Relationship Management (CRM), even a well-designed Excel spreadsheet can do well.

Therefore, when an organization wants to use IT to enhance its capacity, you need to understand the design capacity. First, understand your target audience, the whole user experience, the difficulties and challenges, and then select the appropriate tools. When you bring the problem down to a set of specific design challenges, often you will find ready-made tools to solve it. If you still feel there isn’t a tool which meets your requirements, you can look at developing new software.

This post was designed and produced by Kaifeng Zhang

  • What we do
  • Who we work with
  • Insights
  • Careers
  • About
  • Contact

WeChat

×
QR code to ThoughtWorks China WeChat subscription account

Media and analyst relations | Privacy policy | Modern Slavery statement ThoughtWorks| Accessibility | © 2021 ThoughtWorks, Inc.