Showing posts with label scrum. Show all posts
Showing posts with label scrum. Show all posts

February 09, 2014

Top Time Management Tips For Students

The time management skills and disciplines that you develop as a student can help you for the rest of your life. Those skills that we as parents help our children to develop as the same thing
Sometimes we get so many tips, as parents and as students, most of them are theory , using  simple task board , agile thinking and scrum framework will take those tips from idea to action.
Here are some tips and practices to help students (in various ages)  develop good time management skills.

March 22, 2013

What does a Scrum master do, when the Scrum framework isn’t software development?

We already know that we can apply Agile anywhere. Agile is an attitude, a mindset.  
What about Scrum? Let’s see how we can adapt the Scrum master role to the most common ground of Agile for non software development.
Remember the Scrum team? First of all , “Scrum master” is just one of the roles. Usually, he is a member of the team, but he can also be an outsider. This role is so unique that you need to get used to it.
Everything the Scrum master does should lead to facilitate increasing productivity.
This is the tricky bit. The Scrum master should lead the team members towards completing their goals and increase productivity without the managerial titles and default authority a manager holds.
The Scrum master is NOT the team secretary. He is NOT supposed to set meetings, fix tools and maintain the team tasks, board and backlog. NO! He is expected to make sure these are done by the team. He needs to be there to make sure the Agile mindset is applied, and to facilitate the process in the way to increase productivity.
It’s a leader role!
 
The scrum master success criteria:
Drive the team toward Effective and efficient delivery. The team has improved in its efficiency of delivery.
The Scrum master deals with these elements:
1.       The team – Removes impediments, facilitates the process, facilitates empowerment, leads toward goals completion.
2.       Other teams’ Scrum masters – communicates with other teams’ Scrum masters to facilitate the process and increase productivity and efficiency of process.
3.       The Product Owner helping the Product Owner maximize productivity. It may include helping maintain the backlog ,ensuring the Product Owner is informed about the team’s progress and success.
 
The Scrum master responsibilities include: 
1.       Lead the Agile mindset inside the team. This means that the Scrum master needs to understand the Agile framework, understand and follow the Agile values and principles, and most of all, keep them and reflect them to the team and to the team interfaces.
2.       Facilitate the Agile framework: daily meeting, planning, retrospective, sprint demo. He is not expected to set all those meeting, but he is expected to make them happen.
3.       Facilitate Scrum team impediment removing- the Scrum Master should do everything in his or her power to remove obstacles that are preventing the team from accomplishing its sprint goals, and especially make sure that the team removes blocking issues.
4.       Facilitate cross team communication. If needed the Scrum master participates in cross team forums and meeting.
5.       Enable , as part of an Agile mindset, communication and close collaboration between team members and team interfaces. Shield the team from external interference.
6.       Make sure team progress is visualized to all stakeholders and to the team.
7.       Facilitate empowerment in the Scrum team. Foster and empowered environment
8.       Communicate!! Make sure communication is a key.
9.       The Scrum Master must make sure teams have the tools and know-how they need to succeed. He should communicate the team requirement to outside decision makers.
10.   He needs to understand the stage of a human team development (Bruce Tuckman) – forming –Storming-Norming-Performing and change his leadership style to suit the team stage. This is a hard thing to do !!
11.   The best Scrum masters are team players. they needs to be satisfied with other success, with team success and be able to share ideas and responsibilities. They need to be a good communicators,  assertive , and with a relatively high emotional intelligence.
 
Personally,  I take the Scrum master role more as facilitator than action taker. I prefer balanced empowered environment in which the Scrum master makes sure everything is going on as it should. The Scrum master mindset is one of a servant leader. We often expect managers to be empowering and leaders, which is very difficult to pull off successfully.
But believe me, there are more than few employees that can adapt to this role.
For further reading:

November 17, 2012

Scrum for everyone! What is scrum In a nutshell ?


Well, I think we already realized that scrum can be used almost for any project anywhere…
So here is a short scrum framework technical description that those, ‘Non IT’ guys may use as well.


Scrum' Is an Innovative Approach to Getting Work Done:
Scrum is an agile framework for completing complex projects. Scrum originally was formalized for software development projects, but works well for any complex, innovative scope of work. The possibilities are endless. The Scrum framework is deceptively simple.’

 Scrum is based on the following main principles:
  1. Interactive and incremental process.
  2. Team self organized based approach.
  3. Adapting to change.
  4. Cooperation and communication is key.
  5. Adapting and following the Agile manifesto and principles
Scrum is one of the Agile practices, based on implementing the Agile manifesto and principles.

