Monday, 7 April 2014

An Overview Of Scrum Methodology

Scrum is a unique framework specially designed to build a versatile product.  The framework supports a dynamic design, which allows the features and functionalities linked with the product to be changed, along with the real time changes occurring in the ongoing market conditions. Generally, a scrum project is started when the stakeholders or the investors desire to develop a product for marketing and selling purposes.

Scrum roles
Scrum is basically a team process. There are three important roles in scrum:
·       The Product Owner
Responsible for the work to be done in the scrum project.
·       The Scrum Master
Plays the servant-leader role, ensures that scrum is properly implemented in the project, and acts as a facilitator.
·       The development team members
Undertakes the product development in the form of sprints and actually gives “birth” to the product.

Daily sprints
A sprint is the fundamental unit of developing the product in scrum methodology. Actually, the entire product is developed in short bursts of development activity known as “sprints”. Each sprint generally lasts for two weeks. It can, however, extend up to four weeks if required, but in practice it generally lasts for only two weeks. A fully functional, or a “shippable” product feature or functionality is delivered at the end of each sprint.

Scrum artifacts or objects
Scrum includes three important artifacts which facilitate the scrum process. They are:
·       The Product Backlog
It consists of the user stories, or the list of features and functionalities which actually define the entire product to be developed.
·       The Sprint Backlog
A certain portion, or a subset of the product backlog, is transferred to the sprint backlog for development purposes during the sprint.
·       The Product Increment
It constitutes the list of features and functionalities which have been developed successfully by the development team, and is ready for “shipping”.

Scrum meetings
Scrum also requires five team activities or meetings, which are:
·       Product Backlog Refinement
The meeting includes updating the product backlog items or the user stories with the latest updates and feedback availed from the stakeholders, and resetting the priority of the backlog items on the basis of their importance.
·       Sprint Planning
Scheduled just before a sprint is to be carried out, the meeting is used to plan which tasks should be taken up for development by the team, and to clear the doubts or issues concerning the development.
·       Daily Scrum
The meeting is held just before the sprint commences for the particular day. The purpose is to discuss three important questions associated with daily sprinting:
-        What was done yesterday?
-        What is to be done today?
-        Are there any difficulties?
·       Sprint Review
Once a sprint is carried out, the product owner compares the user stories developed by the team, whether they fulfill the acceptance criteria. The review functions as a “learning” activity, and the team uses the prior experience to avoid potential pitfalls from occurring in the future sprints.
·       Sprint Retrospective

Once the development is carried out in sprints, and the product owner accepts the tasks as “Done”, it is required to demonstrate the successfully completed user stories to the stakeholders and the end users. The retrospective also helps to obtain a feedback from the individuals who are actually going to use the product.

    "Please visit http://www.quickscrum.com to download the Quickscrum tool" 

Thursday, 3 April 2014

Agile Values in Scrum: The Important Principles and Values of Scrum Explained

Scrum is perhaps the best known Agile method of implementing successful projects. Scrum projects complete on time, and result into higher ROI for the stakeholders. This makes Scrum an ideal, and the most preferred choice while implementing projects, in which the product definition is liable to change with the changing market conditions. The Agile values and principles apply to scrum.   

Individuals and interactions more important than processes
Scrum, just like other Agile frameworks, relies much upon putting trust in teams and individuals connected with the project. The manner in which the team interacts is important. The team should take a proactive interest in determining what is to be done, and figure out how to achieve the aims and objectives associated with the project. Self correction and self learning is an integral part of scrum methodology, and the team should put in efforts to identify potential issues and problems which can act as impediments and hamper the project. The individuals should also take the responsibility to resolve the issues – they can take the help of the scrum master or the product owner as and when required, since these individuals are usually senior members, and have the required knowledge, as we as the expertise to find a way out and solve the problematic issues. For issues concerning the stakeholders and the investors, the product owner should take a proactive approach in availing the clarifications regarding the acceptance criteria, and guide the team in proceeding with the user stories. In scrum, it is essential that the team feels responsible, and undertake the responsibilities in a proactive manner.

