SAFe certification cheat sheet
 

Which statement is true about Work-In-Process (WIP) limits?
– Lower limits improve flow [4-5]

What replaces detailed requirements documents? – User Stories

Which two statements describe the responsibilities of the Product Owner? (Choose two.) – Single voice for customer and stakeholders, and to own and manage team backlog [2-15, 2-17]

implementing quality in Lean-Agile environment – Culture

What is an example of a Program event? – Scrum of Scrums

What is the goal of the SAFe House of Lean model? – Value [1-28]

Which responsibility belongs to the Product Owner in the team?
To sequence backlog items to program priorities, events, and dependencies

Which two views does the Iteration Review provide into the Program? (Choose two.) – How the team is doing in the Program Increment, and how the team did on the iteration (sprint) [4-38]

What is an example of a modified Fibonacci sequence? – …5, 8, 13, 20, 40…

What is the benefit of separating release elements from the Solution? – It allows the release of different Solution elements at different times

The Agile Release Train aligns teams to a common mission using a single Vision and what else? – The Program Backlog [2-21]

The “3 Cs” is a popular guideline for writing user stories. What does each of the three C’s represent? (Choose three.) – Card (WIT, Feature, User Story), Conversation (Acceptance Criteria), and Confirmation (Acceptance) [3-10]

What is the role of the System Architect/Engineer? – To guide the teams and support the Architectural Runway [2-21]

What is typically included in the Definition of Done for the team increment? – Stories are accepted by the Product Owner [4-37]

The Inspect and Adapt event always starts with which activity? – The PI System Demo [5-38]

When should a component team be used – To obtain high reuse and technical specialization with a focus on Non-functional Requirements.

Iteration Planning, Iteration Review, and Backlog Refinement are examples of which type of event? – Team events [5-31]

Which factor helps unlock the intrinsic motivation of knowledge workers? – Autonomy [2-4]

Which practices are demonstrated during the Inspect and Adapt event? – Reflect, problem solve, and identify improvement actions

Which statement describes a cadence-based PI Planning event? – It is an all-hands, two day event with the goal to identify impediments that could happen [5-4]

Which statement is true about Iteration planning for Kanban teams? – Kanban teams publish Iteration Goals [3-33]

Which concepts are part of Kanban for teams? – Visualize work flow, limit WIP, improve flow [1-52]

What is one of the typical Kanban class of service for Agile Teams? – Funnel

Why is the modified Fibonacci sequence used when estimating? – It reflects the uncertainty in estimating larger items

A Cumulative Flow Diagram focuses on which curves? – Arrival curve (“to-do”) and Departure curve (“done”)

What is the recommended size of an Agile Team? – 5-9 people (7 +/- 2) but 5-11 on test

SAFe Core Values – Built-in Quality, Alignment, Program Execution, and Transparency

What is the role of the Scrum Master? – To act as a servant leader who helps teams self-organize, self-manage, and deliver using effective Agile practices

What are two reasons Agile development is more beneficial than waterfall development? (Choose two.) – It allows businesses to deliver value to the market more quickly
It increases productivity and employee engagement thanks the using of paystubs information.

If the PI System Demo shows the current state of the Solution, then who is this demo intended for? – The Business Owners

Which statement is true about the PI Planning event? – Everyone in the program over two day period

Goal of SAFe House of Lean model – Value

How does relentless improvement support value in the SAFe House of Lean? – It optimizes the whole

What is the purpose of the Iteration Review? – To measure the team’s progress by showing working Stories to the stakeholders and getting feedback from them

An Agile Team collects the Iteration metrics they have agreed upon during which part of the team retrospective? – During the quantitative part of the team retrospective [4-40]

What is the role of the Release Train Engineer? – 1. To coach teams to improve their results
2. To serve as the Scrum Master for the Agile Release Train

How can a technical exploration enabler be demonstrated? – Show the knowledge gained by the exploration [3-11]

Which three questions should each team member answer during the Daily Stand-up? (Choose three.) – What did I do yesterday to advance the Iteration goals?
What will I do today to advance the Iteration goals?
Are there any impediments that will prevent the team from meeting the Iteration goals? [4-30]

Which practice promotes built-in quality? – TDD

