Concept of Refactoring

If you read the XP life cycle, one of the things after we implement the task is code refactoring. Refactoring is the process of changing the software in such a way that it does not change the behavior of the code but on the other hand improves the internal structure. No code can be perfect with architecture, coding conventions, and high reusability at the first level itself. Normally it improves over time. It helps developers to implement the necessary solutions today and improve / make the code better tomorrow. Refactoring is the process of changing the system to improve the … Click here to continue…..

Differences between Agile and traditional SDLC

The figure “Agile and traditional SDLC” points out some of the main differences. If you have worked on both these, you can point out more differences. Lengthy requirement documents are now simple and short user stories. Estimation unit man days and man hours are now ideal days and ideal hours, respectively. In the traditional approach, we freeze the requirement and complete the full design and then start coding. But in Agile, we design task wise. So the developer designs just before he starts a task. In traditional SDLC, we always hear ‘After signoff nothing can be changed’; in Agile, we … Click here to continue…..

Explain the XP(Extreme Programming) development life cycle

The XP development cycle consists of two phases: ‘Release Planning’ and ‘Iteration Planning’. In release planning, we decide what should be delivered and in what priority. In iteration planning, we break the requirements into tasks and plan how to deliver those activities decided in release planning. The below figure ‘Actual essence‘ shows what actually these two phases deliver. If you are still having the old SDLC in mind, the below figure ‘Mapping to traditional cycle’ shows how the two phases map to SDLC. So let’s explore both these phases in a more detailed manner. Both phases “Release Planning” and “Iteration … Click here to continue…..

What is XP(Extreme Programming) in Agile methodologies?

Extreme Programming (also termed as XP) is an agile software development methodology. XP focuses on coding of software. XP has four core values and fourteen principles. XP has these four core values: Communication: The team should communicate on a regular basis, share information, discuss solutions, and so on. Teams that communicate very often are able to solve problems more efficiently. For instance, when an issue gets resolved in a cryptic fashion, send an email to the whole team. This ensures that the knowledge is shared with everyone and in your absence some other developer can solve a similar problem. Simplicity: … Click here to continue…..

Main principle behind Agile documentation

The main deliverable in Agile is a working software and not documentation. Documentation is a support to get the working software. In traditional delivery cycle, a lot of documentation is generated in the design and requirement phases. But we are sure most of the documentation were created just for the sake of it. Below are the some of the key points to make documentation Agile: Before creating any document, ask the question do we need it and if we do, who is the stakeholder. The document should exist only if needed and not for the sake of existence. The most … Click here to continue…..