What’s the difference between Scrum and Agile?

Difference between Scrum and Agile

Agile vs Scrum is like seeking for the differences between the two different words “Red” **and **“Color”. Red is a sort of color and use of it mainly depends on the taste of their users. The same could be said about Scrum vs Agile.

**Scrum **is a kind of agile methodology. It is fundamentally an agile process framework. It rapidly and repeatedly inspects the main working software. It emphasizes teamwork, accountability, and iterative progress toward a well-defined goal. In fact, Scrum and Kanban in software development terms are both precise flavors & types of agile software methodology.

Agile is a development methodology based on an iterative and incremental approach. Scrum is just one of the many iterative and incremental agile software development process. You can find here a very detailed description of the processes. Compared to Agile it is a more **rigid **method. So there is not much room for frequent changes.

Follow me on:

LinkedInhttps://www.linkedin.com/in/shormistha-chatterjee/

Blogger-https://shormistha4.blogspot.com/https://qaandsoftwareblog.blogspot.com/

Dzone_- _https://dzone.com/users/3854036/shormistha.html

Bloglovinhttps://www.bloglovin.com/@shormistha

#scrum #scrum-master #software-testing #agile-methodology

What is GEEK

Buddha Community

What’s the difference between Scrum and Agile?
Alayna  Rippin

Alayna Rippin

1598108400

35 Scrum Master Interview Questions and Answers [2020]

From the desk of a brilliant weirdo #1:

Are your hand shivering and pouring yourself with sweat right before your scrum master interview?

Do you feel quite uncomfortable, maybe unprepared, or maybe even lost in the darkness to what you can expect from the interviewer?

I’ve gone through some of the most common scrum interview questions and provided answers as well.

Big credits to Stefan Wolper, an agile coach, and his ebook about Scrum Masters.

Without further ado:

Scrum Master Role & Responsibilities (Overview)
It’s the Scrum Master’s responsibility to bring the development team on the same page by teaching them all the values and principles that fundamentally shape Scrum and, respectively, Agile.

The Scrum Master’s role revolves around helping and guiding the scrum team rather than managing it. He is also responsible for keeping the project-related stakeholders in the loop as well.

One of the Scrum Master’s primary responsibilities is to ensure a distraction-free environment for his team. The Scrum Master also participates in creating the product backlog helping the PO (product owner) prioritize tasks by importance.

And he is the one ultimately responsible for imbuing the organization with the Scrum values & principles by communicating with other scrum masters, stakeholders, etc.

So, if you are determined to follow a Scrum Master career path, earn the respective salary of a certified scrum master, and qualify for tons of scrum master interviews with the help of your brilliant scrum master resume, then this article can get you prepared for your first or next interview.

Now, before we dive in, here are a couple of…

Things (+ Tips) To Know Before The Scrum Master Interview
The questions you will encounter during a scrum master interview can vary widely based on the interviewer’s company and its values.

You might get asked kinds of questions about indifferent team members, keeping stakeholders in the loop, agile metrics, the barebones of scrum, and more. We’ll pretty much cover everything from exam-like, SDLC, and behavioral to more advanced technical and testing-related interview questions.

Of course, your experience will impact the interview process, as well. Senior scrum masters will get asked questions that an entry-level scrum master wouldn’t stumble upon until later in their career.

Also, regardless of your experience as a scrum master, you should always display curiosity and excitement in front of your interviewer. Tell the interviewer about your background and experience as a scrum master. Share what excites you (and what you think makes you a good fit) about the job position you are applying for. It will, without a doubt, boost your chances of getting hired.

Alrighty, let’s get you prepared for your scrum master interview…

Scrum Master Interview Questions and Answers
[Agile & Scrum-Related]
Explain to me the Agile mindset in your own terms?
If you can’t answer this question on your own then it’s best to go over the Agile Manifesto a couple of times.

How can you say that Agile is working in your organization?
When the products you deliver to the end-user result in higher customer retention rates, upsells, and more customer acquisition.
When the team genuinely feels happy, it can be considered that you are doing alright. There are no team members complaining about work environments. Nobody is leaving (or getting fired) the team.