Working and shippable software takes precedence over documentation and marketing concerns
The main purpose and objective of scrum is to produce shippable products through iterations know as sprints. The entire development of the product occurs in sprints. At the end of each sprint, the product owner verifies the quality of the development carried out by the team, and adjudges the completed user stories, whether they comply with the acceptance criteria. It is imperative that sprints deliver shippable products which fulfill the stakeholder’s vision of a successful marketable product. The documentation required to “manufacture” the product, such as the project analysis report, project design, testing and documentation of the results, creating user manuals and technical specifications etc. are important too, but the actual development through the sprints, and churning out shippable products at the end of sprints is more important and precedes the documentation associated with the development.

Collaborating with the customers more important than contracts and legal documentations
The product owner is the main entity which functions as the main point of contact between the team and the stakeholders, as well as the end users of the product. The product owner collaborates with the team, and determines what needs to be done next to make the project a distinct success. A primary responsibility is to ensure that the product maintains the highest possible market value at all times, even while it is being developed. This is the most critical aspect of scrum.

Transparency and taking proper decisions at the right time and the right manner
Scrum stresses heavily upon transparency and sharing information. The entire scrum process is designed to facilitate the flow of information and increase the transparency. Each team member should have access to the required information. They should have access to proper data and important information, so they can make informed decisions and fulfill their responsibilities in a proper and effective manner. Each aspect associated with the scrum process – including the product backlog and user stories – should be made available at all times so that the product increment through sprints is availed as per production plan and schedule.
Source:- http://computersight.com/programming/agile-values-in-scrum-the-important-principles-and-values-of-scrum-explained/

      "Please visit http://www.quickscrum.com to download the Quickscrum tool" 

Why Certain Businesses Fail To Benefit From Scrum – Part 1

Scrum may be difficult to understand and follow
Despite the fact that scrum framework helps to provide solutions for the drawbacks prevailing in traditional project management methodologies, in many cases, the company implementing scrum for the first time may face certain issues associated with scrum itself. Scrum methodology is highly adaptable and powerful. It can cater to changing market conditions, and successfully incorporate the changes within the product development cycle, even while the product is currently being developed. There are several advantages, which makes Agile scrum a much desired development methodology. However, implementing scrum in a successful manner can prove to be very challenging for first timers. The impediments faced are generally related to the transition process, as the company starts migrating from its current development methodology to scrum. For majority of people new to scrum, the environment may appear to be complex, rigid, and difficult to understand and follow. This is a misconception since scrum can be almost everything but not rigid in the truest sense. In the initial stage, the team may find it difficult to understand how scrum works, and what kind of roles the product owner and scrum master play while implementing scrum. In addition, there are certain artifacts or objects such as the product backlog and the sprint backlog which figure prominently in scrum. Moreover, scrum events such as the daily sprint meeting, sprint planning meeting, sprint retrospective meeting, and the sprint review meeting may confuse novices why they exist, or are needed in the first place. Scrum can be quite different when compared to traditional waterfall project development methods, and people often start developing a negative attitude towards it simply because they fail to understand it.   

Not getting the desired results out of scrum implementation
A company or a business may decide to implement scrum to reduce the project turnaround time or increase the productivity and the ROI. There is always a reason why an ongoing process flow may be required to be replaced by a new one by the business owners. The management and stakeholders may have “heard” about the obvious benefits of using scrum, and how their business can possibly benefit from them. The management personnel may have high expectations, and might even plan their marketing goals and objective keeping in mind the benefits availed by implementing scrum in their ongoing projects. However, in many cases, due to various reasons scrum implementation may fail to produce the desired results for the particular business, and the entire project may go askew with no clear indication as to in which direction it is heading for. The reasons may be many and varied. It is important to know what they are if scrum is to be implemented successfully.  