The Scrum framework in a nutshell:

A generic Scrum framework looks like this:




Backlog:  The wish list that includes all the things we need to do, ordered by value for top 5-10 only
Sprint backlog: All those things we wish to do in the immediate next execution time frame (sprint) , ordered by value, divided to operative tasks ,and estimated/sized.
The sprint – A fixed time fame, with a beginning point and an end point , I which we execute the backlog tasks and commit for a quality of delivery.

Ceremonies:
Sprint starts with a planning session: The backlog items are sized, divided to tasks, estimated and the scrum team commits for their delivery.
Sprint daily meeting to evaluate progress and commitment

Sprint Demo: At the end of each sprint the team presents the sprint outcomes and deliveravles.
 Sprint retrospective meeting At the end of each sprint , the team will retrospect over their performance for continues improvement.

Scrum holds three main roles:

  • Scrum Team: responsible for deliver 
  • Product owner: leads the production way, Responsible for return on investment. 
  • Scrum master: facilitate the process



The roles of a scrum framework  :
Let’s start with the Chicken and Pig story:

A Pig and a Chicken are walking down the road. The Chicken says, "Hey Pig, I was thinking we should open a restaurant!". Pig replies, "Hm, maybe, what would we call it?". The Chicken responds, "How about 'ham-n-eggs'?"

The Pig thinks for a moment and says, "No thanks. I'd be committed, but you'd only be involved!"

This story represents two types of team members in the Scrum framework. Pigs, who are totally committed to the project and accountable for its outcome, and chickens, who consult on the project and are informed of its progress. Chickens are usually management, project managers and others that are not part of the team. Pigs are the actual team members, who do the actual work.


Pigs can have actual tasks on the task board . The project manager needs to make sure there are enough pigs to perform the job and they are empowered to make decisions. For instance, pigs get priority in the Scrum ceremonies. He is the only one that can talk in the daily session and estimate tasks during the planning. The chickens are only there to challenge him to do so , teach him how to do it, and keep him safe so he can perform and deliver.



The Scrum framework is built from different roles that make sure the framework stands.

The scrum team: self organized team Multi skilled, responsible for the delivery of a working product at the end of every sprint. It manage its own tasks, estimate its own tasks and strategies the sprint so a delivery will be possible. The team best format will be up of 3–9 people with cross-functional skills who do the actual work. They are the pigs.

Product Owner: the product owner is responsible for the return of investment. He represents the “customer voice” (it does not need to be a physical customer) - creates and prioritized the wish list called backlog.
He leads the way, decides on what needs to be done and accept the stories.
Each scrum team should have one Product Owner; it is recommended that this role not be combined with that of Scrum Master or the team manager.
The Product owner defines the backlog , is responsible for writing the user stories (but does not need to write them himself) , accept stories, and the sprint demo is for him. For most cases he is a chicken. Meaning, he comes to the daily session, listen and save his questions till the end.
The product owner is expected to be involved, give and get early feedback and accompany the team with feedback.

Scrum Master : one of the team members, responsible to facilitate the process. The scrum master knows Agile, enforces the rules, and leads the team towards the agile mindset. The SM is accountable for removing impediments to the ability of the team to deliver the sprint goal/deliverable. He is not the official team leader but should be a leader in any actions and term.

Manager : He is responsible for the vision. He is an empowering manager and empowers the team to make decisions. The manager is responsible for making sure the team performance fits the organization vision. He is not part of the scrum team. He is a chicken.




Let’s go over the process:

We start with a wish list (the backlog):

Basically, the wish list contains all the tasks that the team needs to do - the task pool. This pool is decided by the business. What do I mean?
If it’s a software project, the backlog will include everything the development team needs to do to successfully complete the project, such as developing new features, new reports, and so on.
In our home, the backlog can include all the things we as a family need to do, such as tidy up the shed, mow the lawn, pay the mortgage, and so on.

Let’s imagine a team of school teachers. The wish list will include tasks set by the Board of Education, and tasks that we think are important, such as Parents day, an active recess, and so on.



The backlog, in it’s initial form, can be very general. It can be a list of all those things that we want to happen. We don’t need to go into great detail. For example, the school teachers’ backlog can include fundraising for the petting zoo and fundraising for extra tuition. Both these needs will be added at this stage, even though it isn’t clear which is more important, and how we’re going to do it.

High level ordering our backlog:

Like any personal or software project, we have a lot of things to do. Let’s take a wedding for example. You need to set the date, food, guests, seating arrangements, and more. We know that detailed planning for six months won’t work. For instance, what is the use of planning seating arrangements when you don’t even know who’s coming and where the wedding will take place. We DO know what our high level building blocks are.