Lots of submitted job applications can also be considered as a metric for a well-performing Agile organization.

If there aren’t piles of technical debt, bugs aren’t present, and there’s less time spent on maintenance, you can say that Agile is going well in your company.

What is the difference between Agile and Scrum (another newbie question)?
If you still struggle with explaining in simple terms, here’s a more straightforward definition that can make things easier for you: Agile is a philosophy. Scrum is a framework and subset of Agile.

Agile describes a set of ideals and values. In contrast, Scrum gives you principles through which you can make your project management easier.

What’s your criticism of Scrum?
This can be quite an interesting question as it’s quite unusual. It shows your point of view and rationalization process to a degree. That’s something you should personally answer without having someone else tell you the “correct” answer. Some developers consider the daily scrums to be a waste of time to a certain degree. Others believe that sprints can be managed better allocating more time to fixing the technical debt.

#scrum #scrum master #interview questions #interview answers #agile coach #scrum guide #scrum agile #scrum master certification #scrum leadership #scrum master role

Madyson  Reilly

Madyson Reilly

1602931740

Kick-Off Your Agile Team With A Working Agreement Workshop

The canvas, created by Avi Schneier and the Scrum Inc team [1], encourages the team to ask questions that go to the heart of team dynamics, from the norms and guidelines they agree to abide by, to the skills they bring to the table and the skills they want to learn from each other, to how they celebrate success and learn from failure. In this article, I will discuss how I adapted Avi’s original canvas to the needs of the teams I was coaching, elaborate on the different elements of a working agreement, and share with you a step-by-step guide to facilitating collaborative working agreement development workshops.

The 8 Canvas Blocks In a Glance:

Team Name and Motto:

Having a team name that all team members can identify with is one aspect of establishing the team’s unique identity. A Team name should be created (and agreed on) by the team on their own. There are many anecdotal accounts[2] about how coming together under a common team name helps the team run much more smoothly and efficiently (Plus, it’s fun to come up with a great team name together!) In a recent working agreement canvas workshop I facilitated, and since there were so many Harry Potter fans in the group, they chose to be called _Team Slytherin. _You should’ve heard the laughs as they attempted to come up with that name!

The Motto is the team’s catch-phrase. Some teams opt for something that captures in a few words what they consider the essence of good teamwork, while others prefer something more tongue-in-cheek. I love to observe the dynamic of a team and how they learn more about each other’s personalities as they try to come up with a motto.

#devops #agile adoption #agile teams #agile and devops #agile adaptation #agile practices #agile application delivery #agile culture #agile applications #agile product development

Maud  Rosenbaum

Maud Rosenbaum

1603305660

Identifying Non-Functional Requirements (NFR) As Part of Your Agile Project Inception

NFRs:

In addition to the customer value-adding Epics and User stories you typically brainstorm in story writing workshops, the team needs to consider & plan for how to meet critical non-functional requirements that are also essential to the success of the product. These include things like performance, security, reliability, etc. To truly differentiate your product from the competition, think about NFRs not merely as compliance must-haves, but as distinguishing factors and essential contributors to the value proposition of the product. A big part of why our product is superior to the competition could be because it is more secure, more reliable, faster, etc.

NFRs include things like performance, flexibility, usability, maintainability, audit, logging, data migration, availability, reliability, recoverability, traffic/user volume, security, globalization/localization, etc.

In practice, we need to look at each of these non-functional requirements and answer 3 broad questions:

  • What is our _Definition of Success _for this NFR? Exploring this question is critical in order to determine how much time and effort we need to dedicate to this NFR.

Let us take usability as an example: here is an excerpt of the Definition of Success for the Usability NFR from a team I coached recently:

  1. the system should be accessible remotely via a virtual desktop
  2. users should be able to customize the user interface
  3. users should be able to use keyboard shortcuts to access frequently used features
  4. response time for the system should be <n seconds
  5. user should be able to have multiple instances of the system open at the same time
  6. the system should have a usability score on the System Usability Scale (SUS) of 68 or higher.

#devops #agile adoption #agile teams #agile and devops #agile adaptation #agile practices #agile application delivery #agile culture #agile applications #agile product development