What are the four levels of the Scaled Agile Framework? – Team, Program, Large Solution, Portfolio [1-15]

What visibility should Scrum Masters provide during the Agile Release Train Sync? – Visibility into progress and impediments

Which statement reflects one of the steps for setting initial velocity? – The team members assess their availability, acknowledging time off and other potential duties [3-23]

Which activity is key to successfully implementing the Scaled Agile Framework? – Use a cadence-based PI Planning process

Jane is a Product Owner. It is day seven of the Iteration and her team tells her that they may miss their Iteration commitment. What should Jane do? – Support pulling a story that has not been started.

Quality is first and foremost a function of what in a Lean-Agile environment? – Culture of shared responsibility [4-22]

What are the Five Core Competencies of the Lean Enterprise introduced by SAFe 4.6? –
1. Lean-Agile Leadership
2. Team and Technical Agility
3. DevOps and Release on Demand
4. Business Solutions and Lean Systems Engineering
5. Lean Portfolio Management

On the seventh day of the iteration, the team realizes that they will not complete 5 of 13 Stories. The Product Owner (PO) says she cannot negotiate the scope of the remaining Stories any further. What is the PO’s best course of action? – Stop the current iteration and plan new iteration with new knowledge

What is the major benefit of reducing batch size? – Increases throughput

What is one responsibility of the Scrum Master? – To remove impediments in order to help protect the team

Which statement is true about Features and Stories? – Features can be larger than an Iteration, but Stories should be small enough to fit into an iteration. Each Feature should have at least five stories.

What best supports Innovation in the SAFe House of Lean? – Fast learning cycles

What information does Cumulative Flow Diagram provide? – The data for the team to identify current bottlenecks

Which two statements describe Agile Release Train – 1. It is the primary value delivery construct in the Scaled Agile Framework
2. It is long lived, self-organizing, virtual organization of 5-12 Agile Teams that plan, commit and execute

Which statement defines the purpose of Iteration Planning? – It is to organize the work and define a realistic scope for the Iteration

A decrease in variability leads to an increase in what? – Predictability

What are two behaviors of an effective Scrum Master? – 1. To facilitate the team’s progress towards the Iteration goals
2. To act as a servant leader and exhibit Lean-Agile leadership

Which statement describes the balance between emergent design and intentional architecture when talking about building quality? – It is required for speed of value and solution intent

What is one recommended way of splitting Features into Stories during a PI Planning event? – Implement the simplest variant of the functionality first them implement the rest as an enhancement

Which statement describes the event that occurs at the end of each Iteration to identify the team’s opportunities for continuous improvement? – The Iteration Retrospective

What should be taken into account when estimating Story point size? – Complexity

Product Management is responsible for “what gets built” as defined by the Vision, Roadmap, and what else? – Program backlog

Which statement is true about Iteration Planning? – It is required for every Iteration to enable fast learning cycles

What are three practices of Extreme Programming (P)? – 1. Pair Programming
2. Continuous Integration
3. Test-driven Development

The Scrum Master wants to establish a team’s initial velocity. A team has two testers, three developers, one full-time Scrum Master, and a Product Owner split between two teams. What is their normalized velocity before calculating time off? – 40

What is one key benefit of a Backlog Refinement session? – It provides time to identify dependencies and issues that could impact the net iteration

The Release Train Engineer is a servant leader who displays which two actions or behaviors? – 1. Creates an environment of mutual influence
2. Listens and supports teams in problem identification and decision-making

The Daily Stand-up time-box should not exceed how many minutes? – 15 minutes

A user story includes which three things? – 1. What
2. Why
3. Who

Continuous Deployment (CD) has is elements that, when followed, keep each team member, team, and the Agile Release Train on track. Which two statements best describe elements of CD? – 1. Maintain a staging environment that emulates production
2. Automate testing features and Non-functional Requirements

Which statement describes a cross-functional team? – Each team can define, build and test a component or feature

How does a Team Demonstrate Progress? – With an Iteration Review

When is the System Demo conducted during Program Execution? – At the end of every iteration

What is the recommended length of an iteration? – 2 weeks

What is the goal of the PI Planning event? – To create a plan for the upcoming PI showing how stories map to the iteration

