Conditions Apply

Search

Should A Scrum Master Be Technical?

A serious matter of debate has been out there for a while. Mostly in the Agile confines. Whether a Scrum Master should have a technical background or not. This discourse took a new turn after one survey result by Scrum Alliance was out in 2015. It revealed that Scrum Masters were mainly dealing with teams wherein 44% were working in software development and 33% in IT.  This, somehow, led to a mass rethinking of the requisites of a Scrum Master, mainly the technical aspects.  While many are of the opinion that a Scrum Master only needs to facilitate Agile team activities, some emphasize the necessity of a Scrum Master with basic technical knowledge. In fact, a whole new cohort of technically sound Scrum Masters has worked wonders in Agile teams in the recent past.  So while an extensive technical knowledge is not a mandate for a Scrum Master, a familiarity with the project-specific domains is no less than a boon for the SM himself and his/her team. A Scrum Master can be either technical or non-technical. Let us view the role of a Scrum Master in both the ways. Should a Scrum Master be technical? Great, thought-provoking blogpost by @barryovereem at https://t.co/4jd6is7XP6: https://t.co/5qMSteApU6 — Christiaan Verwijs (@chrisverwijs) 18 October 2017   Scrum Master with technical background Benefits of a Technical Scrum Master (TSM) A Scrum Master need not necessarily be technical, but an SM with a technical background is an added advantage. A Scrum Master with a technical background means a Technical Scrum Master (TSM) who plays a crucial role apart from a servant-leader and facilitator. An SM is not a team member, but a team coach. A technical coach plays a key role in successful Agile adoption and in identifying possibilities to implement its usage to maximum effect. A Scrum Master with technical skills can involve in the software development activities successfully by understanding it from a technical perspective. A technical Scrum Master: Is capable of building rapport between the teams and team members Knows very well how and when to ask tech-savvy questions and Has the acumen to find out if something is not right It is necessary for a Scrum Master to have basic technical skills in order to communicate with the technical team properly. It can help the Scrum Master develop reliability among other senior management.   Issues with a Technical Scrum Master (TSM) The main problem with a TSM is that sometimes he/she creates some kind of problems. Working with a Scrum Master who is a technology expert is like working with complex problems that are better left unaffected. A TSM can affect the Scum team in many ways. He/she may: Act as a technical SME (subject matter expert) and try to handle services Ask team members some questions on their assessments Force the team to adopt and use a particular technology Guide the team on how to disintegrate stories into tasks Guide the Product Owner on how to evaluate the work Try to handle the project that the team is working on Both the team and the organization should understand what a TSM is doing and when he/she is overrunning the bounds.    Scrum Master with non-technical background Benefits of a Non-Technical Scrum Master Q: Should Scrum Master necessarily have a technical background? A: Definitely not It is not a demand that a Scrum Master should be technical, but it is essential for an SM to have excellent communication and management skills. The main role of a Scrum Master is to assist the team to follow the processes properly and the team is completely responsible for the enhancement of its technical practices. A Scrum Master with a lack of technical skills is free from resolving technical problems and delivering technical services while helping the team in finding the communication and collaboration issues and tackling non-technical impediments. A Scrum Master with his/her intelligence would be able to ask thought-provoking and direct questions which would resolve the barriers. A Scrum Master need not necessarily know the domain details that the team members are working within. This is because, everyone is responsible to do certain work, such as: The Product Owner is responsible for having knowledge on what needs to be done The development team is responsible for identifying how to execute this in a better way The Scrum Master is responsible for enabling them to do what they need to do   Issues with a Non-Technical Scrum Master Apart from the standard reasons, there are some other reasons for the failure of Scrum Projects. Some of the failures are caused because of a Scrum Master with lack of technical skills. Here is a list of a few reasons:   No follow-up with the team on their understanding of the User Stories  An experienced Technical Scrum Master follows up with the team and helps them execute the task.   Ignores mapping user stories to a single feature TSM may not be required here, but when the architect is busy with the other technical assessments, that is where a TSM can help to fill the gaps.   Acceptance Criteria given by the Product Owner (PO) is taken up without any discussion Sometimes we need to examine whether the Product Owner has taken a comprehensive view while considering the acceptance criteria. A TSM can help here to negotiate the acceptance criteria if in case anything needs to be considered additionally.   Unit testing is ignored frequently A Non-Technical Scrum Master does not understand the importance of unit testing. But a TSM understands its essence and helps the team by arranging a meeting on unit testing.   No particular plans to address the defects A Technical Scrum Master, sometimes, especially when the team extremely requires time out from the user stories, could update the program on his/her machine, run unit tests, fix the bugs, and finally ask the testing team to check them once.   Final Thoughts: Technical Scrum Master or Non-Technical Scrum Master? A Scrum Master is not required to understand the code, but coaching new teams requires some amount of technical excellence. Technical skills help the Scrum coach to teach and guide the team properly in understanding the practices well.     A Scrum Master does not need to be technical at all. He/she should understand the fundamental concepts of software development and be clear about the work process of IT projects. The most essential skill of Scrum Master is to guide the Product Owner and the team on the Scrum Practices and help the team in increasing productivity. It does not entail anything pertaining to technical and coding skills.   
Rated 4.0/5 based on 1 customer reviews