·       Improper communication channels and feedback
Broken feedback channels and improper communication processes primarily lead to a void in the learning process which is so very important while implementing scrum. A major issue is the lack of feedback availed during the scrum meetings and important information not being transmitted to the team members in the correct manner, or at the correct time. In scrum, the entire project is developed in short bursts of development activity called sprints. Sprints are to be conducted on a daily basis. The daily stand up or the daily scrum meeting precedes the sprint activity. Three important questions are to be answered during the meeting. The product increment during the daily sprint can be affected by the answers availed during the stand up. After the entire sprint is over, a sprint review meeting is held to evaluate the development carried out by the team. The product owner and the scrum master evaluate the entire sprint during the review, and efforts are made to generate new findings based upon prior experiences. The findings need to be conveyed to the team.

Result
When the communication channel fails due to some reason and proper feedback is not transmitted to the team members, they may start with a new sprint and repeat the same mistakes they made in the prior sprint. Scrum supports self-learning and self-correction activities which are possible only when a proper communication channel is set in place, and feedback is made available to the entire team. If the team members do not receive any feedback or communications from the concerned personnel, they may proceed with future activities without any definite aim or objective.  This can be disastrous for scrum because everything is planned, and each activity is carefully regulated in scrum. The team members fail to perform in the correct manner and the entire project suffers as a consequence.     

·       Organization lacks sufficient scrum knowledge and experience
Project managers are more used to traditional waterfall methods and are familiar with their process flow. Scrum is very different, and the framework should be understood in depth before it can be used or implemented in any particular way or manner. It is essential that the entire team be educated in scrum and knows how it works. The team members should be well apprised about the importance of the scrum artifacts and the purpose of the meetings. They should be made aware about the importance of sharing information in scrum and collaborating with other team members. At times, the team may not be clear about how a scrum meeting should be ideally conducted, and what information ought to be availed from it. A lack of clear purpose may render the entire meeting as useless. The team members may fail to deliver productivity in a scheduled or effective manner. The entire scrum process could be hampered.Read more on http://blog.quickscrum.com/post/2014/03/31/Why-Certain-Businesses-Fail-To-Benefit-From-Scrum-%E2%80%93-Part-1.aspx

            "Please visit http://www.quickscrum.com to download the Quickscrum tool"


Wednesday, 2 April 2014

The Core Role and Responsibilities of a Product Owner in Scrum

One of the commonest mistakes that people make while considering the product owner’s role in scrum is to consider him or her as either actually owning the product, or functioning as a decision maker while developing the product for the stakeholders. This is far from true, since the product owner is actually employed by the stakeholders to represent their interests while scrum is implemented in a project. A product owner can own a product, but is not necessarily its owner in most cases.

The core job of the product owner, or rather the main responsibility, is to:
·       Figure out how to “make” the product
·       Ensure that the sprints are successfully completed during the project
·       Shippable products are delivered at the end of sprints
·       Ensure that the scrum project is successfully completed

The product owner’s job is a difficult one, and a full-time one.

The product owner as the core determinant of a successfully completed scrum project
It is essential to deliver value, and the scrum method requires an efficient, reliable, and an accurate mechanism, which can help to determine the product vision and create an effective pipeline which has the capability of distilling the product vision into shippable, concrete, and deliverable product backlog items that can successfully demonstrate the tangible benefits as a part of the longer project vision. It is because of this reason that the role of a product owner becomes a very important one while implementing scrum.

While the product owner can participate in each Scrum ritual, his or her main function, parallel to that of the scrum master, is to act as a facilitator for the entire team, and be available when problems and issues arise in the project. The main tasks of a product owner are:
·       Envisioning the product and facilitating its development
·       Creating an iterative or sprint release strategy which can incorporate the changing market conditions and product requirements
·       Distilling the high-level product related requirements into developable and deliverable user stories linked with acceptance criteria
·       Prioritizing the product backlog
·       Communicating difficult and complex system architecture issues to the clients
·       Negotiating all client-sided disputes and concerns associated with the product design, development, and user story priorities

Responsibilities of a product owner
The person is mainly responsible for:
·       Representing the interests of, and acting as the voice of stakeholders and customers
·       Understanding project profitability and delivering high ROI
·       Managing the stakeholders
·       Maintaining communications and promoting collaboration amongst the team members
·       Undertaking on-the-spot tactical decisions and ensuring that the product development cycle is not affected
·       Participating in the release meetings and planning
·       Writing effective user stories
·       Maintaining and updating the product backlog
·       Helping the team in estimating the development time for each scrum scenario
·       Participating in the sprint review meetings, accepting the user stories as “Done”, and providing effectual feedback