Which statement is true of the Iteration Goals? – They align a team to a common vision of work in the iteration

Which statement is true about pair work in the Scaled Agile Framework? – It comes from pair programming in Extreme Programming (P)

Which statement describes the information within a Story? – A story provides just enough information for the intent to be understood by both business and technical people

What is Scrum? – A lightweight process for cross-functional, self-organized teams

During the Inspect and Adapt event, how are reflection, data collection, problem solving, and identification of improvement actions used? – To increase the quality and reliability of the net PI

A team finishes developing all of their Stories in the first si days of the Iteration, test them in the following two days, and files bugs in the days remaining. How is the team behaving? – They are water falling the Iteration

Which statement is true about the purpose of a Work-In-Process constraint? – It encourages collaboration and enables flow

What does a Program Board help Teams identify? – Dependencies between teams

Which practice promotes built-in-quality? – Iteration Planning

The CALMR approach to DevOps includes Automation, Lean Flow, Measurement, and Recovery. What does the “C” represent? – Culture

What is the role of the Product Owner? – To represent the customer to the Agile Team. To write the stories that make up the team backlog.

What type of visibility should Product Owners provide during the Agile Release Train Sync? – Visibility into Scope and Priority backlog

What type of information can be easily seen in Cumulative Flow Diagram? – Work in Progress across the team. The data for the team to identify current bottlenecks.

According to definition of “Done”, who must provide final approval? – The Release Management

What is one of the is step in problem solving workshop? – Identify the biggest root cause using Pareto analysis

During iteration execution, a team’s velocity tends to be most affected by what? – Changing team size, team makeup, and technical contest

What are the SAFe core values? –
1. Built-in Quality
2. Program Execution
3. Alignment
4. Transparency

Modified Fibonacci Sequence – 5, 8, 13, 20, 40, 80, 100….

Which is a sample of a part of an Iteration Retrospective? – Team discussion around opportunities for continuous improvement

How does a team demonstrate progress? – Agile Team measures and then demonstrates its progress by showing working stories to the Product Owner (PO) and other stakeholders to get their feedback.

https://www.scaledagileframework.com/iteration-review/

Which activity happens in the Inspect and Adapt workshop? – Refining the Program Backlog

An Agile team has two characteristics? – 1. Agile Team is a cross-functional group of 5-11 people who have the responsibility to define, build, test, and where applicable deploy, some element of Solution value
2. A group of dedicated individuals who are empowered, self-organizing, self-managing, and deliver value

SAFe – Scaled Agile Question Bank 4
 

31. An organization is conducting their first PI Planning session, and the new teams are asked to provide their capacity. Which three actions are part of the initial capacity planning process? (Choose three.)
Find a small story that takes about a day to develop and call it a one
Compare final team capacity across all teams and make individual team adjustments
Add the points for all the recently completed Features and use that as a baseline for future capacity
Ensure Product Owner/Product Manager approval for all capacity adjustments based on time
Subtract one point for every team member’s vacation day, public holiday, or training day
Use eight points per person (adjust for part-time employees)

32. What does the Lean UX process begin with?
A benefit hypothesis
A minimum marketable feature
A collaborative design
An evaluation

33. Epics require an Epic Owner and what else?
A Solution Intent
A Lean Business Case
A Definition of Done
An Economic Framework

34. Which two job roles are good candidates for becoming a Product Owner? (Choose two.)
UX Experts
Line Managers
Scrum Masters
Business Analysts

Business and technology

Subject Matter Experts
35. Which role is responsible for working with customers and creating the Vision?
System Architect
Release Train Engineer
Product Manager
Product Owner

36. The first three elements of the Continuous Delivery Pipeline work together to support delivery of small batches of new functionality. These continuous elements include Exploration, Integration, and what else?
Compliance
Deployment
Automation
Execution
37. Why would Product Owners and Product Managers be key collaborators in the enterprise?
They are key roles in steering and sequencing the Agile Release Train priorities
They plan all the key events for the Program Increment
They plan Portfolio strategy horizons for the enterprise
They provide governance and spending practices for the value streams