Mike  Kozey

Mike Kozey

1656151740

Test_cov_console: Flutter Console Coverage Test

Flutter Console Coverage Test

This small dart tools is used to generate Flutter Coverage Test report to console

How to install

Add a line like this to your package's pubspec.yaml (and run an implicit flutter pub get):

dev_dependencies:
  test_cov_console: ^0.2.2

How to run

run the following command to make sure all flutter library is up-to-date

flutter pub get
Running "flutter pub get" in coverage...                            0.5s

run the following command to generate lcov.info on coverage directory

flutter test --coverage
00:02 +1: All tests passed!

run the tool to generate report from lcov.info

flutter pub run test_cov_console
---------------------------------------------|---------|---------|---------|-------------------|
File                                         |% Branch | % Funcs | % Lines | Uncovered Line #s |
---------------------------------------------|---------|---------|---------|-------------------|
lib/src/                                     |         |         |         |                   |
 print_cov.dart                              |  100.00 |  100.00 |   88.37 |...,149,205,206,207|
 print_cov_constants.dart                    |    0.00 |    0.00 |    0.00 |    no unit testing|
lib/                                         |         |         |         |                   |
 test_cov_console.dart                       |    0.00 |    0.00 |    0.00 |    no unit testing|
---------------------------------------------|---------|---------|---------|-------------------|
 All files with unit testing                 |  100.00 |  100.00 |   88.37 |                   |
---------------------------------------------|---------|---------|---------|-------------------|

Optional parameter

If not given a FILE, "coverage/lcov.info" will be used.
-f, --file=<FILE>                      The target lcov.info file to be reported
-e, --exclude=<STRING1,STRING2,...>    A list of contains string for files without unit testing
                                       to be excluded from report
-l, --line                             It will print Lines & Uncovered Lines only
                                       Branch & Functions coverage percentage will not be printed
-i, --ignore                           It will not print any file without unit testing
-m, --multi                            Report from multiple lcov.info files
-c, --csv                              Output to CSV file
-o, --output=<CSV-FILE>                Full path of output CSV file
                                       If not given, "coverage/test_cov_console.csv" will be used
-t, --total                            Print only the total coverage
                                       Note: it will ignore all other option (if any), except -m
-p, --pass=<MINIMUM>                   Print only the whether total coverage is passed MINIMUM value or not
                                       If the value >= MINIMUM, it will print PASSED, otherwise FAILED
                                       Note: it will ignore all other option (if any), except -m
-h, --help                             Show this help

example run the tool with parameters

flutter pub run test_cov_console --file=coverage/lcov.info --exclude=_constants,_mock
---------------------------------------------|---------|---------|---------|-------------------|
File                                         |% Branch | % Funcs | % Lines | Uncovered Line #s |
---------------------------------------------|---------|---------|---------|-------------------|
lib/src/                                     |         |         |         |                   |
 print_cov.dart                              |  100.00 |  100.00 |   88.37 |...,149,205,206,207|
lib/                                         |         |         |         |                   |
 test_cov_console.dart                       |    0.00 |    0.00 |    0.00 |    no unit testing|
---------------------------------------------|---------|---------|---------|-------------------|
 All files with unit testing                 |  100.00 |  100.00 |   88.37 |                   |
---------------------------------------------|---------|---------|---------|-------------------|

report for multiple lcov.info files (-m, --multi)

It support to run for multiple lcov.info files with the followings directory structures:
1. No root module
<root>/<module_a>
<root>/<module_a>/coverage/lcov.info
<root>/<module_a>/lib/src
<root>/<module_b>
<root>/<module_b>/coverage/lcov.info
<root>/<module_b>/lib/src
...
2. With root module
<root>/coverage/lcov.info
<root>/lib/src
<root>/<module_a>
<root>/<module_a>/coverage/lcov.info
<root>/<module_a>/lib/src
<root>/<module_b>
<root>/<module_b>/coverage/lcov.info
<root>/<module_b>/lib/src
...
You must run test_cov_console on <root> dir, and the report would be grouped by module, here is
the sample output for directory structure 'with root module':
flutter pub run test_cov_console --file=coverage/lcov.info --exclude=_constants,_mock --multi
---------------------------------------------|---------|---------|---------|-------------------|
File                                         |% Branch | % Funcs | % Lines | Uncovered Line #s |
---------------------------------------------|---------|---------|---------|-------------------|
lib/src/                                     |         |         |         |                   |
 print_cov.dart                              |  100.00 |  100.00 |   88.37 |...,149,205,206,207|
