Do your customers keep complaining about bugs in your software application? Does it take you too long to fix bugs and implement new features? If yes, then you may have issues with the quality of your application.
This session provides practical advice on how you can improve the quality of your software application. The speaker shares with you all the lessons he learned while working as a software engineer for a big, complex enterprise application, discussing which techniques worked and which ones failed and providing actual examples and metrics from that application.
It’s assumed that you have already experienced the struggle of maintaining a defective software application and that you aspire to building software of top quality.
This session on Software Quality was presented at:
- DevTalks Reimagined (virtual conference), Bucharest, Romania (10 Jun 2020)
- Java2Days, Sofia, Bulgaria (10 Dec 2019)
- Oracle Code One, San Francisco, USA (16 Sep 2019)
- Javantura v6, Zagreb, Croatia (23 Feb 2019)
- Java Hellenic User Group, Athens, Greece (20 Feb 2019)
- Java Meetup, Thessaloniki, Greece (01 Feb 2019)
- Atos "Live from Earth", Athens, Greece (06 Jul 2018)
0:00 Introduction
2:09 Number of customer tickets as a proxy of software quality
3:56 Code coverage as an indication of quality before releasing software to customers
5:28 Measure technical debt with static code analysis
7:20 Old code is more reliable
9:04 Stop creating new technical debt with SonarLint
12:20 Where do you spend most of your time as a developer?
14:41 Use git to find where you spend most of your development effort
16:59 Only a few files of source code change frequently
18:37 Refactor frequently changing files
19:35 Changing files predict system failures
19:50 Do not waste time testing mature functionality
21:39 Identify stable components in your application
23:59 Go faster with deleted/extracted code
25:22 Measure code complexity
26:19 Tabs increase code complexity
27:13 Identify candidates for refactoring
29:01 How to refactor frequently changing files
30:06 Break large files by responsibilities
33:12 Divide and conquer to stabilize code
35:01 Windows Vista
35:27 Organizational metrics vs software quality
39:30 Organizational structure impacts software quality
41:15 New organizational metrics analyzed for Windows 7: Component owners, Major and Minor Contributors
43:06 Examples of developer contributions in software components
45:58 Use organizational metrics to build better software
48:00 Planning new features
48:45 Use git to find all the contributors for a component
49:35 Summary of proposed actions to improve software quality
How to Improve Software Quality
Теги
Software QualityCustomer TicketsSonarQubeOld CodeLegacy ApplicationLegacy CodeOrganizational MetricsCode ComplexityReduce Technical DebtPay Off Technical DebtSonarQube Quality GatesSoftware TestingQuality AssuranceSoftware Quality AssuranceSoftware Quality FactorsHow to measure software qualityMaintain Legacy ApplicationRefactor Legacy ApplicationRefactor Legacy Codesoftware quality metricssoftware quality assurance best practices