Should A Scrum Master Be Technical?

2260
Should A Scrum Master Be Technical?

A serious matter of debate has been out there for a while. Mostly in the Agile confines. Whether a Scrum Master should have a technical background or not. This discourse took a new turn after one survey result by Scrum Alliance was out in 2015. It revealed that Scrum Masters were mainly dealing with teams wherein 44% were working in software development and 33% in IT. 

This, somehow, led to a mass rethinking of the requisites of a Scrum Master, mainly the technical aspects. 

While many are of the opinion that a Scrum Master only needs to facilitate Agile team activities, some emphasize the necessity of a Scrum Master with basic technical knowledge. In fact, a whole new cohort of technically sound Scrum Masters has worked wonders in Agile teams in the recent past. 

So while an extensive technical knowledge is not a mandate for a Scrum Master, a familiarity with the project-specific domains is no less than a boon for the SM himself and his/her team.

A Scrum Master can be either technical or non-technical. Let us view the role of a Scrum Master in both the ways.


 

Scrum Master with technical background

Benefits of a Technical Scrum Master (TSM)

A Scrum Master need not necessarily be technical, but an SM with a technical background is an added advantage. A Scrum Master with a technical background means a Technical Scrum Master (TSM) who plays a crucial role apart from a servant-leader and facilitator. An SM is not a team member, but a team coach. A technical coach plays a key role in successful Agile adoption and in identifying possibilities to implement its usage to maximum effect. A Scrum Master with technical skills can involve in the software development activities successfully by understanding it from a technical perspective.

A technical Scrum Master:

  • Is capable of building rapport between the teams and team members
  • Knows very well how and when to ask tech-savvy questions and
  • Has the acumen to find out if something is not right

It is necessary for a Scrum Master to have basic technical skills in order to communicate with the technical team properly. It can help the Scrum Master develop reliability among other senior management.

 

Issues with a Technical Scrum Master (TSM)

The main problem with a TSM is that sometimes he/she creates some kind of problems. Working with a Scrum Master who is a technology expert is like working with complex problems that are better left unaffected.

A TSM can affect the Scum team in many ways. He/she may:

  • Act as a technical SME (subject matter expert) and try to handle services
  • Ask team members some questions on their assessments
  • Force the team to adopt and use a particular technology
  • Guide the team on how to disintegrate stories into tasks
  • Guide the Product Owner on how to evaluate the work
  • Try to handle the project that the team is working on

Both the team and the organization should understand what a TSM is doing and when he/she is overrunning the bounds. 

 

Scrum Master with non-technical background

Benefits of a Non-Technical Scrum Master

Q: Should Scrum Master necessarily have a technical background?
A: Definitely not

It is not a demand that a Scrum Master should be technical, but it is essential for an SM to have excellent communication and management skills. The main role of a Scrum Master is to assist the team to follow the processes properly and the team is completely responsible for the enhancement of its technical practices.





A Scrum Master with a lack of technical skills is free from resolving technical problems and delivering technical services while helping the team in finding the communication and collaboration issues and tackling non-technical impediments. A Scrum Master with his/her intelligence would be able to ask thought-provoking and direct questions which would resolve the barriers.

