Skip to content

CHANGE MANAGEMENT

BEFORE

Writing Activity

While "change management" broadly encompasses organisational and cultural aspects, in the context of development, it refers to the structured process of initiating, approving, implementing, and reviewing changes to the application. The developer plays a key role in the technical aspects of this process.

  • Scope Definition and Estimation: When a change request comes in (whether a bug fix, new feature, or technical upgrade), the developer helps define its scope, assesses its complexity, and provides effort estimates. This input is crucial for the client's planning and budgeting.

  • Impact Analysis: Before implementing any significant change, developers conduct an impact analysis to understand how the proposed change will affect existing functionalities, integrations, performance, and security. This helps in identifying potential risks and planning mitigation strategies.

  • Version Control and Branching Strategies: Developers meticulously use version control systems (like Git) to manage different versions of the codebase. They implement branching strategies (e.g., feature branches, release branches) to allow for parallel development, bug fixes, and stable releases without disrupting the main codebase.

  • Deployment Planning and Execution: Developers work closely with operations teams (DevOps) to plan and execute deployments of changes. This includes scheduling downtime (if necessary), rollback plans, and monitoring post-deployment to ensure stability.

  • Communication with Stakeholders: While the client is the primary communicator with end-users, developers often provide technical explanations and insights to the client, helping them communicate changes effectively. They might also directly interact with client product managers or business analysts during the change process.

Events That Might Create the Scenario for Developer Support

Several events commonly trigger the need for a developer's post-delivery support and the management of change:

  • User Bug Reports: End-users encountering unexpected behaviour, crashes, or incorrect data are the most common triggers for bug fixes.

  • System Monitoring Alerts: Automated monitoring tools (e.g., for performance, errors, security threats) can detect issues before users report them, prompting developer intervention.

  • New Business Requirements: As the client's business evolves, new features or modifications to existing ones are often required to support new processes, products, or services.

  • Regulatory Changes: Updates to laws, industry standards, or compliance requirements (e.g., data privacy regulations, financial reporting standards) necessitate application changes to ensure legal adherence.

  • Third-Party Integration Changes: If the application integrates with external systems (e.g., payment gateways, APIs, CRM platforms), changes in those third-party systems can break existing integrations, requiring developer updates.

  • Security Vulnerability Discoveries: New security flaws or exploits can emerge, requiring immediate patches and updates to protect the application from cyber threats.

  • Underlying Technology Obsolescence: Operating systems, databases, or programming language versions can become outdated, unmaintained, or pose security risks, compelling upgrades.

  • Performance Degradation: Slow application response times, database bottlenecks, or high resource consumption indicate a need for performance optimisation from the developer.

  • User Feedback and Feature Requests: Beyond formal requirements, user feedback can highlight areas for improvement or suggest desirable new features, leading to planned updates.

  • Competitive Landscape: The need to remain competitive in the market often drives feature development and application enhancements to match or surpass competitor offerings.

  • Contractual Agreements: The most direct trigger is often the Service Level Agreement (SLA) or maintenance contract signed with the client, which explicitly outlines the developer's responsibilities for support, bug fixing, and updates over a specified period.