Mapping The Best Practices of XP and Project Management: Well defined approach for Project Manager

Software engineering is one of the most recent additions in various disciplines of system engineering. It has emerged as a key obedience of system engineering in a quick succession of time. Various Software Engineering approaches are followed in orde…

Authors: Muhammad Javed, Bashir Ahmad, Shahid Hussain

roject management is considered as important component of certain domains including Information Technology (IT) and its main emphasis on the infrastructure of concern domain [5]. Improvement in success of project mainly depends on the proper management. Vague system understanding and improper documentation are the basic reasons for failure of any project which ultimately yields almost negligible productivity. Proper project planning is directly proportional to end result with a ratio of 1 to 4, as highlighted by "Margo20/80 theory" [6]. This shows project's productivity is directly related with planning process which is considered as primary activity of project management. Moreover, good project management leads to develop the high quality and less cost software. One of the key implementation of AGILE methodology is eXtreme Programming. XP is a collection of all the rules, practices and routines which have produced significant results in the past. [4]. A project being carried out using XP methodology is initiated by "Planning Game". This phase involves the interaction of key stakeholders i.e. XP practitioners and customers and end up with a list of functionalities to be developed. The Planning game is the only best practice which shows the activities of project manager of XP project while other best practices don't represent it. In this paper authors proposed a strategy to map the best practices of project management and XP process model. This strategy will help the project manager of XP to monitor and control all the activities during development life cycle. Moreover this strategy will lead to develop high quality software with less uncertainty and underestimated cost [8]. One of the critical process to observe during the software development project is "How Project Management is being carried out". A well managed Project Management produces positive outputs and helps to represent the sequence of activities which are performed by project manager. The challenging activities for a project manager are successful planning, controlling, coordinating, risk management and changing scope [1,2]. All projects are developed with uncertain economy and increased pressures to derive optimal value. Planning is a time consuming and a laborious task in traditional/orthodox software development methodologies. While planning in XP provides milestones which are sorted by highest priority and are delivered at regular intervals [6]. The identification and delivery of iterative tasks are a challenge for project management. There are number of best practices of project management which helps the project manager to take benefits from repeatable standard functions, not considering about size Such as in Fig- 1. This figure shows the common best practices of project management which are applied by the project manager to complete a project in successful way. The signs of a successful project are knowing what needs to be done, a well understanding between the team members, no communication gap between all the stakeholders, a thorough planning and design, maximum output with minimum expectations, delivery on every milestone, stick to the plan, accommodate changes, testing on each step and having a broad vision [9]. P XP is most popular process model of AGILE methodology developed by Kent Beck and used to develop small size projects. XP projects start with a release planning phase, followed by several iterations, each of which concludes with user acceptance testing. When the product has enough features to satisfy users, the team terminates iteration and releases the software [7]. XP process model comprises on the number of best practices which are followed by developer to complete a project [10],besides this XP includes founding values which are Simplicity, communication, feedback and courage and all the best practices are coherent with these values. Kent Beck points out that the measurement in XP represents the basic management tools to get control on the project evolution [4]. Proper management of software project leads to developed successful, uncertain and quality software product and Project manager is the key resource of project management spectrum. In this paper authors mapped the best practices of XP with best activities of project management shown in Table -1. This table shows that how best practices of XP and project management can be mapped. In Table-1 five best practices of project management such as scope, planning, Best practices of Project management adopted by [6] Fig- 2. Overview of XP process adopted from [7] execution, controlling and closure are shown which are mapped with the best practices of XP. During development of XP project, project manager must know about its used practices and then follow the Table-1 to embed the project management activities. Pair programming is the most common best practice of XP. According to this, two developers work in pairs, one as driver to write code and another as navigator to review code. In this practice, the project manager is responsible to select those roles for pairing who are interested and can work in collaboration. Besides this project manager will monitor the collaboration and other project issues relevant to pair programming. This practice shows the involvement of customer directly in development process. In this practice, the project manager is responsible to identify resources to gather consistent requirements and classification of resources i.e. whether off-line or on-line customers. Moreover, project manager monitor the implementation of requirements, relationship among requirements and satisfaction of requirements in consistent way. This practice shows the adaptation of common coding conventions during whole development process. In this practice, the project manager is responsible to identify those coding conventions which are easily available, interpreted and adopted by all developers. Similarly project manager monitor portability, efficiency and defect rates after adopting new coding conventions. This practice shows the improvement in existing code without changing the functionality of software. In this practice, the project manager is responsible to identify the code for refactoring, design new code and define the abstraction level for designing of new code. Moreover, project manager monitor the changes in functionality and defect rates which can arise due to designing of new code. This practice shows the code will not be the proprietary of single person. In this practice, the project manager is responsible to define the criteria and percentage participation of all those developers who are involved in writing code. Moreover, project manager monitor demand of code ownership for all involved developers. This practice shows the integration testing will be apply each time when a new build is developed and integrated into existing system. In this practice, the project manager is responsible to define the level of integration, date and time when a build will complete and integrated and involved risks. Moreover, project manager monitor the development and integration of new build according to schedule date and time, assessment of risk and defects rate due to integration process. This practice shows the process to define user stories according to objectives and assign priority to each story either in initial stage or after completion of small release. In this practice, the project manager is responsible to monitor the uniqueness of user stories, prioritization of stories, dependency among stories, implementation of user stories and achievement of goals. This practice shows the process to get feedback from user so early and focus on the effective growth of software in increments. In this practice, the manager is responsible to monitor the unit testing and delivery of each release, sequence of releases, feedback and satisfaction of customer after implementing new release. This practice shows that how a developer can work with efficiency after it had become tired. This is easy to define but harder to practice. Here the project manager is responsible to monitor the work of each role with in its job time and after duty time, note the efficiency of each role, relaxation of each role, effect of sustainable developers on project. This practice shows automated unit and user acceptance testing process of each release. In this practice, the project manager is responsible to monitor the unit testing and acceptance testing of each release, achievement of long term benefits and defect rate after implementing. This practice shows that design process of development will be simple and time will not waste in designing of documents. In this practice, the project manager is responsible to monitor the designing process of each architecture, wastage of extra time for documentation, and effect of no documentation. This practice shows the process to substitute an existing architecture with new one. Here the project manager is responsible to monitor the availability of new architectures, adaptation and implementation of new architecture, substitution process, functionality of software and maintenance efforts. This practice shows the quick meeting process during collection of user stories. Here project manager is responsible to monitor the availability of person, time management, date and time for meeting and requirements satisfaction from user side. A well defined structure of project management leads to develop a successful, quality and high productivity software. Often Projects fail due to poor planning and management process. The effect of good project management is depend on the work of project manager who can managed that how activities can be performed in well-organized way. XP process model based on the AGILE methodology and it has a well defined project management structure. But in XP process model there is no proper guidelines for project manager to perform activities in effectively way. Here the purpose of authors has defined a process that how best practices of good project management can be mapped with best practices of XP. Moreover, this mapping technique is at its initial stage which can be enhanced later on after its successful implementation.

Original Paper

Loading high-quality paper...

Comments & Academic Discussion

Loading comments...

Leave a Comment