38. What is one way to establish a team’s velocity?
Look at the average story points completed from the last Iterations
Add the story points for all Features completed in the Iteration
Add the story points for all the stories planned for the Iteration
Calculate the percentage planned versus actual story complete for an Iteration
39. A Lean Business Case can identify the impact on sales and which other two areas? (Choose two.)
Profit
Decomposition
Deployment
Distribution
Architecture
40. The Work-in-Process limit at the Analyzing step of the Program Kanban is based on the overall availability of Product Management, other subject matter experts, and the capacity of which two other roles? (Choose two.)
Business Owners
Agile Portfolio Operations
Release Train Engineer
System Architects
Lean Agile Center of Excellence

Read 41 to 50

SAFe – Scaled Agile Question Bank 3
 

21. Three collaborations make up the Lean Portfolio Management competency: Strategy and Investment Funding, Lean Governance, and what else?
Business Owners

financial performance
System Architect
Scrum Master
Agile Portfolio Operations

22. Which role has the responsibility for accepting stories and team increments?
Scrum Master
Product Owner
Product Manager
Release Train Engineer

23. Features in Program Backlogs can result from what?
Decomposing Enabler Stories
Refining the Team Backlog
Aggregating stories into Features
Splitting Epics or Capabilities

24. What does assigning business value to a team’s PI Objectives influence?
How often team deploys
How teams plan the implementation
How the Kanban WIP limits are set
How to achieve objectives
25. The Product Manager has content authority for the Program Backlog including: the Vision, the Roadmap, driving the PI Objectives, and what else?
Establishing Features and Benefit Hypothesis
Managing risk, helping to ensure value delivery, and driving continuous improvement
Accepting stories and team increments
Working with business stakeholders and Solution and System Architects to implement holistic technology across Value Streams

26. How do Business Owners quantify the value of PI Objectives?
By assigning business value
By totaling the Epic budget
By estimating return on investment
By assigning story points

27. Which statement describes the Team and Technical Agility enterprise competency?
Solution trains that coordinate multiple Agile Release Trains and suppliers
A collaboration that creates Lean budget and investment guardrails
Cross-functional, self-organizing teams that define, build, test and possibly deploy valuable things
A Community of Practice that leads the transformation

28. Product Managers are expected to collaborate in planning the amount of upcoming Enabler work by establishing what?
Team Backlog prioritization
Completed Epic acceptance criteria
Accurate user story sizing
Capacity allocation

29. What are two inputs to the Solution Vision? (Choose two.)
Feature context
Portfolio Backlog
Portfolio Enablers
Strategic Themes
Customer feedback

30. How frequently should the Program Backlog be reviewed?
When the Epic owners are defining the Epic Value Statement
Before every PI
Continuously
Every week

Read 31-40

Digital Transformation – The Buzzword Simplified – Part 2
 

In my last post, I had quickly given a glance to my readers a brief on Digital Transformation – its definitions and elements. In this post, I will look through the Key approaches involved in the digital transformation journeys

Present and future shifts and changes, leading to the necessity of a faster deployment of a digital transformation strategy, can be induced by several causes. This is often at the same time, on the levels of customer behavior and expectations, new economic realities, societal shifts (e.g. aging populations), ecosystem/industry disruption and (the accelerating adoption and innovation regarding) emerging or existing digital technologies. In practice, end-to-end customer experience optimization, operational flexibility and innovation are key drivers and goals of digital transformation, along with the development of new revenue sources and information-powered ecosystems of value, leading to business model transformations and new forms of digital processes. However, before getting there it’s key to solve internal challenges as well, among others on the level of legacy systems and disconnects in processes, whereby internal goals are inevitable for the next steps. The human element is key in it on all levels: in the stages of transformation as such (collaboration, ecosystems, skills, culture, empowerment etc.) and obviously in the goals of digital transformation. Since people don’t want ‘digital’ for everything and do value human and face-to-face interactions there will always be an ‘offline’ element, depending on the context.

Hence A digital transformation strategy aims to create the capabilities of fully leveraging the possibilities and opportunities of new technologies and their impact faster, better and in more innovative way in the future. A digital transformation journey needs a staged approach with a clear roadmap, involving a variety of stakeholders, beyond silos and internal/external limitations. This roadmap takes into account that end goals will continue to move as digital transformation de facto is an ongoing journey, as is change and digital innovation.

