Is there the best software development method?

Source: Internet
Author: User

Development Method of thoughtworks

Traditional descriptive methodology uses a top-down project management approach to establish a command and control system. The assumptions of these methodologies are based on the fact that, with enough planning and management, results can be predicted and risks can be avoided.

These methodologies are effective when the customer's business and technology are relatively stable. However, for strategic software projects that are growing, descriptive approaches neither provide the flexibility required by the Enterprise nor the market entry speed required by the enterprise. In too many cases, the final result is not a high-value software, but a lot of analysis results. It will only fill the shelves of a manager with dust. This is the same as the changes on the whiteboard and keyboard ...... Or, the real business needs are too far apart.

Agile methods are based on rigorous processes. In fact, many of these practices have been fully defined and can be directly incorporated into development tools. For example, the unit test framework, continuous integration tools, and a restructured development environment constitute a new set of development tools, allowing people to create software faster and better.

Research has long proved that the only thing that can have a significant impact on software productivity is people. However, it is strange that the agile method is the first software engineering practice based on the characteristics of people's actual software development.

At the same time, thoughtworks recognizes that methodology is not omnipotent. As one of the pioneers in adopting agile methods, we fully understand the advantages and disadvantages of these methods. However, agile methods include useful practices evolved from many of the most successful software achievements in recent history. Extreme Programming (XP), scrum, Crysta, and other agile methods all boast down-to-earth and practical practices, such as continuous integration, test-driven programming, and refactoring.

Joint Technology Development FTD

One solution is that the U.S. software development team spent a year developing CRM software. There is no problem during the trial at the U. S. Headquarters. The software can fully meet the needs of product production. The software development team then pushed the software to the Chinese market. Due to lack of knowledge of the Chinese market, they spent a lot of money and work to improve the software system. After one year of improvement, the software functions were finally improved. At this time, local Chinese products have also been developed.

The second solution is to build two software development groups that work independently and simultaneously. However, the Chinese software development team lacks both technology and experience. As the company stipulates that China is one of the controlled countries, it is difficult for the Chinese software development team to obtain relevant information about the new product line in a timely manner, making development very difficult. Therefore, the promotion of CRM software in the Chinese market is not ideal, resulting in a large number of customers being very dissatisfied. The company had to spend more than two years to eliminate the negative impact of the market.

Assume there is a third option: Work in loose ways with the local software development team. The U.S. software development group has a wealth of software development experience that supports product lines. They quickly pass these experiences to the Chinese software development group. CRM software will be put into use in the United States as planned, while software development teams in China will continue to work to solve problems related to the adaptation of software systems in China. CRM software can be put into use in the Chinese market at most three months later.

Among the above three hypothetical development solutions, solution 1 is highly centralized, solution 2 is highly decentralized, and solution 3 is optimized. Among them, the third software development solution, especially applicable to software development of global companies, is called Joint Development FTD (federatedtechnologydevelopment: Joint Technology Development ). Application Software integration is only one of the areas in which FTD plays a role. The FTD method is not only applicable to information technology and business processing, but also to software and hardware development and product development.

FTD is one of the methods to optimize business output. In this way, local organizations can make their own decisions. Different organizations have equal relations rather than alliances. Second, a central organization should be responsible for coordination, and each branch should be able to carry out work under unified commands and arrangements.

 

Rational Unified Process)

That is Rational A Unified Process defines a series of process elements, such as roles, activities, and products. through appropriate combinations, the software development organization can effectively manage software processes. RUP Its characteristics are reflected in its usage-driven (Use Case Driven) Is centered on the architecture. (Architecture-centric) , Iteration and Increment (Iterative Process) . Shared throughout the entire development lifecycle of the system 4 Phase: initial (Inception) , Refined (Elaboration) , Construction (Construction) And handover (Transition) With the passage of time, the focus of each stage is constantly changing. At the same time, these four stages are also continuously iterated, and each iteration has an incremental task.

What method is most suitable for today's Internet development? Or how to use it comprehensively? Welcome to comments!

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.