lib/                                         |         |         |         |                   |
 test_cov_console.dart                       |    0.00 |    0.00 |    0.00 |    no unit testing|
---------------------------------------------|---------|---------|---------|-------------------|
 All files with unit testing                 |  100.00 |  100.00 |   88.37 |                   |
---------------------------------------------|---------|---------|---------|-------------------|
---------------------------------------------|---------|---------|---------|-------------------|
File - module_a -                            |% Branch | % Funcs | % Lines | Uncovered Line #s |
---------------------------------------------|---------|---------|---------|-------------------|
lib/src/                                     |         |         |         |                   |
 print_cov.dart                              |  100.00 |  100.00 |   88.37 |...,149,205,206,207|
lib/                                         |         |         |         |                   |
 test_cov_console.dart                       |    0.00 |    0.00 |    0.00 |    no unit testing|
---------------------------------------------|---------|---------|---------|-------------------|
 All files with unit testing                 |  100.00 |  100.00 |   88.37 |                   |
---------------------------------------------|---------|---------|---------|-------------------|
---------------------------------------------|---------|---------|---------|-------------------|
File - module_b -                            |% Branch | % Funcs | % Lines | Uncovered Line #s |
---------------------------------------------|---------|---------|---------|-------------------|
lib/src/                                     |         |         |         |                   |
 print_cov.dart                              |  100.00 |  100.00 |   88.37 |...,149,205,206,207|
lib/                                         |         |         |         |                   |
 test_cov_console.dart                       |    0.00 |    0.00 |    0.00 |    no unit testing|
---------------------------------------------|---------|---------|---------|-------------------|
 All files with unit testing                 |  100.00 |  100.00 |   88.37 |                   |
---------------------------------------------|---------|---------|---------|-------------------|

Output to CSV file (-c, --csv, -o, --output)

flutter pub run test_cov_console -c --output=coverage/test_coverage.csv

#### sample CSV output file:
File,% Branch,% Funcs,% Lines,Uncovered Line #s
lib/,,,,
test_cov_console.dart,0.00,0.00,0.00,no unit testing
lib/src/,,,,
parser.dart,100.00,100.00,97.22,"97"
parser_constants.dart,100.00,100.00,100.00,""
print_cov.dart,100.00,100.00,82.91,"29,49,51,52,171,174,177,180,183,184,185,186,187,188,279,324,325,387,388,389,390,391,392,393,394,395,398"
print_cov_constants.dart,0.00,0.00,0.00,no unit testing
All files with unit testing,100.00,100.00,86.07,""

Installing

Use this package as an executable

Install it

You can install the package from the command line:

dart pub global activate test_cov_console

Use it

The package has the following executables:

$ test_cov_console

Use this package as a library

Depend on it

Run this command:

With Dart:

 $ dart pub add test_cov_console

With Flutter:

 $ flutter pub add test_cov_console

This will add a line like this to your package's pubspec.yaml (and run an implicit dart pub get):

dependencies:
  test_cov_console: ^0.2.2

Alternatively, your editor might support dart pub get or flutter pub get. Check the docs for your editor to learn more.

Import it

Now in your Dart code, you can use:

import 'package:test_cov_console/test_cov_console.dart';

