last update : 16/01/2016
INTRODUCTION TO EXTREME PROGRAMMING
|No upcoming event date found|
The goal of this course is to provide attendees with a working knowledge of the various facets, practices and principals of the Extreme Programming approach. Upon completing the course, students will the have the knowledge to assess how XP can fit into their current development environment, and some basic experience through the course exercises to begin participating in XP activities.About
Extreme Programming (XP) has different key advantages for different audiences. For developers, XP allows you to focus on coding and avoid needless paperwork and meetings. It provides a more social atmosphere, more opportunities to learn new skills, and generally allows you to produce code that you feel good about. For the Customer (often a Product Manager), XP creates working software faster, and that software tends to have very few defects. It allows you to change your mind whenever you need to, with minimal cost and almost no complaining from the developers. It produces reliable estimates so you can coordinate your schedule easier. For management, XP delivers working software for less money, and the software is more likely to do what the end users actually want. The biggest disadvantage: Extreme Programming is hard to do. It's difficult to get many developers to accept the practices, and it takes a lot of discipline to keep doing them all. Customers may not like the idea of having to be so involved. Management may have trouble adapting to a process that, itself, adapts to the changing needs of the business.
Who Should Attend?All team members building agile solutions and is suitable for managers, programmers, and team leads.Course Description:This course presents an introduction and overview of Extreme Programming (XP). Lectures, demonstrations and short exercises are used to present XP principles and practices.
Module 1: Agile methodologieso Why Agile?o Agile v/s waterfallo Agile manifestoModule 2: Extreme Programmingo What is XP?o When to use XP?o 12 XP Rules or XP Practiceso The Planning Game– Scope next release with business priorities, technical estimates– Update the plan based on realityo Small Releases– Put simply system into production quickly– Release new version in short cycleo Metaphor– Guide development with simple shared story of how the whole system workso Simple Design– Design as simple as possible at any given moment.o Testing– Continually write and run unit testso Refactoring– Restructure system without changing its behaviour to remove duplication, improvecommunication, add flexibility and simplifyo Pair Programming– Two programmers, one machine, four eyes are better than twoo Collective Ownership– Anyone can change code anywhere in the system at any timeo Continuous Integration– Integrate and build the system many times a day, every time a talk is completed.o 40-hour Week– Never work overtime a second week in a rowo On-site Customer– Real, live user on the team, available full-time to answer questionso Coding Standards• All code written accordance with rules emphasizing communication through the codeXP GameExperience of Simulated XP Game overing all XP practices
Our Trainer has around 17 years of professional experience and 2 years as a Consultant in Agile Consulting and Training, Software Estimation, Project Management etc. He has extensive implementation experience in, Agile –Scrum, CMMI and SQA Processes etc.Key Accomplishments during Professional Experience:During his professional experience, he implemented Agile and traditional projects, designed and conducted several trainings in Symphony University and anchored all process trainings. When he was in Philips Software Centre, during his 10 years stint, he led various software improvement initiatives such as Defect Prevention, Technology Change Management, Process Change Management, Defects predictions modelling. He played key role in Philips to reach CMM Level 5 while he was heading Philips Health Care Quality division.He has published and presented papers on Software Size, Software Project Risks Management in International Conferences such as SEPG, 18th World Congress for Quality and also been invited as guest speaker in IIM, Bangalore, Yahoo Software.Key Accomplishments in Consulting and Training :His main interests are providing Consulting, Coaching, Mentoring and Training in Agile Methodologies, Transitioning to Agile Successfully, Scrum Project Management, CMMI-Agile(Hybrid Process Model adoption), Project Management, Software Estimation Techniques, Project Management (Traditional and Agile).1) He has been Re- certified as Certified Scrum Master (CSM) and holds Certified Scrum Practitioner (CSP) certification from Scrum Alliance 2) He has been a Consultant to eRevMax Software in Kolkota. He has coached, consulted on Scrum implementation and conducted Scrum workshops in this organisation..3) He has been a Consultant and Trainer to Ion Idea for Agile –Scrum process adoption and development of Agile project management in-house tool 4) He is also a Consultant, Coach and Trainer to IpInfusion for Agile-CMMI process Hybrid model definition and implementation5) Currently he has been identified as regular trainer for Agile in Yahoo Bangalore for 1 year6) Regular Trainer for Oracle in Agile7) Regular Trainer for Symphony Services in Agile, Estimation etc.
The trainer has conducted more than 100 training workshops since 2 years, to various IT Companies in the areas of Agile Methodologies (Scrum Project Management), Agile Estimation and Planning, Agile Requirements Analysis, Software Estimation Techniques(Function Point Analysis, Use Case Point Estimation etc), to various clients in Bangalore, Kolkota, Mumbai, Pune, Hyderabad ,Mohali and Mumbai and also to International Clients in USA.He has conducted several public workshops and in house Trainings on 1) Agile and Scrum Project Management Methodology, 2) Agile Estimation and Planning , 3) Software Estimation ( Use Case Points, Function Point Analysis and Software estimation techniques overview)Following is a list within and outside India, where UNICOM has executed Consulting and Training Assignments. • Infosys• Yahoo Software India ( 6 training)• Oracle (3 Trainings)• GE and GE- Health Care• Mindtree• Mphasis• Hewlett Packard• Capgemini• Computer Associates• ITC Info Tech • Tata Communications• Sling Media Pvt Ltd( 3 times)• Keannen Associates(US Client)• Symphony Software Services(7 times)• Pace Micro Technology• Vital Images(US Client)• eRevMax ( 2 times)• Zyme Solutions• Goodrich Aerospace• John Deer Technology• Ion nor Solutions• Infinite Computers• Ion Idea software• Collabera• Point Cross
Submit your details to download the brochure:
What is Extreme Programming? Extreme Programming (or XP) is a set of values, principles and practices for rapidly developing high-quality software that provides the highest value for the customer in the fastest way possible.What does this have to do with Windows XP?Absolutely nothing. In February 2001, Microsoft announced that the next release of their consumer Windows operating system would be called "Windows XP". The use of "XP" as shorthand for Extreme Programming predates Microsoft's use of "XP" by 2-3 years.Is XP a methodology?No and yes. No, it's not a methodology in the sense of a lot of paperwork and additional hoops for developers to jump through. But yes, in the sense that it is a repeatable process for developing software, it is in fact a methodology, although a lightweight one.Alistair Cockburn, who studies methodologies for a living, characterizes XP as a lightweight, low-ceremony, high-discipline methodology.Where did XP come from?XP was originated by Kent Beck, based on his years of practice as an object-oriented software developer, and in particular, his work with Ward Cunningham using the Smalltalk programming language. Because Smalltalk was the first popular object-oriented language, Ward and Kent have been doing object-oriented programming longer than just about anyone else.What are the basic practices of XP?The 12 core practices of XP are:The Planning Game: Business and development cooperate to produce the maximum business value as rapidly as possible. The planning game happens at various scales, but the basic rules are always the same:Business comes up with a list of desired features for the system. Each feature is written out as a User Story, which gives the feature a name, and describes in broad strokes what is required. User stories are typically written on 4x6 cards.Development estimates how much effort each story will take, and how much effort the team can produce in a given time interval (the iteration).Business then decides which stories to implement in what order, as well as when and how often to produce a production releases of the system.Small Releases: Start with the smallest useful feature set. Release early and often, adding a few features each time.System Metaphor: Each project has an organizing metaphor, which provides an easy to remember naming convention.Simple Design: Always use the simplest possible design that gets the job done. The requirements will change tomorrow, so only do what's needed to meet today's requirements.Continuous Testing: Before programmers add a feature, they write a test for it. When the suite runs, the job is done. Tests in XP come in two basic flavors.Unit Tests are automated tests written by the developers to test functionality as they write it. Each unit test typically tests only a single class, or a small cluster of classes. Unit tests are typically written using a unit testing framework, such as JUnit.Acceptance Tests (also known as Functional Tests) are specified by the customer to test that the overall system is functioning as specified. Acceptance tests typically test the entire system, or some large chunk of it. When all the acceptance tests pass for a given user story, that story is considered complete. At the very least, an acceptance test could consist of a script of user interface actions and expected results that a human can run. Ideally acceptance tests should be automated, either using the unit testing framework, or a separate acceptance testing framework.Refactoring: Refactor out any duplicate code generated in a coding session. You can do this with confidence that you didn't break anything because you have the tests.Pair Programming: All production code is written by two programmers sitting at one machine. Essentially, all code is reviewed as it is written.Collective Code Ownership: No single person "owns" a module. Any developer is expect to be able to work on any part of the codebase at any time.Continuous Integration: All changes are integrated into the codebase at least daily. The tests have to run 100% both before and after integration.40-Hour Work Week: Programmers go home on time. In crunch mode, up to one week of overtime is allowed. But multiple consecutive weeks of overtime are treated as a sign that something is very wrong with the process.On-site Customer: Development team has continuous access to a real live customer, that is, someone who will actually be using the system. For commercial software with lots of customers, a customer proxy (usually the product manager) is used instead.Coding Standards: Everyone codes to the same standards. Ideally, you shouldn't be able to tell by looking at it who on the team has touched a specific piece of code.What does a typical extreme programming project look like?The first thing you'd notice is that all the programmers are in a room together, usually sitting around a large table in the middle of the room. The programmers may have desks or offices nearby, but you can tell by where the books are piled that the big table is where the action is.XP teams work in a series of fixed iteration cycles. Iterations typically last 1, 2 or 3 weeks each depending on the team. (A given team will almost always use same the iteration size for every iteration.)At the beginning of each iteration, the team gets together with the customer for a planning meeting. In that meeting, they go over the features the customer wants done in that iteration, breaking each feature down into individual engineering tasks. Individual developers then sign up for specific tasks, and estimate those tasks. No developer is allowed to sign up for more work in the coming iteration than he completed in the previous iteration.During the rest of the iteration, the team will implement the features they signed up for, pair programming on all production code. All code is written test-first -- that is, the developers don't write any code until they have a failing test case. The developers write unit tests to test individual classes and subsystems. The customer provides functional or acceptance tests to validate the features that the programmers are developing.At the end of the iteration (usually on a Friday), the programmers deliver a working system to the customer. The system may not be complete, but all functionality that is implemented works completely, without bugs. The customer accepts delivery, and the team goes home early. The next Monday everyone meets again to plan the next iteration, and the cycle repeats itself.Actual product release is almost a non-event. The customer takes the delivered system from some iteration, and distributes it to end users. The system is always very nearly defect-free, so the only question is when the developers have added enough functionality to make it worthwhile for the end users to upgrade.How big a project will XP work with?Easily up to a dozen programmers. Up to twice that with some difficulty. Beyond that, you'll need something else, either augmenting XP with more traditional heavyweight practices, or splitting the project among two or more regular XP teams, with some teams becoming the customers for other teams.
Till when can I avail early bird rate?Early Bird is valid if you register and pay 30 days before the event and is given to first 10 registrants only. Contact us today to check if you are elligible.Is Service Tax included in the price?Service Tax is not included in the price and applicable as per the standard.How can I make payment?Payment can be made via Cheque / DD / Online Funds transfer / Cash Payment.Cheque should be drawn in favour of "Unicom training and Seminars Pvt Ltd" payable at BangaloreNEFT Payment:Account Name: UNICOM Training & Seminars Pvt LtdBank Name : State Bank of IndiaBank Address: Ground Floor, K V Plaza, Green Glen Layout, Outer Ring Road, Bangalore.A/c Number : 31729010535IFSC : SBIN0012706A/c Type: CurrentWhat does Registration Fee include?The Registration Fee includes the following: Pre Training Online material, Study Material, Foundation & Practitioner Examination, Certificate, Lunch on both days.What is Course timing?0900 – 1700 each day