A Scrum Master need not necessarily know the domain details that the team members are working within. This is because, everyone is responsible to do certain work, such as:

  • The Product Owner is responsible for having knowledge on what needs to be done
  • The development team is responsible for identifying how to execute this in a better way
  • The Scrum Master is responsible for enabling them to do what they need to do

 

Issues with a Non-Technical Scrum Master

Apart from the standard reasons, there are some other reasons for the failure of Scrum Projects. Some of the failures are caused because of a Scrum Master with lack of technical skills. Here is a list of a few reasons:

 

No follow-up with the team on their understanding of the User Stories 

An experienced Technical Scrum Master follows up with the team and helps them execute the task.

 

Ignores mapping user stories to a single feature

TSM may not be required here, but when the architect is busy with the other technical assessments, that is where a TSM can help to fill the gaps.

 

Acceptance Criteria given by the Product Owner (PO) is taken up without any discussion

Sometimes we need to examine whether the Product Owner has taken a comprehensive view while considering the acceptance criteria. A TSM can help here to negotiate the acceptance criteria if in case anything needs to be considered additionally.

 

Unit testing is ignored frequently

A Non-Technical Scrum Master does not understand the importance of unit testing. But a TSM understands its essence and helps the team by arranging a meeting on unit testing.

 

No particular plans to address the defects

A Technical Scrum Master, sometimes, especially when the team extremely requires time out from the user stories, could update the program on his/her machine, run unit tests, fix the bugs, and finally ask the testing team to check them once.

 

Final Thoughts: Technical Scrum Master or Non-Technical Scrum Master?

A Scrum Master is not required to understand the code, but coaching new teams requires some amount of technical excellence. Technical skills help the Scrum coach to teach and guide the team properly in understanding the practices well.




 


 

A Scrum Master does not need to be technical at all. He/she should understand the fundamental concepts of software development and be clear about the work process of IT projects.

The most essential skill of Scrum Master is to guide the Product Owner and the team on the Scrum Practices and help the team in increasing productivity. It does not entail anything pertaining to technical and coding skills. 

 

KnowledgeHut

KnowledgeHut

Author

KnowledgeHut is a fast growing Management Consulting and Training firm that is a source of Intelligent Information support for businesses and professionals across the globe.


Website : https://www.knowledgehut.com

Join the Discussion

Your email address will not be published. Required fields are marked *

1 comments

KINGSHUK MANDAL 07 Dec 2018

When the Scrum Master role was created by Jeff Sutherland, it was a technical position so that impediments for technical team could be removed without the team having to sped time explaining the problems to multiple people to get a resolution. Many organization who got Scrum right have trained the SMs to have enough technical knowledge to be helpful to the team in removing impediments. Just having management and communication skills sounds like trying to justify rebranding PMs.

Suggested Blogs

Top Trends in Agile You Can’t Miss in 2020

Technology is evolving at breakneck speed and the information we consume every day continues to grow exponentially with every passing day. Analysing this complex mountain of data to make the right decisions informed by this data has become ever more challenging.Traditional models of project management like the waterfall method and hierarchical team structures are too rigid to respond to the fast-paced change organizations are facing today. The old ways of a rigidly structured workforce and work rules are not sustainable anymore.In such a rapidly evolving context, Agile is making the headlines everywhere. Companies of all sizes, including the likes of Amazon and Google are embracing the much talked about project management methodology.While Agile is commonly known for management of software projects, its usage has spread to all types of projects and there is a lot of buzz around how organizations, as a whole, should become Agile.Agile is said to be the new way businesses are building their competitive advantage.Top 3 Trends in AgileReduced project costs have always been a primary driver for Agile adoption. According to the 13th Annual State of Agile Report, reduced project costs continue to be the primary reason for Agile adoption.1. DevOps is a higher organizational priority in 2020According to recent research from the DevOps Institute, over 50% of organizations surveyed preferred to hire their DevOps teams from within the firm. Companies who wish to stay ahead of the curve must make drastic improvements in training and improving skills essential to DevOps. We can expect to see an aggressive pursuit of this in 2020.2. Upskilling and cross-skilling will be on the riseThe strained talent market has led to organizations and individuals investing heavily in upskilling and cross-skilling to meet the fast-growing demands for new skills. While IT professionals would need to become more competent across domains, developers would need to add new breadth to their portfolio of skills.3. Value Stream Management has come to the foreValue Stream Mapping helps change the way teams think about the Definition of Done (DoD) from an ‘I-did-my-job' to ‘the-value-is-realized' result. This is an effective way of changing behaviours and getting teams to think about the end-to-end lifecycle of what they’re working on. Teams who adopt Value Stream Management in 2020 will be able to base their next improvement experiments on data-driven decisions and prioritizations.
Rated 4.5/5 based on 2 customer reviews
8041
Top Trends in Agile You Can’t Miss in 2020

