12 principles of the Agile Methodology

Agile Methodology

Is a type of Methodology that applies the level of pragmatism into the delivery of the final product.The methodology are open to changing requirements over time and encourages constant feedback on end users. It requires cultural shift of many companies because it focuses on the clean delivery of individual parts of the software and not the whole application, it encourages teamwork, accountability and communication face to face and business stake holders and developers must work together to be an effective team for customer needs and company goals.


There are 12 principles of the Agile Methodology

· Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

· Changing requirements is open, even in late development. Agile processes harness change for the customer’s competitive advantage.

· Deliver the working software frequently, from a couple of weeks to a couple of months.

· Business and Developers must be work together as a team daily throughout the project.

· Build projects around motivated individuals. Give them the environment and the support they need and of course trust them to get the job done.

· The most efficient and effective method of conveying information is to face to face communication.

· The working software is the primary measure of progress.

· Agile processes promotes sustainable development. The sponsors, developers and the users should be able to maintain a constant pace indefinitely.

· Continuous attention to technical excellence and good design enhances agility

· Simplicity and Essential.

· The best architectures, requirements and designs emerge from self-organizing teams.

· The team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.










Agile Development Cycle Diagram from: 


· Planning: Once the idea is deemed viable, the project team comes together and works identify features. The goal is to break down the idea into smaller pieces of work then to prioritize each feature and assign to iteration.

· Requirement analysis: It involves many meetings of business related positions like managers, stakeholders and users to identify the business requirements. The team needs to gather information like who will use the product and how they will use it. These requirements must be relevant, quantifiable and detailed.

· Design: The system and the software design is prepared from the requirements identified from the previous phase. The team needs to think about what the solution look like. The test team also comes up with a test strategy or plan to proceed.

· Development, Coding and Implementation: This phase is all about creating and testing features and the scheduling iterations for deployment. This phase starts with iteration 0, because there are no features being delivered. This iteration lays down the foundation with task like finalizing contracts and funding.

· Testing: Once the code is developed, it must be tested according to the requirements to make sure the product is actually work. During this phase involves unit testing, integration and system testing.

· Deployment: After the testing phase, the product is now finished and will deliver to the customers for use. However, the deployment isn’t the end of the project. Once the customers start using the product, they may run into new problems that the project team will need to fix it.

Comments