Our backlog should be ordered in such a way that we can distinguish between what needs to be dealt with first, and what afterwards. At this stage, we can understand the value behind each task we need to perform, so that we can put them in the right order for the business.

The order of the tasks can be determined by a number of factors, among them the importance of the task, how difficult it is to carry out, how long it will take, and more.
We don’t have to drill down to specific details, yet. We just need to know ‘enough’ about the issue to add it.




Now would be a good idea to think about the relative ‘size’ of each task. Is it a big one, a medium one or a small one?

User stories:

This backlog is then divided into smaller portions, in a process of continuous planning. Don’t forget to do this only with the most important items in your backlog.




User Stories will be created to identify small practical “can do” items. The user stories are a description of a task we need to do, along with a definition of ‘Done’, so the team will know what is expected from them to achieve, be able to estimate and then commit to the achievement of a specific user story or a bunch of user stories.

Each user story will be written in a way that the team will understand its definition of done, and will be considered done when the conditions are met.




Take the wedding for example – We want our DJ to have good references from other weddings – when that happens, the user story is marked as ‘Done’.


The sprint :
The team is given a time frame, called “sprint”. This timeframe is two to six weeks long, and is fixed. It has a beginning and an end and includes all those user stories the team is committed to deliver at the need of it.

The team will select and commit to a number of user stories for delivery during the sprint.

At the beginning of each sprint, the team will hold a planning session. In this session, the user stories will be presented to the team along with the sprint outcome vision.

The team will estimate each user story and divide each user story to operative tasks.

The team will discuss their strategy to deliver all the user stories for the end of the sprint.

For example, our teachers’ parents day, can have a task to contact each class parents’ representative and present the ideas. Another task may be to set the date or to collect only feedbacks depends on the definition of done, as decided by the team.

The team then will commit to deliver these completed tasks.






The task board:

The idea is to be able to look at the entire task pool, and organize them in one place that everyone can see - the ‘Task Board’. Now take ALL those tasks, and stick them on the task board each related to a relevant user story. Placing them on the task board means that you are paying attention to them, and you will get to them.




The task board will visualize the way a user story related task need to go from being defined, to being ‘in progresses’ until it’s done.  The team will move tasks along the board to visualize their current state.
Usually this task board holds three main phases: To-do , In progress, Done.







Once a day, the team will hold a daily Scrum meeting in front of the task board and answer three questions.

  • What did I do yesterday?
  • What am I going to do today?
  • Is there anything impeding my progress?



The team will make sure their commitment is on track and if not, the team will handle the impediment and the solution.

The daily standup meeting lasts no more than 15 minutes.




During the sprint, each team member works on one task at a time, depending on their capabilities, completing those tasks one after another. Once all tasks are completed, the user story related to those tasks can then be accepted.


Acceptance  =  The user story answers the Definition of Done.  Each completed user story will be accepted, meaning, reviewed by the ‘customer representative’ and approved.

End of sprint :
Finally: At the end of every sprint, there should be deliverable user stories, preferably all of them.

Keep in mind, it’s better to have 80% done stories then 100% started stories.

Demo session: At the end of each sprint, the team will conduct a review/ demo session where they will present the sprint outcome: the team will review their sprint vision, summarize their sprint achievement and present the main artifacts to their stake holders.

Retrospective session: The team will retrospect their performance as part of the continuous improvement process. They will then analyze things they wish to continue doing, things they need stop doing and things they will start doing, and add two or three action items that will become tasks on the board for the next sprint.




This cycle of delivery continues.





To sum this up : now  it is your turn :

The beginning:
  • Define the roles. : Product owner, Scrum master and the  Team.

Before the sprint:
  • Create your building block wish list.
  • Order a high level priority according to the value expected.
  • Understand the high level sizing of each building block.
  • Divide big building blocks into operative user stories of 3-5 days effort t estimation max.

The sprint
  • Conduct a planning session, estimate each US and divide to smaller operative tasks. days effort max.
  • Conduct a sprint planning session with all the team at the beginning of the sprint.

    • Present the sprint vision.
    • Ask the team to estimate each US.
    • Divide US into smaller operative tasks.
    • The team will plan their strategy to achieve those US towards deliver.
    • The team will commit.
  • Visualize your sprint tasks and US on the task board
  • During the sprint move tasks along the task board according to their actual progress state.
  • Conduct a daily scrum meeting.
  • Accept finished user stories.
End of sprint
  • Demo the sprint artifacts and outcomes.
  • Conduct a retrospective meeting.


 References: