Wednesday, May 6, 2020

Quantitative Extreme Programming Projects â€Myassignmenthelp.Com

Question: Discuss About The Quantitative Extreme Programming Projects? Answer: Introducation Adaptive or Agile System Development Methodology is an approach to managing a software project that embraces unpredictable changes to a project. Adaptive methodologies are highly flexible, iterative and interactive techniques of establishing project requirements in Information Technology (IT) and engineering. Agile project management entails application of agile methodologies in managing projects. These methodologies include Scrum, Extreme Programming (XP), DSDM and Feature Driven Development (FDD). These techniques promote project management process; that encourages the participation of all stakeholders, effective control, feedbacks and objective metrics (Moran, 2015). APM employs ideas from Agile software development in project management. The core characteristics of Agile techniques is that they all support iterative and incremental development. The project requirements and proposed solutions evolve systematically through cooperation between self-organizing, cross-functional teams . Agile Project Management endorses adaptive planning, time-boxed iterative approach, and evolutionary development while promoting quick and flexible responses to change. The technique is based on the promotion of foreseen interactions between the stakeholders throughout the project life cycle (Beck et Al, 2013). The processes involved in the Agile project management are in line with the twelve principles of Agile Manifesto as put forward by Beck et al. (2013). The manifesto prioritizes customer satisfaction, flexibility in the development process, iterative development, cooperation between stakeholders, and effective communication among others. There are three key plays in an Agile Project Management; the owner, project manager and the project team (Moran, 2015). Agile project management responsibilities are divided among the three stakeholders. The owner is tasked with the responsibility of handling the business aspects of the project - such as monitoring to ensure that the desired product is being built in the correct way, as well as making decisions about the given product. The manager, on the other hand, organizers the project team to optimize their productivity, organizes meetings, handles issues that may hinder the working of the team and does other managerial tasks for the project (Moran, 2015). Finally, the team has the responsibility of developing the most optimal methods of achieving the project goals. Agile methodologies are characterized by their adaptive nature. This approach facilitates optimization of the design of the intended solution by encouraging changes throughout the project (Moran, 2015). Adaptive methodologies are therefore more preferred for projects with high levels of uncertainty. The dynamic nature of Adaptive methodologies facilitates continuous learning while encouraging adaptation of the emergent state of the project. Extreme Programming (XP) Extreme Programming is one of the agile software development methodologies. XP focus on improving software quality and accommodation of new requirements from the customer. In building products, XP takes an incremental approach, with a continuous cycle of testing and revising (Kniberg, 2015). The main goals of the methodology are to produce high quality software and improve the quality of life of developers. Extreme Programming is best suited for projects where requirements are likely to change over the period of the projects life (Rumpe Schrder, 2014). The methodology encourages responsiveness towards the changing customer requirements. A vital feature required for the FFSL case since some requirements are bound to change to accommodate the views of the sales persons. XP emphasizes on teamwork and singleness of purpose among the developers, customers and managers; everyone becomes part of the team, and focuses on contributing positively towards the delivery of quality software. Extreme programming improves the development process of software projects by; encouraging developers to be accommodative to changing requirements, encourages feedback, simplicity and improved communication (Kniberg, 2015). Advantages of Extreme Programming Enables time and cost saving by eliminating unproductive activities, thus helping software developers focus on the coding aspect of the project (Rumpe Schrder, 2014). Reduces project risk and failure while ensuring that the customer gets what he needs. XP process is visible and accountable with developers delivering what they commit to deliver. The methodologys principles of simplicity and constant feedback helps in developing simple maintainable code and the feedbacks from sprints ensures developers keep on the right track (Kniberg, 2015). With XP developers satisfaction is high as the process is value-driven. The greatest advantage with XP is the Teamwork spirit, as all stakeholders work as a team focusing on delivering quality. Disadvantages of Extreme Programming The approach has the disadvantage of putting more focus on coding rather than design, which is equally important for software (Kniberg, 2015). Documentation process in XP is not adequate, thus software bugs are not well documented making it possible for such bugs to appear in future. Coding is done in pairs, leading to code duplication and redundancy (Kniberg, 2015). Quality control planning is not adequately implemented in XP methodology Feature-driven development(FDD) FDD is an incremental and iterative approach to the development of software. FDD combines several software development best practices to form a unified whole. The model is driven and centered on a clients most value features of a system (Firdaus, Ghani, Jeong, 2014). The main objective of this model is to deliver quality within the specified timeline. Feature-Driven Development is therefore a pragmatic, architecture-centric and client-centric approach (Firdaus, Ghani, Jeong, 2014). The key processes that define an FDD project include; Developing an overall model: project teams concentrates on building an object model for the problem domain in a collaborative, iterative and cross functional way. Building a features list: Key features of the system are identified in form of user story and then most valuable ones highlighted to guide the project. Planning by feature: this phase entails developing a working plan, which specifies the order of implementing the desired features of the system. The main aspects taken into consideration during the planning includes; resource allocation, complexity and risks (Firdaus, Ghani, Jeong, 2014). Designing by feature: Here, the main features and domain classes to be developed next are identified by the chief programmer. Building by feature: the fifth and final phase of the methodology entails implementing the classes and features identified at the design phase. Advantages of Feature Driven Development With FDD a business focuses on creating a product, enabling businesses to focus on developing quality products (Firdaus, Ghani, Jeong, 2014). Disadvantage of Feature Driven Development A major disadvantage with this approach is that it does not investigate the market for the product being developed, thus it may results in a product that does not have any market demand (Firdaus, Ghani, Jeong, 2014). Scrum is another agile software development methodology, designed for small projects. The general flow of a Scrum project is as follows; A client generates a list of prioritized requirements, referred to as a Product Backlog (Asghar, Bhatti, Tabassum, Sultan Abbas, 2016) The project team meets to plan for the sprints, where the team takes a few items from the product backlog sprint backlog - and plans how to implement the items. The team takes a period of between two to four weeks to implement the sprint backlog, although they hold daily progress assessment meetings called daily Scrum (Asghar, 2016). The team leader Scrum Master plays the role of keeping the team focused on the set goals Work done in a sprint is sent to the customer at the end of a sprint The team holds a review and retrospect of the sprint A new sprint begins and the cycle goes on till the entire customers wish list is accomplished. The key players in a Scrum are the Team, Scrum Master and the Product Owner. The approach makes the project development clear and visible as it requires periodic updates of the project progress to be shared among the stakeholders (Asghar, 2016). Facilitates quick development of fast moving products, as coding, testing and error rectifications take place in a speedy way It is highly iterative, requiring continuous user feedbacks which help to refine the product under development (Asghar, 2016). The inherently short sprint periods makes it possible for developers to cope with changes in the project. Disadvantages of Agile SCRUM The approach can easily lead to scope creeps unless there is a defined project end date May face challenges of time and cost estimation, where the tasks are not clearly defined. Requires highly experienced and cohesive team members; meaning new team members may find it difficult to meet the requirements of the approach (Asghar, 2016). Recommendations From the analysis of the case study, it is clear that the requirements of the case study may change as the management and the sales persons come into agreement regarding some aspects of the system. The case is therefore a perfect candidate for an Adaptive/Agile software development approach. Although all the three methodologies discussed can be used for this case, Scrum Methodology would be the most appropriate for the scenario. With Scrum, the list of the most important features of the system would be implemented piece by piece, enabling refinement and improvements to be made to the system. References Asghar, A. R., Bhatti, S. N., Tabassum, A., Sultan, Z., Abbas, R. (2016). Role of Requirements Elicitation Prioritization to Optimize Quality in Scrum Agile Development.work,7(12). Beck, K., et. Al. (2013). Manifesto for agile software development. Agilemanifesto. org. Firdaus, A., Ghani, I., Jeong, S. R. (2014). Secure feature driven development (SFDD) model for secure software development.Procedia-Social and Behavioral Sciences,129, 546- 553 Kniberg, H. (2015).Scrum and XP from the Trenches. Lulu. com.. Moran, A. (2015). Agile project management. InManaging Agile(pp. 71-101). Springer International Publishing. Rumpe, B., Schrder, A. (2014). Quantitative survey on extreme programming projects.arXiv preprint arXiv:1409.6599.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.