The way we successfully strategize will be based on we ask the right questions and collect right/adequate responses. The illustration below depicts this in a detailed fashion.

Many executives feel like they are viewing a good jigsaw puzzle that they have to finish, and they have a bunch of pieces but they don’t know if they have all the pieces, and they don’t know what the finished picture looks like. As mentioned this doesn’t happen overnight and requires a series of incremental steps. And here the goal or ‘the what, why and how’ becomes a mix of intermediate goals and broader objectives within which they gain more significance.

5 Steps in Digital Transformation

Finally, the reason why we would prefer to speak about accelerated business transformation or, if needed, digital business transformation, is that it’s just a matter of time before no one makes a distinction between digital and physical or offline and online. Customers, for instance, don’t think in these terms at all, nor in the terms of channels.

How to lead a digital transformation

To meet shifting customer expectations, many CIOs are aligning with key executives, making sweeping organizational changes, reskilling employees, setting up innovation labs and experimenting with emerging technologies to meet strategic mandates issued by their CEOs and boards.

One of the first things companies should do in embarking on a digital transformation is answer the critical question: What business outcomes do you want to achieve for customers? It definitely starts   with the business outcomes and the new business models you are going after and working backwards from there. Here, a keen understanding of your customer journey map and lifecycle is key. Consider the process of settling an insurance claim, which typically takes 7 to 14 business days and requires a lot of paper shuffling. Thanks to algorithms and mobile applications, consumers and claims officers can resolve claims in minutes.

Approach to Digital Transformation

Digital transformation hits each industry. But it can also affect all activities, divisions, functions and processes of the organization as it can impact the very business model as such.

CapGemini Consulting was one of the first to come up with the concept of digital transformation and a digital transformation framework as you can see below. The company did so in collaboration with the ‘MIT Center for Digital Business‘ during a three-year study which defined an effective digital transformation program as one that looked at the what and the how.

The McKinsey chart below shows just aspects where digital transformation can play:

  • The (digital) customer experience (as said, de facto a key element with many digital transformations being a mix of customer experience optimization and process improvement – and cost savings).
  • Product and service innovation where, for instance, co-creation models can be used.
  • Distribution, marketing and sales: another usual suspect and in practice an area (along with customer service) that is often one of the earliest areas undergoing digital transformations.
  • Digital fulfillment, risk optimization, enhanced corporate control, etc.

Others we can add include:

  • Intelligent information management (with information, data and the processes they feed being key and a focus on activation).
  • Customer service, customer experience management and contact centers, customer relationship management.
  • Work, human resources, new ways of collaborating, workforce engagement and enablement (agile working, social collaboration, enterprise collaboration, unified communications).
  • Learning and education.
  • Procurement, supply chain management (with the digital supply chain) and supplier relationships.

It’s important to remind that in a digital transformation (and, for that matter digital business) context, all these aspects, functions, processes, etc. are interconnected and silos have less (or no) place, not from a technological perspective but most of all also not from a process and people perspective.

Stay tuned…. Part 3 of this foray, we will look into the tips, key roles and pitfalls to any Digital transformation journey. Please feel free to review my earlier series of posts 

Please feel free to review my earlier series of posts 

Authored by Venugopala Krishna Kotipalli

The Culture Code – Daniel Coyle – A Quick Book Review
 

Figure – what is common among a special Operations Military Unit, a professional movie studio, a Professional Basketball Team, and of course a Gang of Jewel Thieves?

Confused how this most diverse set of groups can have anything in common – The one loud response I could gather was exemplary Team Culture.  Team culture is one single most powerful force to achieve the maximum outcome in any undertaking.

In the Culture Code, Daniel Coyle, takes us deeper into the team-building aspects of some of the leading organizations in the world.

Coyle starts with a definition of culture that’s a little bit different than the norm. He says, “Culture is a set of living relationships working toward a shared goal. It’s not something you are, it’s something you do.” So, what is it that you do? What do people in organizations that create strong cultures do that their peers in other organizations don’t do?

Culture Code - Daniel Coyle

There are three most significant skills at the heart of great teamwork as per the book.

  1. Build safety to make everyone feel comfortable in working together