Technology is evolving at breakneck speed and the ... Read More

Agile Project Management Vs. Traditional Project Management

In this fast-moving world, project management has become one of the most important pillars that are helping businesses run without any glitch in their processes. Both small and large scale organizations around the world are exploiting technology and depending on project management systems to deliver the software development project successfully. Whether it is team workflow management or timing, these tools help to ensure that everything is going well without any obstacles. While there are tens of different project management approaches, Agile is considered one of the most practical and flexible software development mechanism that exist today. It is capable of executing a variety of tasks, but what sets it apart from others? Let’s find it out. Here’s a brief comparison of Agile management and traditional project management software:                                                                                                                    Traditional vs Agile Project Management Overview of Agile and Traditional Project Management What is Traditional Project Management? The traditional Project Management (waterfall) approach is linear where all the phases of a process occur in sequence. Its concept depends on predictable tools and predictable experience. Each and every project follows the same life cycle which includes the stages such as feasibility, plan, design, build, test, production, support, as shown in the figure above. The entire project is planned upfront without any scope for changing requirements. This approach assumes that time and cost are variables and requirements are fixed. This is the reason why traditional project management faces budget and timeline issues. What is Agile Project Management? When a traditional system focuses on upfront planning where factors like cost, scope, and time are given importance, Agile management gives prominence to teamwork, customer collaboration, and flexibility. It is an iterative approach that focuses more on incorporating customer feedback and continuous releases with every iteration of software development project. The basic concept behind Agile software development is that it delves into evolving changes and collaborative effort to bring out results rather than a predefined process. Adaptive planning is perhaps the biggest feature of Agile and one that makes it a crowd favorite among project managers. Scrum and Kanban are two of the most widely used Agile frameworks. They are very well known for encouraging decision-making and preventing time consumption on variables that are bound to change. It stresses customer satisfaction and uses available teams to fast-track software development at every stage. The table below shows the major differences between Agile project management and traditional project management.                                                                                Table: Agile project management vs traditional project management   Why is Agile Preferred and why not the traditional project management? Agile is preferred by most developers and managers because of a variety of reasons. Let’s have a look at the most common ones: 1. Project complexity Traditional: This method is the best fit for small or less complex projects as it follows linear approach. Sudden changes in the project or any other complexities can block the entire process and make the team go back to step one and start all over again. Agile: This is the best methodology to follow in case of complex projects. A complex project may have various interconnected phases and each stage may be dependent on many others rather than a single one as in simple projects. So, Agile methods are preferred for large complex projects, as they can respond better to such structures. 2. Adaptability Traditional: This approach works with a belief that once a phase is done, it will not be reviewed again. So, it is not adaptable to rapid changes in the work plan. In case if any sudden situation arises or any change in the requirements from the client’s side, traditional approach fails to adapt to the new change. The only choice is to start from the very beginning once again. This wastes a lot of effort and time in the process. Agile: The adaptability factor is very high in this methodology since it is not linear. Complex projects consist of several interconnected stages, where a change in one stage can cause an effect on another. And the project managers can take calculated risks in such scenario, as there is a chance of high adaptability.  3. Scope for feedback and changes Traditional Each and every process is clearly detailed and defined at the start of the project in the traditional approach. It cannot deal with any big change or feedback that might require a change in the process. Mostly, the project delivery time and budget are fixed, allows change very rarely. Agile There is a high acceptance for feedback and change in this method. The process is very flexible and allows constant feedback that can help to provide better output within the fixed project delivery time. The main reason that managers or developers choose agile direction is for the flexibility it offers. Developers working with Agile management are able to respond to customer requests quickly as they are only addressing small parts of the project at a time and the customer validates each iteration or sprint before finalizing.   Some of the important characteristics of Agile development Breaks project into parts Agile divides a project into parts (called iterations) where the release is sent to the customer after every single iteration. Additionally, the success of the project can be easily foreseen through the success of these iterations. This removes the need for upfront planning completely. Self-organized As mentioned above, Agile uses a parallel mode of management. Employees of a company are not managed by a central line of control, but by groups. For example, in Agile, there may be eight teams working on a single project. Each team is managed by itself without external guidance. The teams only interact with each other for project discussion and process linking as they are otherwise not self-sufficient. Generally speaking, an Agile project consists of three parts: The product owner – the expert on the project (for which the product is being developed) and is the main person who oversees the projects The scrum master – this person manages the process involved in Agile. He/she looks after the iterations and its completion The team – individuals who play significant and minor roles in the software development process Customer Engagement In Agile, customer engagement is at the very top. The customer is regarded highly in its frameworks as after every iteration, feedback is generated and acted upon. Overall, Agile is clearly the winner among project management systems. When compared with other traditional approaches, Agile’s features come to the fore and reiterate why it is one of the top software used by companies globally. Can Agile Coexist with Other Approaches? This is a question asked by many project managers, and opinions of experts seem to be divided. While some say it is possible for Agile to coexist with traditional project management systems, they suggest being cautious and using them for different terms. For example, using two different approaches on the same project can be counter-productive and highly explosive. As Agile and most other frameworks are totally contrasting to each other, the projects may go for a toss. On the other hand, some experts believe that it is not possible for Agile and other tools to co-exist because of their contrast. Using them together can cause disorder in the entire company system, making the productivity to go for a toss. Agile vs Traditional- Adoption Growth According to a recent online survey of 601 IT and development professionals, it is proved that Agile is the new typical formula for project success. The majority of projects and development teams are now adopting this methodology, while the traditional waterfall approaches have many flaws.    Traditional organizations vs. #Agile organizations #SALC16 pic.twitter.com/bBgxkQB1fI — Scrum Alliance (@ScrumAlliance) January 20, 2016 Agile was first introduced about 15 years ago as a substitute for traditional software development approaches. Many people considered it as challenging to implement traditional approach practices and Agile adopters stated that this new style of software development improves team collaboration and is more customer-centric.  Though Agile method was present more than a decade ago, the vast majority of organizations have adopted the practice in the last 5 years. Moreover, the survey reported that agile adoption saw an inflection point between the year 2009-2010. As shown in the above figure, agile adoption seems to have slow incremental growth till 2008 and then its growth was accelerated after gaining traction in the market. Reasons for the transition to Agile Most of the organizations who transitioned from traditional to agile project management have listed the following reasons: Improves collaboration between teams- 54% Enhances the quality level of software in organizations- 52% Results in enhanced customer satisfaction- 49% Speeds time to market- 43% Reduces development cost- 42% The Verdict In traditional software development, the customer involves only before the start of the development process. So, there might be a number of mistakes and a large amount of money needs to be spent to rework on them. Since in the Agile software development, the customer involves at each stage, the corrections can be made once the defects are detected. This helps us in saving cost. As we can see, Agile project management is really in-demand for teams. It helps the team to work on the top priority ones at the right time and allows them to walk through the risks much faster than they would with traditional project management tools.
Rated 4.0/5 based on 5 customer reviews
8978
Agile Project Management Vs. Traditional Project M...

