Managers in an organization face challenges when they try implementing the agile system off software development. Especially in an organization that has been following the waterfall approach. Although they may find small projects easier to handle with agile, they find it hard to scale up the agile technique for large projects. The major challenges that software project managers face in implementing agile can be categorized into three areas. These include areas concerning development related issues, business related issues, and people/ personnel related issues. The challenge is further intensified if both traditional and agile approaches exist for different projects within the same organization. Both approaches have different project and client attributes and modifying the organization's own attributes from project (agile) to project (traditional) is difficult. In this situation the issue areas include technology and processes too, apart from business and personnel. Challenges in Agile Implementation in an Organization Development Related Issues: The problem involves the challenge of 'merging together'. The agile is a lightweight process while the organizational processes are complicated and heavyweight as per the requirements of the traditional approach. How to suit agile to traditional complexity is a challenge in itself. There is variability in subsystems and there may be integration issues with the elements of the same product developed through agile and traditional means. There are differences in assumptions, GUI, choices, value proposition of both techniques leading to variability in features, and design at the time of delivery. Variation occurs in the life cycle of projects as the agile process has immediate release. The traditional process has delivery scheduled after a long period. Issues also come from difference in requirement analysis of both techniques. The agile process has informal and functional requirement approaches which might not fit in the validation and verification method of the traditional engineering system. Business Related Issues: The day to day operational process of both techniques vary. This might lead to issues associated with resource loading, estimation, and calculation variability. Agile personnel require enhanced skill and experience. HR procedures in a traditional set up might not encourage people to pursue the non-traditional approach as this requires redefinition of organizational policy and processes. Since agile is iterative, traditional progress (design review) measurement ways are inadequate. In agile requirement/feature completion can be used for progress measurement. Due to low documentation and infrastructure support, agile method does not comply with the standard requirements for CMMI, ISO or other process standards. Personnel Related Issues: The major challenge can be a shift in attitude from traditional to agile. Traditional approach assigns employees to specific, well defined roles; while agile team members need to multitask. Agile project managers act as a coach and provide technical help when needed and the traditional PM generally delegates. Logistic challenges relate to the need for a paired programming work station. Prompt handling of successful agile projects should be done to prevent destroying the technical and personal strengths of teams. The team of agile should consist of strong performers. A high degree of customer involvement, integration, and feedback involves dealing with challenge of synchronization among stakeholders. Challenges for Organizations Following Traditional and Agile for Software Development Organizations who seek to incorporate both the agile and traditional approach face issues pertaining to organizational framework adjustments, changes in technical and procedural requirements, management, and personnel related changes. As discussed above, new competency development is required for adjusting to procedural and technical challenges. Learning requirements and the time period to make adjustments to skill enhancement for dealing with this challenge can be low. Adjustment requirements for culture, strategy, and framework, is large and a continuous process. People issues relate to high levels of dynamism required in agile team. Issues may come up due to role inter-changeability, self-organization, and working on areas in which a developer might not be proficient. The project manager's role changes from that of a strategist, controller, and allocator to that of a mentor and coach who collaborates and integrates the team. The highest degree of creativity requires a high level of ownership and leadership qualities. This is in contrast to traditional teams existing within the same organization where competencies are formed around a process within a restricted set up and documentation. Existence of two opposing cultures of operation might lead to confusion and shake the organizational framework. Organizational culture variation and difference in reward system of agile and traditional may lead to challenges (Nerur et al., 2005). This may lead to development of various small-cultures within the organizational set-up. Adjustment of organizational framework to elements of dual culture might get difficult to handle. Existence of a dual reward system where focus shifts from individual accomplishment to team accomplishment might get problematic. Such factors may pose serious hurdles to peaceful co-existence of following agile and traditional methodology of software development.
Related Articles -
Agile coaching, Agile coaching services, UK, Europe,
|