Safety is an important enabler that allows us to do great work. For example, keeping our day job can help us practice our creativity freely in a side hustle. Similarly, a work environment in which you feel safe in acting as you naturally would and speaking your mind is very conducive to group work. It’s only natural: you don’t want to keep looking over your back all the time, because if you need to, you can never really focus on the task at hand. Anybody could predict the outcomes of negotiations within five minutes of starting a session. That’s because how close we are to our co-workers, whether we mimic their behavior, and look into their eyes, are instant tells of how safe we feel. One good way to make others feel safer is to confirm you understand what they’re telling you by occasionally interjecting affirmations like “uh-huh,” “yes,” “got it,” and so on. Just don’t interrupt them.

  1. Share vulnerability to show no one needs to be perfect

When we share our own flaws with others, something amazing happens. He calls it a vulnerability loop, in which other people detect when we signal vulnerability, thus signal vulnerability too, and thus both parties become closer and trust each other more. Workplaces are usually seen as competitive, especially in the Western world, we think we need to look confident and powerful all the time. But that’s not true. It’s usually the person who takes the first step in admitting they’re not perfect, who’s perceived as a leader, not the one who berates others for being weak.

Vulnerability not just increases trust, it’s also a way to show acceptance: if you admit no one’s perfect, people will feel okay even after making mistakes, which are inevitable in accomplishing a shared goal.

  1. Establish purpose through a common goal and a clear path to get there

Put simply, the purpose is a set of reasons for doing what you do. In the case of a group, it’s the sum of all beliefs and values among your team, as they relate to achieving your common goal. That goal might be something straightforward, like selling the most phones any company has ever sold, but ideally, it’s about something bigger, like making phone users feel special and that they have good taste. Since the goal is in the future, but your group lives in the now, your purpose should be like a bridge between the two. Thus, if you can come up with a simple narrative as to how your purpose will help you go from today to tomorrow and reach your goal, you’ll be able to activate those around you.

With safety, vulnerability, and purpose all in one place, it’ll be almost impossible to stop you and your team from accomplishing whatever you set out to do! There are several chapters about each skill. There’s a good mix of stories and studies. Coyle chooses his examples carefully and tells their stories well. He doesn’t use bullet points or frequent summaries, so sometimes you will work to tease out his meaning.

Most business authors put summaries of key points or action steps at the end of every chapter. Coyle doesn’t. Instead, he includes a chapter at the end of every section, titled “Ideas for Action.” That chapter functions as a review of the other chapters in the section. I think that’s a good device, but I’d rather he also put his key points at the end of every chapter.

I thoroughly reinstated my beliefs of building team cultures after reading this book and will recommend this book to anyone who is interested in the transformation of the team culture.

You can buy “The Culture Code” book here

 

 

Agile Myths
 

Myth 1. Stand-up is a status meeting
Reality – The Daily standup is a Planning Meeting. It promotes Collaboration, Self-Organization, Enables inspection and Adaptation, Focus on achieving the outcome.

Myth 2. Pair programming decreases the productivity
Reality – The pair programming increases the productivity in majority of the cases if done in right way.

Myth 3. Agile doesn’t need project manager
Reality – The Scrum Master plays a role of a project manager.

Myth 4. Agile is another word for Scrum.
Reality – The Scrum is one of the Agile framework. There are many more like Kanban, XP, FDD etc.

Myth 5. Agile is faster than Waterfall
Agile is less about delivering software faster, and more about delivering value faster.

Myth 6. Agile means no documentation
Agile doesn’t do documentation for documentation’s sake. Documentation is like any other deliverable on an Agile project. It gets estimated, and prioritized like any other user story.

Myth 7. We’re a self-organizing Agile team, so we can do anything we want
Reality – The core principles are not allowed to be tailored. It is a lightweight process while the core practices are expected to be followed.

Myth 8. Agile is a silver bullet
Reality – The projects done in Agile do fail. It cannot be an excuse to stop thinking. Agile promotes fail faster philosophy so that one can learn from it.

Myth 9. The story points can be exactly translated to hours.
Reality – When the team gets mature, you can translate it to approx but not exact hours.

Myth 10. The product owners, developers and scrum masters get to do what they like.
Reality – The Agile is very disciplined framework. Every role has set of responsibilities. The core responsibilities should not be switched.