In this fast-moving world, project management has ... Read More

Difference Between Agile and Scrum

Agile describes a set of guiding principles that uses iterative approach for software development, while Scrum is a specific set of rules that are to be followed while practicing the Agile software development. Agile Agile management represents various o software-development methodologies that have been influenced by iterative and incremental development, which includes Extreme Programming (XP), Rational Unified Process (RUP), Scrum, and others. Agile process or methods provide an environment where there is constant evolution in requirements and evolution as a result of collaboration between self-organising cross-functional teams. Agile methodologies foster a disciplined project-management approach that encourages a set of best practices, allowing a rapid delivery of high-quality software and enhancing a business approach, which aligns development with the customer needs. The Agile methodologies stand in contrast to the traditional waterfall methodology, where all the requirements are initially analysed and documented before the development begins. While in Agile approach, requirements are like the actual software-development advances within each iteration. This approach provides flexibility in accommodating changes in the requirements and priorities of the business. The Agile development process aligns with the concepts of Agile Manifesto. Also known as Manifesto for Agile Software Development, the Agile Manifesto is a formal declaration of 4 key values and 12 principles supporting an iterative approach to software development. The Agile development methodology enables assessment of project direction throughout the development lifecycle. This is achieved through regular iterations, and when revaluation is done at every iteration, it greatly reduces the development costs and time. Agile helps the companies to build the right product. Benefits of Agile include as follows: Benefits the Customers In the traditional waterfall model, the high-value features are developed and delivered in longer cycles compared to the Agile approach, which enables delivery within short cycles. This enables the vendors to be more responsive to the development requests of the customers. Benefits the Vendors Adopting Agile benefits the vendors by having an improved customer satisfaction and customer retention, leading to more customer contacts through positive references. The Agile allows the vendor’s focus to be on the development effort of high-value features, decrease the overheads, and improve efficiency. Quality With Agile development, there is a regular inspection of the working product, with testing integrated at every iteration, as it develops throughout the lifecycle. This in turn retains the quality of the product and also allows the product owner to make necessary adjustments whenever a quality issue arises. Visibility Agile methodology is a collaborative approach that encourages active user participation throughout the product development. This gives an exceptional and clear visibility of the project’s progress and product development to the stakeholders. Cost Control Agile development process has fixed timescale where the requirements emerge and evolve as the project progresses and the product is developed. This enables a fixed budget. Risk Management In Agile methodology, small incremental releases are made visible to the product owner throughout the development cycle, which helps identify issues at an early stage, and it makes easier to respond to change, if any. Agile development ensures clear visibility, which allows necessary decisions to be taken at the earliest possible opportunity. Scrum Scrum, on the other hand, is a subset of Agile. A Scrum is a simple and flexible Agile methodology for software development. The Scrum is not a technique or a process but a lightweight and simple framework to address complex problems of a project and deliver a high-value product creatively. The major distinguishing attributes of Scrum are as follows: Simplicity The development in Scrum is done in sprints, which are 1, 2, and 3 weeks in length. The Scrum team consists of: Product Owner: The major responsibility of the product owner is to maximize the value of the product and work of the development team. Additional duties include managing the product catalogue. Scrum Master: The development team consists of self-organising professionals who turn the product catalogue into product increment at the end of each sprint. Development Team: The Scrum Masters make sure that the Scrum team is abiding by the Scrum theory and its rules. Flexibility In the traditional waterfall model, when the business and technical requirements are documented and detailed, it results in endless documentation. The Scrum makes use of user stories to describe the functions needed to be developed. A tool called Pivotal Tracker is used to store these user stories in a backlog. If a change needs to be made or a need arises to add to the user stories, in that case the team can adjust as early as the next sprint. This allows the business to change their minds and the development team to be flexible enough to adjust to those changes. The ability to accommodate change is a powerful attribute of the Scrum methodology. Communication and Collaboration In Scrum methodology, the communication between business users takes place on a daily/weekly basis according to the sprint schedule. This close communication and collaboration is a crucial factor, promoting the success of the Scrum methodology. The Scrum team achieves collaboration in following ways: The Product Owner, the Scrum Master, and the development team work closely on a daily basis. Sprint-planning meetings are conducted, which allows the development team to organise its work based on the knowledge gathered from the business priorities. Conducting daily scrum meetings where the development team can account for the work completed, its future prospects, and deal with issues if any. Conducting sprint reviews allows the team members to evaluate their former work by recommending better practices with every sprint. There are more details on Agile & scum differences
Rated 4.0/5 based on 8 customer reviews
2804
Difference Between Agile and Scrum

Agile describes a set of guiding principles that u... Read More