Study Materials Domain I: Agile Principles and Mindset
Agile Principles and Mindset Knowledge,skills and tools
Agile manifesto principles
• Individuals and interactions over process and tools: The fundamental of the project is people working in agile project leads to success. Feedbacks are collected from end user or customer for project enhancement. In agile project, team work is highly valued to complete the project.
• Working software over comprehensive documentation: In agile project, Shippable deliverables are focused by team members because the customer expects software working rather than documentation.
• Customer collaboration over contract negotiation: The primary goal of the project is to ensure correct method realized by “trial and error” method. While realization of contracts, it is not concentrated on documentation rather than working of the project.
• Responding to change over following a plan: Whenever are any changes happen in agile project, the team member should be prepared and implement change-friendly project management.
Agile project fundamentals
User involvement: Users help to understand the priorities of task and requirements in agile projects. They can understand the end product and their need are fulfilled as the project progresses.
Team empowerment: The team should be self-sufficient where the team is necessary to perform all required task and decisions making. The team should collaborative in decision making to achieve the success of the project. Every member is responsible to achieve overall success.
Fixed time box: In agile project, the team works within fixed time box where task is assigned within an estimated number of man-days. Beginning of the time-box, the team list out top priority tasks and end of the task which is potentially shippable.
Requirements at high level: Requirements are collected at high levels to provide idea for budget estimation purpose in required product. By using user stories, requirements are documented rather than specification. Another method is just-in-time are the requirement collected in progress of the project for several weeks away or more.
Incremental project release: High priority task are identified and released by team and users. Incremental release defines that constructing previous release of the product or outcome. The project runs much iteration for flexibility and ability to respond to actual needs.
Frequent distribution: To minimize risk and stakeholder satisfaction in agile project. Focus on next shippable product get timely feedback from users or customers gathered to adjust the project direction.
Finish tasks one by one: Plan reasonable amount for each iteration in all tasks completed in each iteration. It enables frequent delivery to complete the project, where it is defined as “Definition of Done”.
Pareto principle: The pareto principle is also known as 80/20 rule, states 80% of the development effort arises from top 20% of the features. Need to identify the top 20% of features that the customer actually ends up needing.
Testing –Early and Frequent: Every team member is responsible for testing the product which is implemented and the testing process is integral to the development cycle The team refers to “Definition of Done”.
Teamwork: Collocation is one f the best practice for great teamwork to use feature board or task board and focus on information radiator for them.
Scrum is an agile way to manage a project for software development cycle. Scrum is understood as methodology rather than process for managing a process.ss
Extreme programming (XP) is the software method to improve software quality and changing customer requirements. XP shows frequent “release” in short development cycles tends to improve productivity and introduce checkpoints for customer requirement.
Kanban is logical control system from production point of view and inventory control system. Kanban is to improve and maintain high level of production and it is the method to achieve JIT.
Lean software development is the lean manufacturing and lean IT principles and practices for software development domain. It is adapted from pro-lean subculture emerging from within agile community.
Crystal family introduces focus on people and communication, adjusting the techniques for the particular project. Crystal is the family in agile method where the projects changes based on number of people involved and range of discretionary money.
Feature driven development (FDD) is an iterative and incremental software development process where it blends a number of industry recognized best practices into a cohesive whole.
Adaptive software development is a software development process that grew out of rapid application development. The principles of ASD focus on rapid creation and evolution of software systems.
Dynamic system development method is an agile project delivery framework, primarily used as software development methods. DSDM is a framework embodies of current knowledge about project management.
Agile discovery (New 2015)
in discovery phase, designers required to work with business analyst to determine the business requirements. This task is done with coordinating with stakeholders by conducting workshops and interviews. In this stage lot of brainstorming, sketching, taking notes ,defining layout and interaction design are studied. By the end of the discovery phase, real value for users, partnership, activities and cost structures, required KPIs and business statement are stated.
Architectural spike (New 2015)
Extreme programming is used in initial planning in agile project which can be longer or shorter. In XP, limited knowledge are identified, system changes are identified, to build dbms and source control tools to begin controlled work and proceed until the run can be iterated.
Active listening (New 2015)
Active listening is the technique used in counseling; training and conflict resolution need to hear feedback from stakeholder and agile team
Backlog grooming refinement (New 2015)
Product backlog refinement is the method of adding estimates, details and order to logs in the product backlog. In this process, product owner and development team communicates in detail about the backlog items. These items are revised in product backlog refinement and the scrum team decides how and when has to be done the refinement. So, the product backlog items are updated anytime by product owner.
Brainstorming (new 2015)
Brainstorming session is the tool to identify the ideas selected to solve the problem or stimulate creativity. This meeting are uses to solve the problem, identifying new product or innovation, improving customer service, budgeting and project scheduling. Brainstorming session helps the project managers to define alternate solution for creative idea generation used for effective purpose.
Information radiators are highly visible charts which show the project progress and status. It shows the real progress and performance of the team to make trust for team and stakeholders.
In agile project, the project decisions, ongoing observation and experiment are carried out during project execution to influence planning. Technical investigation is carried out to reduce risk by introducing spike.
Sharing of knowledge
Agile teams are co-located to enhance pro-active support, free discussion, open collaboration and osmotic communication. The team practice face-to-face communication, daily stand-up, review and retrospectives.
Self-organization and empowerment
In agile projects, the project manager provide servant to remove obstacles and enable to perform best. Self-organizing teams are the base for agile project management and it includes team formation, work allocation, self-management, self-correction and determining how the work done.
The agile manifesto was written at high level to define “what” to do in Agile projects where the practitioners disagree to implement details to follow Agile manifesto principles.
Agile Manifesto principles
In Agile Manifesto concept, there are 12 principles to provide in-depth explanations
1. Customer satisfaction – In early and continuous delivery of valuable product are considered as highest priority to satisfy the customer. In early delivery of products, the customer feedback is considered. While continuous delivery, the customer knows the improvement and the top priority of customer satisfaction in delivering product is value.
2. Welcome changes – In Agile projects, even if there are any changes to be added in later stages of development to improve the opportunities.
3. Frequent delivery – The product would be released to market in shorter timescale and the project team focus on fixed delivery time and value of the delivery.
4. Collocated Team – Developers and business people work together till the end of the project where the team members can promote the communication and gets the feedback then and there. The development teams focus on common goal.
5. Motivated Individuals – In development each developers are motivated to achieve goal of the project. By self-motivated teams, the project can be developed.
6. Face-to-face conversation - In development team, face-to-face communication practice brings more effective and efficient in the project
7. Working software – The primary measure of the progress is to enhance customer satisfaction. By measuring the software is to maintain and improve quality. In traditional project management, it focuses on plan and documentation and supports overall project goals.
8. Constant pace – Agile process enhance the developers, sponsors and end users. In Agile process, they can maintain constant pace whereas in traditional project management, the deadline would be accelerated.
9. Continuous attention – It I done for technical excellence and to enhance agility. Here the agility refers to refactored from one time to another time. In order to achieve quality and requirements more time is spend on agility.
10. Simplicity – It is the art to increase the amount of work not done which is essential. If the product is simple, then the risk associated is less.
11. Self-organization – The development team knows the higher level of ownership of the product leads for project success. It uses waterfall approach to carry out best work.
12. Regular reflection – The team shows the effectiveness of the project regularly to gather lesson learned frequently. The team uses “retrospective meeting” as primary tool to define what has worked and what does not work.
Agile Manifesto Principles