example/lib/main.dart

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        // This is the theme of your application.
        //
        // Try running your application with "flutter run". You'll see the
        // application has a blue toolbar. Then, without quitting the app, try
        // changing the primarySwatch below to Colors.green and then invoke
        // "hot reload" (press "r" in the console where you ran "flutter run",
        // or simply save your changes to "hot reload" in a Flutter IDE).
        // Notice that the counter didn't reset back to zero; the application
        // is not restarted.
        primarySwatch: Colors.blue,
        // This makes the visual density adapt to the platform that you run
        // the app on. For desktop platforms, the controls will be smaller and
        // closer together (more dense) than on mobile platforms.
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key? key, required this.title}) : super(key: key);

  // This widget is the home page of your application. It is stateful, meaning
  // that it has a State object (defined below) that contains fields that affect
  // how it looks.

  // This class is the configuration for the state. It holds the values (in this
  // case the title) provided by the parent (in this case the App widget) and
  // used by the build method of the State. Fields in a Widget subclass are
  // always marked "final".

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      // This call to setState tells the Flutter framework that something has
      // changed in this State, which causes it to rerun the build method below
      // so that the display can reflect the updated values. If we changed
      // _counter without calling setState(), then the build method would not be
      // called again, and so nothing would appear to happen.
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    // This method is rerun every time setState is called, for instance as done
    // by the _incrementCounter method above.
    //
    // The Flutter framework has been optimized to make rerunning build methods
    // fast, so that you can just rebuild anything that needs updating rather
    // than having to individually change instances of widgets.
    return Scaffold(
      appBar: AppBar(
        // Here we take the value from the MyHomePage object that was created by
        // the App.build method, and use it to set our appbar title.
        title: Text(widget.title),
      ),
      body: Center(
        // Center is a layout widget. It takes a single child and positions it
        // in the middle of the parent.
        child: Column(
          // Column is also a layout widget. It takes a list of children and
          // arranges them vertically. By default, it sizes itself to fit its
          // children horizontally, and tries to be as tall as its parent.
          //
          // Invoke "debug painting" (press "p" in the console, choose the
          // "Toggle Debug Paint" action from the Flutter Inspector in Android
          // Studio, or the "Toggle Debug Paint" command in Visual Studio Code)
          // to see the wireframe for each widget.
          //
          // Column has various properties to control how it sizes itself and
          // how it positions its children. Here we use mainAxisAlignment to
          // center the children vertically; the main axis here is the vertical
          // axis because Columns are vertical (the cross axis would be
          // horizontal).
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              'You have pushed the button this many times:',
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headline4,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: Icon(Icons.add),
      ), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}

Author: DigitalKatalis
Source Code: https://github.com/DigitalKatalis/test_cov_console 
License: BSD-3-Clause license

#flutter #dart #test 

Maud  Rosenbaum

Maud Rosenbaum

1604141220

How To Develop Situational Awareness As a New Agile Coach or Scrum Master

Picture this: You’re a Scrum Master or Agile Coach who was brought in to assist a team embarking on a large and complex project. You’re new to the organization, perhaps even to the line of business they’re in. You feel like you need to get up to speed quickly so that you can start contributing effectively, and your years of experience have taught you that every organization and every team is unique. You understand that for you to truly create value, you need to capture the unique context of the team and organization you’re now supporting – that is, you need to develop _situational awareness. _You need to understand what it means to be where you are, the people with whom you are working, and the history, people dynamics, complexity, and many other nuances of the team and organization.

And to be clear, here I’m not talking about project Inception/Inception Sprint/Sprint 0/Project Kick-off, etc. All of that comes later. Rather, the focus of this article is YOU – ensuring that YOU have a systematic way of acquiring, analyzing, and compartmentalizing the information you need in order to understand your surroundings well enough so that you can start contributing effectively to your new team and organization.

This effort to develop a broad understanding of your new environment could also help you (and your team) design a fit-for-purpose project initiation (inception/kick-off) process that leverages what has already been done in the past to develop a shared understanding of what needs to be done in the future and identify areas where the team needs to pay special attention. Have there been customer interviews conducted in the past as part of an effort to envision what an enhanced version of the existing product would look like? Were there any agile success stories from other projects in the organization that could be used as part of your ‘hearts and minds’ campaign to help foster an agile culture and mindset? Have there been any efforts to map the end-to-end flow of work as things stand now? Etc. Content that has already been developed - perhaps for different purposes, be it maps, artifacts, retrospective summaries, etc. could streamline many activities during project kickoff and throughout the project.

#devops #agile adoption #agile and devops #agile adaptation #agile application delivery #agile team #scrum adoption #agile product development