Inventory | Comparison of mainstream agile software R&D tool platforms

        Whether it is an entrepreneurial software team or enterprise-level software R&D, they will encounter problems of improving management capabilities and improving R&D efficiency. In order to solve these two problems, many software R&D tool platforms have also emerged: Microsoft, IBM, HP, Atlassian, Rally, Collabornet, Polarion... and other vendors have launched their own distinctive products. In recent years, the new Slack, Platforms such as teambition have also brought new ideas and products, which have been welcomed by many teams. As a software development team or enterprise, how should we make a reasonable choice of these products and tools based on our own development? What are the characteristics of a tool platform that supports efficient software development? What direction will it develop in the future?

  Software R&D tool platform products are developing rapidly around the world, and domestic products are still blank

  When we used Visual Studio to write hello world in school, we already started to use tools for software development. Only at that time, the role of tools was still very single, and there was no special attention to the overall improvement of management capabilities and R&D efficiency.

  In the 1980s, when the domestic computer and software industries were just budding, foreign counterparts had begun to study the use of tools to improve the efficiency of software development. Microsoft and Rational (later acquired by IBM) launched their own IDEs and continued to enhance IDE functions. At the same time, it is expanding in the direction of demand management and quality management.

  In the 1990s, some manufacturers joined the ranks of developing software R&D tools. Among them, the domestic counterparts are very familiar with Mercury (later acquired by HP) products. In the late 1990s and around 2000, everyone often used R&D tools. The combination is generally: Rational Request Pro for demand management, Micosoft Visio Studio for IDE development, collabnet subversion or Rational Clear Case for code base, Mercury Test Director for test management, and Mercury LoadRunner for software performance testing. These tools have improved the efficiency of individuals and teams in every aspect of software development, and more and more people have seen the importance of tool platforms to improve the efficiency of software development.

  In the 21st century, agile thinking and agile software development methods have begun to gradually change people's understanding of software development. In terms of software development tool platforms, ALM (Application Lifecycle Management) has gradually become the direction of product efforts of various tool manufacturers. In just 10 years, a large number of excellent software R&D tool platform vendors have emerged, such as Atlassian, Rally, Polarion, Versionone, Serena... Some established vendors, such as Microsoft, IBM, and HP, have developed new tools through acquisitions, mergers, and Products and other methods have further improved the tool platform for software life cycle management. With new software development methods and many excellent software development tool platforms, the software industry has developed rapidly. At this time, domestic counterparts also widely recognized the importance of tool platforms to improve R&D efficiency, and qualified enterprises or procurement, or independent research and development, built their own R&D tool platform.

  Around 2010, with the vigorous development of the Internet, Internet software research and development has gradually become a new focus, and DevOps has quickly become a common consensus. Many traditional software R&D tool vendors have launched some products or upgraded versions in a timely manner under the banner of "DevOps". At the same time, some new vendors have joined the ranks of the competition. On the issue of how to better manage software R&D activities, products like Slack pose a new challenge to the "traditional" R&D tool platform. Seeing that more and more software R&D teams are more willing to use Slack for daily R&D While working, we can't help but fall into thinking: where will the software development tool platform go from in the future?

  image

  figure 1

  There are many comparative studies on software development tool platforms at present, but the practicality is low

  After 2010, a number of important IT consulting companies began to publish comparative research reports on mainstream software R&D tool platforms on a regular basis. The latest report results of each are summarized as follows:

  image

  figure 2

  Each of these reports alone seems to have an objective perspective, and the evaluation methods seem to be very meticulous. But when you put them together and compare them, you will find that their conclusions are quite different. Different manufacturers will carefully select reports that are "suitable" for their products and display them on the homepage of their product websites. These two-dimensional magic quadrants are not very helpful for teams or companies that really need software development tool platforms.

  We found that these IT consulting companies judge software R&D tool platform vendors and their products from two perspectives: one is from the functional perspective of ALM; the other is from the business perspective. From the perspective of ALM functions, each consulting company will focus on the main aspects of software requirements, design, development, testing, and release, and compare the product functions of each manufacturer in detail to see who has more powerful functions and who has more functions. comprehensive. From a business perspective, they use the market share of the product, the extent of vendor service coverage, and the amount of profitability to measure which vendor is better. As a result, the more fully functional products and the larger the volume, the more praised the manufacturers in similar comparison reports, and vice versa.

  However, for teams and companies that are looking for software R&D tool platform solutions, especially for teams or companies that are undergoing agile and Internet transformation, the above comparison methods are still outdated and rough, and there is no answer to which tool platform It is more suitable for those of us who are conducting agile software research and development or Internet software research and development teams.

  Under the influence of agile software development, the tool platform has undergone great changes

  Software development under the traditional waterfall model focuses on the process of software from concept to online and the key activities at each process node, as well as project management. Many software development tool platforms that support waterfall model development have powerful functions in demand management, quality management, configuration management, and project management.

  image

  image 3

  Agile thinking emphasizes "people-oriented", allowing people to take the initiative, self-manage, respond to changes, and work with mutual trust. Agile software development methods, such as Scrum, Kanban, and XP practices, guide the software development team to embrace changes in demand, deliver customer value quickly, and continuously improve. To make the team or organization truly agile, it is necessary to achieve harmony in the three aspects of people, skills, and methods. This requires the "technical" aspect of the software development tool platform to be agile.

  image

  Figure 4

  The first sentence of the Agile Manifesto is: "Individuals and interactions are better than processes and tools", but this is not to say that agile does not need the support of tools. On the contrary, if you have better R&D tool support and improve the team's work efficiency, you can truly become agile.

  Comparing a few sentences in the Agile Manifesto, we can roughly see the characteristics of R&D tools under the Agile values:

  1. Individuals and interactions are better than processes and tools: R&D tools should be able to highlight individual work and enable teams to collaborate better

  2. Working software is better than detailed documentation: R&D tools should streamline documentation and approval processes to make software delivery smoother

  3. Customer cooperation is better than contract negotiation: R&D tools should support the rapid delivery of working software, and can better help user feedback

  4. Responding to changes is better than following a plan: R&D tools should break the cycle of demand, design, development, and verification, and continue to deliver

  At the same time, we see that more and more tool platforms are undergoing the following changes:

  strengthen:

  1. Support for agile software development practices

  2. Support for continuous and rapid delivery

  3. Support for teamwork

  4. Support for user feedback

  5. Improved user experience

  6. A single tool solves specific problems, and the platform improves overall efficiency

  Weaken:

  1. Process and approval

  2. Document and change management

  3. Time-based task item planning management (Gantt chart)

  4. Refer product quality issues to the tester

  5. Division of roles and permissions in the project

  6. A large and comprehensive platform solves all problems

  The above changes allow us to clearly see the changes brought by agile R&D to the tool platform. We can also summarize that the software R&D tool platform under the agile method should have the following six characteristics:

  1. Agile management practices (user story map, story list, priority, estimation, card wall/kanban, burndown chart/CFD, review data)

  2. Agile development practice-code (IDE integration, code scanning, code review)

  3. Agile development practice-Dev-Test-Ops pipeline efficiency improvement (compilation, CI, UT, AT, release, deployment, operation and maintenance)

  4. User feedback is connected with the R&D process

  5. Focus on collaboration and user experience

  6. The price of the tool platform that the team can afford

  Comparison of mainstream agile software R&D tool platforms, each with its own strengths

  image

  Figure 5

  The above table is the functions that our tool platform should have based on agile R&D methods, combined with the in-depth trial or comparison of each tool platform. It can be seen that in the context of agile R&D, the functions of each platform have their own strengths.

  image

  Figure 6

  Choose a software development tool platform that suits your team

  In the software development tool platform, there is no universal perfect solution. The wrong choice will affect the organization's growth, competition, and the successful delivery of the product.

  When choosing a software development tool platform, you must first determine where you want to use the tool platform to improve the organization, which is the ability to deliver quickly? Or is it to support agile development practices? Or does agile management practice land? Or is it to better collect and manage user feedback? Or is it to strengthen teamwork?

  Once the goal is determined, it is necessary to combine the human skills triangle and comprehensively consider what kind of tool to use, that is, "technique." It is necessary to fully understand the other two aspects of the triangle, that is, to understand the ability level of the team or organization, and the current research and development methods that everyone uses or will use.

  Only by achieving harmony in the three aspects of people, technology, and law, can the effect of the tool platform be fully utilized, the problem can be truly solved, and the organization's ability can be improved.

  The future development of software development tool platform

  With the rapid development of the software industry, software development tool platforms will inevitably undergo more changes. The following features will be more prominent in the future software development tool platform:

  1. Faster

  In the software R&D cycle of demand, design, development, testing, deployment, and feedback, the R&D tool platform will more improve the overall efficiency of R&D and further shorten the R&D cycle.

  2. Quality risks move forward

  In terms of code inspection, CR, CI, single test, automated functions, performance testing, security testing, etc., the R&D tool platform will pay more attention to the advancement of quality risks, that is, the implementation of good practices to ensure quality in the development phase.

  3. More collaboration

  In terms of team collaboration and customer cooperation, the R&D tool platform will better integrate new business and new technologies such as online social networking and mobile Internet to make software development, such as people-to-person collaboration activities, smoother and more convenient.

  About the Author

  Wang Yinan, senior product manager of Baidu R&D tool platform. With 10 years of practical experience in software agile R&D management, he has successfully implemented software agile project management based on the informatization tool set in two listed companies, and successfully realized the continuous process improvement of the project based on informatization data.

——————————————
** My mobile phone number has call attributes and WeChat add friends attributes
I look forward to communicating with you

I’m Mave Diao,
there is only one China Unicom between us
186-0161-9614**

Another: If you need a detailed comparison diagram of Polarion and Doors, please contact me for PDF resources.

Guess you like

Origin blog.csdn.net/MaveDiao/article/details/114920609