Software Project Management Team Assignment 1 K15T2-Team 5- PoD Team Table Content Replace it with your original text. 1 Software Development Process Replace it with your original text. 2 ExtremeReplace Programming Methodology it with your original text. Replace it with your original text. Replace it with your original text. Replace it with your original text. Software Development Process The software development process is a general term describing the over-arching process of developing a software product. Sometimes referred to as the software life cycle, this process may be used for the implementation of a single application or a far-reaching ERP system. Software Development Activity Planning Implementation Testing Documenting Planning Planning Deployment Maintenance Code & Fix Software Development Model Any software development process is divided into several logical stages that allow a software development company to organize its work efficiently in order to build a software product of the required functionality within a specific time frame and budget Software Development Model Waterfall Model Spiral Model Iterative and Incremental Development Agile Development … Table Content Replace it with your original text. 1 Software Development Process Replace it with your original text. 2 ExtremeReplace Programming (XP) it with your original text. Replace it with your original text. Replace it with your original text. Replace it with your original text. XP Process 1 Introduction 2 3 Process Roles and Responsibility 4 Practices 5 Scope of use 6 Advantages & Disadvantages Introduction History • Extreme Programming was created by Kent Beck during his work on the Chrysler Comprehensive Compensation System payroll project. • Although extreme programming itself is relatively new, many of its practices have been around for some time; the methodology, after all, takes "best practices" to extreme levels. XP is a software development process XP is widely used in many medium or small sized companies. Introduction Factors to the success of XP The customers associated with the development process, need attention to their needs. View them as members of development team. Ability to respond flexibly and quickly to changes of customer requirements at any stage of the project. Ability to offer a version of the software release quickly when customers need it. XP Process 1 Introduction 2 3 Process Roles and Responsibility 4 Practices 5 Scope of use 6 Advantages & Disadvantages Lifecycle of XP Process Iteration Lifecycle The XP Development Lifecycle The typical day of Developer XP Process 1 Introduction 2 3 Process Roles and Responsibility 4 Practices 5 Scope of use 6 Advantages & Disadvantages Role & Responsibilities Customer Programmer Coach Tracker Tester Consultant Manager (Big Boss) XP Process 1 Introduction 2 3 Process Roles and Responsibility 4 Practices 5 Scope of use 6 Advantages & Disadvantages Practices Planning Game The main planning process within extreme programming is called the Planning Game. The game is a meeting that occurs once per iteration, typically once a week. The planning process is divided into two parts: Release Planning Iteration Planning Practices On-site Customer You are in hourly contact with a customer who can resolve ambiguities, set priorities, set scope, and provide test scenarios. System Metaphor The system is built around one or a small set of cooperating metaphors, from which class, method, variables, and basic responsibilities are derived Practices Pair Programming Pair programming means that all code is produced by two people programming on one task on one workstation. Simple Design Programmers should take a "simple is best" approach to software design. Coding Standard Coding standard is an agreed upon set of rules that the entire development team agree to adhere to throughout the project. Practices Test Driven Development Unit tests are automated tests that test the functionality of pieces of the code (e.g. classes, methods). Within XP, unit tests are written before the eventual code is coded Continuous Integration Continuous integration will avoid delays later on in the project cycle, caused by integration problems. Practices Refactoring Refactoring is the technique of improving code without changing functionality. An XP team refactors mercilessly Collective code ownership Collective code ownership means that everyone is responsible for all the code and t everybody is allowed to change any part of the code . Practices Forty Hours Week Go home at 5.pm. Have a nice weekend Small release Releases should be as small as possible while still delivering enough business value to make them worthwhile. XP Process 1 Introduction 2 3 Process Roles and Responsibility 4 Practices 5 Scope of use 6 Advantages & Disadvantages Scope of use o The projects usually ranged from 6 to 15 months. o XP is aimed for small and medium sized team o Historically, XP only works on teams of twelve or fewer people. One way to circumvent this limitation is to break up the project into smaller pieces and the team into smaller groups. It has been claimed that XP has been used successfully on teams of over a hundred developers. XP Process 1 Introduction 2 3 Process Roles and Responsibility 4 Practices 5 Scope of use 6 Advantages & Disadvantages Advantages Decreases the risk on your project. Effective of the programming team, pair programming Quick Response when requirement change Disadvantages XP is geared toward a single project, developed and maintained by a single team. XP is particularly vulnerable to some developers XP will not work in an environment where programmers are separated geographically. XP has not been proven to work with systems that have scalability issues Thanks for your listening!