Agile Methodology & Extreme Programming

Agile Methodology

Agile methodologies advocates the following:

  • Small Releases: The release times typically are a 2-4 weeks. These releases of software may not have the full functionality. But they are complete and should be usable.

  • Evolutionary Design: as opposed to Upfront design.

  • Sufficient documentation: without overloading of developers.

  • Continuous Integration: The code needs to be built and integrated into the build machine consistently. (scheduled builds)

  • Automated testing: Tests to be automatically run to make sure that the code does not break existing functionality using NUnit etc. 

  • Document generation from code: The best way to keep the documents complete and up to date is to generate them automatically from code. This of course requires well established regulations and coding standards so that the documentation can be automatically generated by the tools.

Extreme Programming

Extreme programming is the most extreme form of agile methodology. This brings its own additional thoughts such as:

  • Test Driven or Test First Programming: The tests are written before a single line of code is written. The objective of the code is to make the tests pass. So no code can get ever written unless there is a failed test.

  • YAGNI: (You ain't gonna need it) Don't code for features that are not listed in the current requirements. The reasons preached are:

 

    • The requirements are not known at this stage and hence these features even if coded today would not be coded correctly.

 

    • This takes cycles away from the time spent on the requested features.

  • Pair programming: Programmers code in pairs so that a senior programmer trains a novice programmer in the process. This way the knowledge is spread across the group rather than staying with a person (expert).

No comments:

Post a Comment

Labels

.NET Framework Interview Questions (7) .NET Interview Questions (10) .NET Remoting Interview Questions (1) ADO.NET and BLOB Error (1) ADO.NET Interview Questions (4) Agile Articles (9) AJAX Articles (5) AJAX Interview Questions (11) Algorithms (2) Analytics Articles (2) Analytics Interview Questions (3) Android FAQs - Part 1 (2) Articles (13) ASP.NET Articles (24) ASP.NET Error and Resolution (4) ASP.NET Interview Questions (23) ASP.NET Tutorial (8) AWS Interview Questions (16) Business Analyst Interview Questions (1) Cloud Computing Interview Questions (16) CSharp Articles (17) CSharp Interview Questions (32) CSharp Tutorial (17) Data Analysis (2) Data Structure (1) Design Pattern Articles (5) DevOps Tutorial (1) Digital Marketing Interview Questions (1) Download Templates (1) Error Resolution (6) Excel Articles (9) Excel Macros (1) Excel Tips and Tricks (10) HTML5 Interview Questions (3) HTML5 Tutorial (3) Interview Preparation (2) Interview Questions (24) Introduction to Business Analytics (10) Introduction to Python (7) Introduction to R Programming (23) JAVA Articles (6) Java Tutorial (5) LINQ Articles (4) LINQ Interview Questions (2) LINQ Tutorial (3) Microservices Interview Questions (1) MVCInterviewQuestions (2) OOPs Interview Questions (4) Oracle 9i Tutorial (14) Oracle Articles (2) Oracle Interview Questions (15) Outlook Error (1) PHP Interview Questions (3) PHP Tutorial (3) Product Management (12) Product Management Interview Questions (14) Product Owner Interview Questions (2) Program Management (5) Project Management (13) Project Management Articles (34) Project Management Interview Questions (25) Quiz (1) RallyDev Help (1) Scrum Master Interview Questions (11) Selenium Tutorial (1) Sharepoint Articles (1) SQL Interview Questions (23) SQL Server Articles (20) SSIS Interview Questions (6) SSRS Interview Questions (1) Technical Program Management (12) Technical Program Management - Interview Questions (24) TechnicalProgramManagement (5) Threading Interview Questions (2) Tutorial (8) UML Articles (3) UML Interview Questions (2) Unix (3) UNIX Tutorial (3) WCF Articles (20) WCF Interview Questions (9) WCF Quiz (2) WCF Tutorial (16) Web Service Articles (5) Web Service Interview Questions (3) Window Azure (1) XML Articles (6) XML Interview Questions (3) XML Tutorial (3)