• Add a Comment
  • Edit
  • More Actions v
  • Quarantine this Entry

Comments (1)

1 ONeillDon commented Permalink

Technical Debt and Software Malpractice
The success of large scale software intensive systems is largely dependent on the engineering, management, and process capabilities, people, practices, methods, and tools of the enterprise charged with the requirements determination, design, development, testing, fielding, and sustainment of systems and systems of systems. Within any organization, these elements of success are in various stages of maturity, and their evolution and alignment may become the source of strategic software management and continuous process improvement. At any point in time, these gaps can be referred to as Technical Debt when they result in persistent reputation, economic, mission, or competitiveness costs and risks. When these gaps are neglected, whether undiscovered or consciously ignored, Technical Debt may be incurred.

Software malpractice can be approached through the filter of Technical Debt. As I view it, Technical Debt is the organizational, project, or engineering neglect of known good practice that can result in persistent public, user, customer, staff, reputation, or financial cost. Shortcuts, expedient activities, and poor practice contributing to the initial product launch or initial operational capability are often cited as justifiable excuses in taking on Technical Debt; but in truth most Technical Debt is taken on without this strategic intent, without even knowing it, and without the wherewithal in capability or capacity to do the job right. 

Sources of Technical Debt span neglect in engineering, management, and process including:

1. Sources of Technical Debt in engineering involve neglect in application domain understanding, requirements determination, system and software architecture, iterative multi-level design, staged incremental development, software development life cycle, programming language, middleware, operating system, network interface, and software development environment.

2. Sources of Technical Debt in management involve neglect in requirements management, estimating, planning, measurement, monitoring and controlling, risk management, process management, team innovation management, supply chain management, team building, personnel management, and customer relationship management.

3. Sources of Technical Debt in process involve insufficient evidence of explicit goals and readiness to perform, insufficient accountability based on work responsibility matrix, insufficient planning of design levels and staged increments, and insufficient planning, management, and control of software product releases.

Add a Comment Add a Comment