·       Monitoring the project progress and suggesting constant adjustments based upon important strategic objectives

              "Please visit http://www.quickscrum.com to download the Quickscrum tool"

Tuesday, 1 April 2014

Norms for Holding Effective and Fruitful Scrum Meetings

Many types of meetings are held while scrum is implanted in a project. Right from sprint planning meeting to the sprint review and the sprint retrospective, other non-conventional meetings can also be arranged in scrum as and when needed to fulfill specific objectives.  Following certain norms can help to effective and fruitful meetings.

·       Scheduling the meeting
The best way to schedule a meeting is to consider all the information that needs to be conveyed during the meeting, and assign a proper time and duration for it. Do not try to cram in too many topics so that enough time is not allotted for discussing each topic during the meeting. Ideally, the meeting should last for approximately 30 minutes, so work out an agenda that fits into the time schedule. If the topics to be discussed are more, hold a separate meeting to discuss them. This is very important, since the team members need time to absorb the discussion, and remain perceptive to the plan of action decided for each topic in the agenda at the end of the meeting.

The time to hold the meeting should be properly selected too. Choose the time, which is most convenient to all. Ideally, the meeting should be held around 9 AM when everyone is fresh and about to start their day, or if that is not possible, than around 3 PM when everyone has taken the lunch and people are not feeling groggy immediately after having it.

·       Members attending the meeting
Work out the list of attendees who are going to remain present for the meeting. It is mandatory for the product owner and the scrum master to attend the meeting since they play a center role in scrum implementation. Invite only those members who are associated with the topics included in the agenda, and who need to carry out some plan of action based upon the discussions carried out during the meeting. Other members, who are not concerned, or who have no connection with the agenda topics should not be invited so the meeting place is not cluttered up with too many individuals. When the members are less, it becomes possible to have one-to-one discussion, which is more meaningful and effective.

·       Creating and distributing the agenda
Make sure that a proper agenda is created that includes all-important topics. Once the agenda is prepared, send it, or distribute to the concerned individuals well in time so they have enough time to prepare for the meeting. Each attendee should prepare a list of queries or issues concerning his or her work, and present it to the audience during the meeting. If the participants are well prepared, it leads to more fruitful and productive meetings.  

·       Conducting the meeting in the proper manner
Start your meeting on time. It is advisable not to wait for participants if they do not make it on time. It is essential to convey a message that the purpose and intent of the meeting is important, and should not be trifled with. The meeting should also not be taken lightly by the attendees. Some organizations even levy a certain penalty if the participants do not show up on time. 


Another aspect is regarding the discussions to be carried out during the meeting – they should be focused and topic centric. Make sure, only those topics relevant to the agenda are discussed, and the meeting is not emphasized with other trivial or non-related discussions. Utilize the meeting time in a productive way.Read more on https://www.apsense.com/article/norms-for-holding-effective-and-fruitful-scrum-meetings.html

          "Please visit http://www.quickscrum.com to download the Quickscrum tool"

Monday, 31 March 2014

All about How To Hold Conventional And Non-Conventional Scrum Meetings

In many ways, scrum is all about meetings. Once the product backlog is created by the product owner, the meetings starts, and keeps on occurring until the entire project is completed. While some of the meetings such as the sprint planning, sprint review, and the sprint retrospective are “planned” meetings, and the scrum guide lays down clear guidelines as to how they should be conducted and what should be availed from them, it may be required to hold special meetings as and when needed to streamline the scrum process. The scrum guide does not mention anything about non-standardized meetings, or those which have been called impromptu. It is important to plan and organize such meetings to make them effective in scrum. 

