Content to be covered in 2 day session:
1) Defined Vs Empirical Process
The course will educate all participants from the basics of agile software development. Hence it is important that one should understand agile as an empirical process against the waterfall approach which is a defined process.
You will be taught to Plan, Execute, Check and then Adapt. Yes, CSM course begins with the detailed introduction to the iterative four-step approach.
2) Introduction to Agile
Learn the need for being agile in your software development projects. Understand the key concepts of the development using the agile approach which is driven by value. It is a well-organized project management process. Also, know how to embrace flexible planning methods. Become collaborative with the team, scrum master, and product owner.
Trivia About Agile Methodology
In order to correct issues cropping up due to the waterfall method, a new development practice was introduced in 2001 by a set of people called as Agile Methodology. The main concept adapted in Agile is the iterative way. Development and testing happen in parallel to fix bugs at every stage. Set of software industry giants met in Snowbird, UT in 2000 to discuss this method. Then they decided to differentiate agile from the traditional method with some values and called them Agile Manifesto.
Agile Framework – A Brief Overview
Agile the iterative software development method follows many frameworks including the Scrum, Lean, Kanban, Extreme Programming, Feature-driven development etc. It is a big list and Scrum is the most commonly used framework. Every framework aims at making it lightweight and framing of a set of minimal rules. The aim of every framework being reaching the goal in an agile way. Yes, the iterative and incremental method is embraced with its own set of practices.
For example, the scrum will focus on three roles to go through the development cycle. The scrum master who is the coach and the link who connects the team and the customer. The product owner is the SME who will know the customer need and will let the team know about the same. Finally, the team which includes developer and testers to work on the project. Scrum method follows daily meetings, sprints and sprint retrospective to check the status of the project regularly. Feedbacks are exchanged and modifications are done at every stage.
Agile Manifesto
The set of values defined for Agile methodology is called Agile Manifesto. It was written in Feb 2001 by 17 independent software techies. There were several written among which 4 values were accepted by all which is given below.
- The project can become successful when it depends on people than tools, and discussions must be encouraged than implementing hardcore processes.
- Working on the product should be encouraged than focussing on documentation.
- Customer satisfaction is the key over negotiating the contract.
- Reacting to the changes and not strictly following a plan.
Every beginner must understand this basic underlying principle of Agile to kick start their career in agile. Defining and describing these values with examples will allow learners to embrace the concept easily.
Key Principles in Agile
The four Agile Manifesto gave birth to 12 agile principles.
- Customer satisfaction is the prime objective and this can be achieved by delivering project on-time with the expected outcome.
- Accept changes at any stage of development and produce a competitive product to the customer.
- Continuously sharing working software with the client instead of sharing documentation about project status.
- Business team and development team works collaboratively.
- Provide support to the team with a motivated working environment.
- Conducting daily stand up meeting to let team meet face to face.
- Measure work progress with the working software.
- Promote sustainable development.
- Good design will improve the agility.
- Keep the entire process simple and discuss solution more than worrying about the problem.
- Empower team to come up with ideas.
- Introduce games during meetings to ease team tension and increase productivity.
How to get to these principles will be explained during the training.
3) The Five Scrum Values – C FOR C
Yes, that’s how you can easily remember the five values of the scrum process. C FOR C means to Commit you to need Courage. To develop Courage you need to Focus With Open mind and Respect all in the team.
You got it right, it is Commitment – Focus – Openness – Respect – Courage
Develop these five values and every scrum team will see success. Commit to the Sprint Goal and focus to work towards the same. Share your views openly and respect others opinion as well. Have the courage to accept what went wrong in a retrospective meeting to complete backlogs in your next sprint.
4) Bird’s-eye View
The elevated view from above about scrum is called the aerial view of Scrum. It is a neatly-documented framework that will address the facilitating limitations we relate to the situation when there is any lack of details.
The project is split into sequences of iterations and completed phase by phase.
5) Scrum as a Framework
The framework of Scrum is simple and it deals efficiently with the changing situations. The work gets split into iterations. It is because during the development process the priority changes due to the situation, user mindset, technology etc. Therefore, the framework focus on splitting the project into sequences of iterations called sprint. Every sprint will last for maximum 4 weeks. Therefore the complexity of the project is split and all changes are accommodated during the sprint meeting. There is not much of loss and also the user gets the output per the expectation.
The framework is simply understood as Planning – Executing – Learning – Taking Actions. This will continue until the end result is achieved. Every sprint meeting will be in length to plan from the education of the previous sprint.
6) Artifacts of Scrum that enhances the Visibility – Product Backlog, Sprint Backlog, Increment
The evidence of human action is called artifact. In the scrum, it is represented in the form of a list, graph, etc. Artifacts are called information radiators. With this radiators, it is possible to achieve transparency in scrum projects which is one of the pillars of the empirical scrum process. Among the many, the three main artifacts are product backlog, sprint backlog, and increments.
Product backlog – The list of deliverables required from each individual is called the product backlog. The product owner will list the work and creates a backlog in each person name. The items are prioritised and one on the top needs immediate action.
Sprint backlog – The list of work taken for completion during a sprint meeting is called sprint backlog. During daily scrum, the team updates the sprint backlog to know where the team is still the next sprint meeting.
Increment – The completion of each product backlog item at the end of the sprint is called a product increment.
7) Product Backlog Refinement
The activity involved in understanding, prioritising and estimating the related item before sprint planning is called product backlog refinement. In simple words, the process in which the scrum team decides about the time required to complete each backlog. Based on this estimate they can refine the number of backlogs during each sprint.
8) Three Primary Roles Identified in Scrum Projects
The three key stakeholders in the scrum team are the product owner, development team and the scrum master. These roles are looked upon based on their command and responsibility.
- Product Owner – The person who is responsible for prioritizing the work and one who owns the ROI of the project is called the product owner. This person understands the customer need and creates the product backlog.
- Development Team – The set of people who are involved in writing code and developing the project is called the development team. These people will be assigned product backlog and will focus on completing the same.
- ScrumMaster – The scrum process is implemented with the help of the scrum master. This individual bridges gap between the team and the product owner. He/she hears the team view to help them resolve issues to work towards the goal of the company.
9) Sprint Planning
Sprint planning meeting happens at the beginning of the sprint to discuss the product backlog to be assigned. In general, sprint planning agile meeting are time bounded and happens for about an hour during every week. The product owner will prioritise the product backlog and the team will discuss ask questions before accepting the backlogs.
10) Executing the Sprint Plan
Sprint execution is the next step after the planning is over. The team has mutually agreed to complete the product backlog and hence will start executing them. If the planning is done after discussing, then execution will be on track. In case of any hurdles, these issues will be discussed during the next sprint meeting and the sprint backlog will be executed.
11) Daily Scrum Meeting and Sprint Retrospective Meeting
The team meets every day during the sprint and discuss the following.
What did I complete since yesterday?
What will I work on till tomorrow?
Daily Scrum should not last more than 15 minutes and also it is a good practice to conduct this meeting daily in the same place and at the same time.
At the end of every sprint, the entire scrum team meets together and this meeting lasts between 2.5 to 3 hours for a 4-week sprint called Sprint retrospective meeting. The purpose of the meeting is not to find fault, but to understand what went wrong and how to fix it in the next sprint.
12) Definition of Done (DoD) and Acceptance Criteria
Every product backlog item gets declared as DONE it must be accepted by all team members and they must in advance know when it is called DONE. Here the team must be appraised of how a work is done, what are the standards required to be obeyed, and the different ways to verify whether it is done.
Each user story will have a specific criteria description called the acceptance criteria for that story.
13) Agile Requirements
The requirement in simple words can be told as a service, feature or a function that is required by the customer. It can be a function, constraint, or business rule that is required to be present to achieve the goal of the user.
In the agile, the requirement is categorised as follows.
- What it does – the functionality and the features
- How does it perform – Acceptance criteria
The user story is the requirement in agile projects which comprises 3 elements namely the C3 - Card, Conversation and the Confirmation. The basic format of a user story is As a <role of the person>, I need <requirement>, So that <goal>.
14) Estimation using Ideal Days and Story points
Estimation can be done using story points or the ideal days.
A story point is a measurement used to calculate the size of the product backlog items but it does not have any units. Also, it helps to compare the relative size of each backlog with the other. Fibonacci series is used in the scrum as a scale called stories for the product backlog items. (1, 2, 3, 5, 8, 13, 21, 34, and so on). The high-level user stories are called Epics and the scale used for them for 20, 40, 60, 100 etc.
Ideal days is the time required to complete each product backlog. This method will help the naïve team to understand how to complete the product backlog item. From prior experience and expert opinion, the ideal days or time for completion of the task is assigned by the senior officials.
Slowly move the team to story point measuring method once they master the scrum process, and terminologies like product backlog, sprint backlog, and increments.
15) Sprint Burndown and Release Burndown charts
The sprint burndown chart is used to monitor the progression within the sprint under the following situations.
- Four or more week longer sprints
- Bigger team size
- Complex backlog items
It helps the team to fix issues and achieve the goal without missing by recording the number of the task not completed on a daily basis. This will allow predicting if the team can accomplish the task assigned for the sprint.
Likewise, the release burndown chart is used to track the progression of the scrum project as a whole. It is a graph drawn with x-axis showing the spring and the Y-axis the amount of pending work beginning each sprint. This can be represented as ideal days, story points or team days as well. This will pave the way to predict the completion of the project.
16) Release planning using Velocity
The objective of release planning is to plan and make the scope, budget, and date for the incremental delivery in an agile project. Planning to have multiple sprints until the final product is released is discussed in the release planning meeting.
Every member of the scrum team and the stakeholders are part of this release plan meeting and it happens during each sprint activity. The release planning is done with the help of the product planning output and the pace at which the team completes the product backlog item per each sprint. This pace is nothing but the speed of the team and termed as velocity in agile projects.
17) Cross-functional and Self-organizing teams
The people responsible for coding and developing the project is called the development team. The team that test the bug and fixes the issues is called the testing team. As far as scrum projects are considered the entire team is called a scrum team which includes developers, testers, product owners, scrum master, and the high-level stakeholders. These teams are self-organising in agile development and are independent to complete their task. They don’t require anyone to monitor but they manage themselves.
18) Five simple steps to create a working agreement in a Scrum team
The entire team discuss to agree upon of a set of protocols. This happens with mutual consent of the team members and following the five simple steps will help make a proper working agreement.
- Every team member is given stick-it notes and asked to write their views about the project, deadline, completion etc.
- A good 3 minutes is given to each person to fill the following blank we can complete the task when we ……………………. Let each write their want. They can write 3 to 5 ideas.
- Ask everyone to read one idea each and make sure that the other person does not repeat the same idea.
- Have one person to make a note of all the ideas on the board.
- Take voting from all to come to a common working agreement from the list mentioned in the board.
Freeze and proceed to successfully complete the work.
19) Scrum Team Tools and Techniques
There are several techniques used by the scrum team to implement the project. Based on the technique chosen a variety of tools are available to support and speed up the process. Few common tools and techniques used by the scrum team are listed below.
- Tuckman’s Group Development Tools and Technique – Forming, Storming, Norming, Performing, Adjourning.
- Scrum Master tools Cynefin Framework – Simple, Complicated, Complex, and Chaotic.
- The Japanese Shu Ha Ri – Shu – self-disciplining, Ha – Innovate things, Ri – Execution
- Root cause analysis
20) Agile and Distributed teams
These days working with people across the globe on projects cannot be avoided. It is not possible to meet all at one table to discuss. Therefore managing teams with documentation might be effective but time-consuming and hence organization must embrace an agile way to work with distributed teams. Even though it has its own flip side, still it is the best way to work with distributed teams.
Remember that people remain the same irrespective of the geography and hence getting work done by setting expectation is quick. Also, use technology to meet people for daily stand up and execute the project efficiently.
21) Effective manager’s traits in scrum projects
Scrum process empowers the team to speak and share their views. Therefore scrum managers must understand the team strength and the product owner need. The manager should discuss with the team and let know the product owner to decide on the product backlog item. This will motivate the team to work towards delivery. The manager must never be biased and push team for delivery. Ensure that the team commits and support them during every sprint to combat issues. The manager must not think of bossing around but work along with the team to lead them to successful completion.
22) QA Team and Scrum Process
Unlike in waterfall method, QA role is to write test cases and report bugs, in a scrum team QA has an extended role. QA team takes part in the daily meetings along with all team members. They are allowed to discuss with the business analyst and development team. They are part of the test planning phase. The team not only writes test cases but also the acceptance test cases to provide support to the product owner. Story estimation sessions will not happen without the QA team. They help in providing more realistic estimates. In short, the QA team is as equal to the development in the scrum projects.