Myth 11. There is always a right size for a user story.
Reality – Every team is different hence there is no right size of the user story. The team producing 30 story points can be more productive than the team doing 45 story points.

Myth 12. Agile means no planning, no design
Reality – Agile typically needs more planning and design than waterfall. Both of these activities happen throughout the development.

Choosing between Trunk based development(TBD) vs Feature branching
 

In a development environment like scrum, XP the branching strategy can significantly impact the overall speed of delivery of the product. There has been detailed documentation on the various branching strategies, and you can encounter TBD (Trunk based development), feature branching. In this article,  am covering the various factors that can impact the success or failure of a these branching strategy.

What is feature branching:

In this method, there is a code branch created for each and every feature. In agile based environments, typically, a branch is created for every story in the sprint.

 

What is Trunk based Development (TBD): When a single trunk/branch is used to create all the features of the product, then its called Trunk based development. Often a release branch is created when ever there is a release that is pushed to production.

Following are the various factors to look at before selecting Trunk based vs feature branching.

  • location of team members: when team members are co-located, the trunk is the best bet, helps us to get faster feedback. Also team can just talk about the code changes directly. Since the feedback will be faster in a single trunk, the team need to sync up more frequently. Co-location enables this sync trunk changes to happen frequently and faster. When there is a distributed environment (often in our teams), feature branching works best.

  • speed development environment: In a high speed dev environment, the trunk just shines as there are less and less process overhead, like branching, Pull request, review etc. Feature branching shines well when there is less speed in churning code.

  • size of code base: Insanely higher number of code lines can be better handled using feature branching. But for smaller code base, the cost of creating branches etc can be higher.

In our team meetings, we often talk about the right tools for the problem at hand. And using the right branching strategy is an important decision. We often question ourselves if the strategy is right for the given epic/sprint. If the answer is NO for few sprints, we know, we need to change something!

Please comment and let us know your opinion.

Docker – Basics and Benefits
 

Docker

How many times have you encountered a situation where the software built on one platform doesn’t work on another platform? It is a very expensive affair to ensure that your software works on all the platforms (Mobile, Tablets, PC and so on). This is one of the crucial problems which Docker helps you to resolve but this is not it. There is much more to Docker which we will explore as we move in my upcoming blogs.

Docker is a container management service or a tool which is designed to help developers to deploy and run applications by using containers.  It ensures that the code will behave the same regardless of environment/platform.

Key components of a Docker

  1. Docker File – A dockerfile is a text document that contains series of all the commands a user a make use of to create a Docker Image. The Docker images are automatically built by reading the instructions from a dockerfile.
  2. Docker Image – It’s a lightweight snapshot of a virtual machine. It is essentially an application with all its requirements and dependencies (read-only copy of OS libraries, application libraries etc.). When you run a Docker image, you get a Docker container. Once a Docker image is created, it guarantees to run on any Docker platform. These can be retrieved to create a container in any environment.
  3. Docker Registry – A Docker image can also be stored at online repository called Docker hub.  You can also store your image in this cloud repository (https://hub.docker.com/). You can also save these images to your version control system.
  4. Docker Container – A Docker container is nothing but a Runtime instances of Docker images.

Benefits of a Docker

  1. Build your application once and use it in multiple environments without the need of building or configuring once again. The application built on dev environment guaranteed to work in prod environment.
  2. Centralized Docker repository makes it very easy to store and retrieve. Moreover, you don’t need to build the image from scratch.  You can always leverage existing image and go from there.  The sharing of an image becomes very simple as well.
  3. Version Control – You can always create next image and version control them.
  4. Isolation – Every application works inside its own container and never interfere with other containers.  If you no longer need an application, you can delete its container. Every container has it’s own resources hence there is going to be no challenge.
  5. Security – The isolation ensures that the applications that are running on containers are completely segregated. The container cannot look into or have a provision to control processes running on other containers. This greatly enhances security.
  6. Multi-cloud platforms/Portability – The image built on Amazon EC2 would very well be ported to Microsoft Azure.
  7. Productivity – This is an implicit benefit of using Docker. The speed of development is much faster as the main focus is writing code and business over worrying extensively about deployment/testing.