1.    Meet only if required
First and foremost, if the information can be conveyed through a memo, emails, or a small presentation, don’t conduct the meeting. One of the key management strategies is to identify the nature and requirement of conveying the information to team members. If the nature of information is “simplex” i.e. information needs to be conveyed only “one way”, a lot of time can be saved by just sending a memo. Typically, the scrum master or the product owner may need to brief up the team members regarding the feedback availed from the stakeholders, or just let the team know about the time a particular meeting is scheduled. In such instances, it is not required to hold a special meeting to convey “one way” information since a feedback or further discussion is not expected or required with respect to the message conveyed.

2.    Set up clear objectives for the meeting
If a meeting is supposed to be held, it should have an objective! It is meaningless to conduct meetings where objectives are not clearly explained and the team does not have any idea why the meeting is called for, or what is planned to be done in the meeting. A proper agenda should be created beforehand and conveyed to the team well in advance so the team knows why the meeting has been called, and what is going to be discussed in it. 

3.    Instruct the members to prepare for the meeting
If you find it necessary to hold the meeting, and have prepared an agenda to explain what you plan to discuss in the meeting, it is recommended you instruct or inform the team members how they ought to prepare for the meeting. Ideally, a list should be prepared explaining what is expected from the team member, and what activities the particular member should carry out before attending the meeting. If you have team members belonging to specific groups depending upon their area of work and specialization, you could prepare a common list of instructions stating what and how each member in the group should do to ensure their participation in the meeting is a positive one. 

4.    Prepare a plan of action
Now that you have done everything to make your meeting a successful one, it is important you achieve the objective of holding your meeting in the first place. It is important to inform the team members what they are expected to do once the meeting is completed. More than often, people attend meetings and simply forget about what was discussed and whether the objective of holding the meeting was satisfied once the meeting is over. The reason why this happens is there is no “Call-to-action” linked with the particular meeting. Each member should know that he or she is supposed to do to complement the meeting, and ensure its objectives are properly fulfilled.Read more on https://www.apsense.com/article/all-about-how-to-hold-conventional-and-nonconventional-scrum-meetings.html


 "Please visit http://www.quickscrum.com to download the Quickscrum tool"


Friday, 28 March 2014

Means Of Communications For Collocated And Distributed Teams While Implementing Scrum

The scrum development team
The scrum team is the heart of any scrum based project. The development team is directly responsible for manufacturing the functionality linked with the particular project. The development activity is carried out by the team members during the iteration or the sprinting activity, which generally lasts for up to two weeks. It is very important for the team members to “jell” with each other, and collaborate, because it is a prerequisite while implementing scrum. The physical location of the team members plays a very important part while the sprint is carried out. In most cases, the entire development activity, and the sprint too, is carried out in a single location, or the same place – under the same roof. However, with the advent of off-shoring and using scrum for complex and extended product development, it may become necessary for the team members to remain located in different geographical locations owing to various reasons.

Advantages of having a collocated team
For healthy scrum implementation, high level, and frequent communications are essential between the team members as well as the scrum master while the project is underway. It is generally preferred that the team members are collocated. Collocation means all the team members share a common development location, and even similar infrastructure, during the sprint. There are several advantages of being collocated:
·       Questions can get answered quickly and easily
·       Problems can be fixed “on the spot” with minimal wastage of time
·       Less friction is created in the interactions of the team members
·       Trust is availed and rendered much quickly

Means of communications for collocated and distributed teams participating in the sprint
It is important to communicate in an effective manner to improve collaboration. Several types of tools and methods can be used to improve the collaboration among team members.

·       Collocated teams
­   Teams working in and sharing the same office.

Since the team members are located in the same premises the preferred methods of communications can be:
o   Face-to-face
o   Messaging utilities
o   Internal chat tools

Discussions can also be facilitated using:
o   Meeting rooms
o   Scrum boards
o   Wall displays
o   Shared tables

·       Distributed teams
­   Teams placed in different geographic locations.

Some of the tools recommended for communication purposes are:
o   Video conferencing tools and hardware/software
o   Instant messaging utilities
o   Chatting utilities
o   Social media tools
o   Shared screens
o   Remote access facilities
o   Specialized scrum software which emulate the functionality offered by traditional scrum boards 

          "Please visit http://www.quickscrum.com to download the Quickscrum tool"