Featured blog posts

Understand the Importance of Having the Product Vision in a Scrum Team

Stories abound of products launched with much fanfare and failing miserably in the market. What does it take to build a software product that sells? W... Read More

Introduction to Hooks in React

Technological change is rapidly impacting our present and our prospects for the future, and so are frontend frameworks, which are emerg... Read More

Fighting Covid-19 Using Data Science, AI, and Machine Learning

The world is suffering from a pandemic, the emergence of the novel Coronavirus has left the world in turbulence. COVID-19, the disease caused by the v... Read More

How to Keep Your Project Moving During the Coronavirus Outbreak

The Coronavirus outbreak has put the world into testing times and quite a frustrating one as well. People are being laid-off from work due to companie... Read More

Advantages and Disadvantages of Angular

What is Angular? Angular is a frontend web application development framework based on TypeScript, built by folks at Google and heavily contribute... Read More

How to use sys.argv in Python

The sys module is one of the common and frequently used modules in Python. In this article, we will walk you through how to use the sys module. We wil... Read More

How to Get the Best Out of Your Machine Learning Course

As a programmer, you understand well how a program works: it runs based on certain commands and statements written by you. However, some smart people ... Read More

Agile Project Management: Best Practices and Methodologies

Agile is an iterative and incremental solution development methodology that focusses on delivering value to the customer by seeking customer feedback,... Read More

Certified Ethical Hacker Jobs and Salaries

Businesses and government organizations need certified ethical hackers (CEHs) to ensure their networks, systems, and applications are secure from ill... Read More

How to Use Scrum Board for Agile Development

What is a Scrum Board?A Scrum Board or an Agile Board is a visual representation of the work planned, progressed, and completed by a scrum team in a s... Read More


Latest Posts

Why and When to Use Agile Frameworks

What does it mean to ‘be agile’? We all want to be agile and nimble. Or in other words a state where we can change quickly, and adapt to the conditions in our environment. The same applies to organizations, where the ability to be agile can spell the difference between success and failure. So, what exactly does “being agile” mean? According to the Agile Manifesto—the holy bible for agile software development, being agile implies a mindset, where we value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer Collaboration over contract negotiation Responding to change over following a plan Values manifest themselves through the way we think and act in various scenarios. We design and implement certain activities with the mindset and associated values as the guiding light. Let’s say someone wishes to be healthy. In this context, being health conscious and the desire to be healthy is the mindset. What do you need to be healthy? Maybe sleep on time, exercise, have a balanced diet, meditate and more such activities. These are “practices” which align with the mindset.What is a framework?Different people may choose a different set of practices with varying degrees of commitment e.g. It may be ok for me if I sleep on time 6 days a week while someone may be ok with good sleep for just 4 days of the week; with varying order Again, I may prefer to exercise at 5 AM followed by a healthy breakfast while someone may prefer to exercise in the evening. Different routines, different activities, different ways of performing these activities-each one has something different that works for an individual. Now, imagine that I have tried the following way of staying healthy – Eating  3 meals a day with no fats along with 3 portions of fruit, cardio exercises for 30 minutes everyday, ensuring a minimum of 8 hours of sleep per day and 30 minutes of meditation in the evening. Also, I completely avoid eating out except on festivals and I give up on taking the elevator completely.Let’s say this has worked wonders for me. Now I share this successful template with others. What have I done? I have effectively created a framework. It is a set of activities, done in a specific way and order which might be helpful for others.Agile FrameworksIt is not very different when it comes to agility. We saw the agile mindset and values a little earlier. There are different ways of implementing the values and principles associated with the agile mindset.  Each of these “ways” has its own set of practices, patterns and personas and are classified as agile frameworks. Some of the most popular agile frameworks are Scrum, Scaled Agile Framework®, Nexus, Large Scale Scrum(LeSS). Now the question is which framework is the best? This is similar to asking which is the best way of being healthy? If the focus is on the mindset and values, one would easily figure out that there is no one or “best” way. Each individual is different and a different “way” of staying healthy may work for each individual. The guiding principles may still be the same- they would be some combination of eating well, getting good sleep, work-life balance, exercise and a relaxed mind.So, what are your options? Let’s start with Scrum, which is the most popular agile framework. Scrum is a simple framework which is very well suited for small teams which are trying to develop a new product or improve an existing product. Scrum is based on the principle of building incrementally with fast feedback loops, typically every 2 weeks- a period generally referred to as a sprint.There are three roles-Product Owner, who represents the customer to the team and hence helps them prioritize “user stories” or slices of value that the team intends to create. The Scrum Master is the facilitator and coach for the team and guides them to get better every day and every sprint. The team creates a product increment every sprint and demonstrates (a thin slice of) the working system that it developed in the sprint to the stakeholders. Based on the feedback they improve the existing slice or start implementing the next most valuable thing.Extreme Programming, also known as XP is another framework which focusses on technical practices. Very rarely does scrum succeed without the focus on technical excellence that XP champions. Extreme programming promotes techniques like pair programming, behavior driven development, test driven development, etc. Scrum and XP are powerful together. In fact, XP started the concept of User Stories which were later adopted by Scrum.If your work is more flow based and your intention is, to improve the lead time for your work items, then Kanban is a great choice. Kanban is suitable for teams who do not need to reset their work every two weeks through the mechanism of sprints. Kanban helps bring in the discipline of limiting work in progress. This helps us  “stop starting” and “start finishing” work.One of the typical challenges that organizations face is that agile manifesto values and principles as implemented by scrum are hard to apply in the context of large organizations where no one team delivers value to a customer directly. In such a scenario, one needs to think about personas, practices and patterns which can be applied in a scaled organization. It is here that scaling frameworks come into the picture. Some of the most popular scaling frameworks are Scaled Agile Framework(SAFe), Large Scale Scrum(LeSS) and Nexus.What is SAFe? An important thing to note is that a framework would work only if its underlying principles and values are well understood. Let us take a deeper look into Scaled Agile Framework®(SAFe®) in this context. SAFe is the most widely used framework when it comes to the topic of scaling. SAFe is a rich body of knowledge with proven practices, patterns and workflows for Business Agility. SAFe is in fact more than just a scaling framework and provides guidance on how enterprises can achieve business agility through lean agile portfolio management practices and agile practices at team and program levels.Image SourceSAFe can be thought of as an “operating system” for enterprise agility that works in parallel to the hierarchical organization but with a different objective. While the hierarchical structure of organizations is optimized for stability, the second operating system i.e. SAFe is optimized for customer centricity and innovation. SAFe is built heavily on principles of Lean in addition to Agile. The origin of Lean Manufacturing was the Toyota Production System developed by Taichi Ohno in the middle of the 20th century. Lean thinking relies heavily on concepts like working in small batches and applying work in progress limits.SAFe has refined the principles of the agile manifesto and by bringing in Lean thinking into the mix, it has developed its own Lean Agile Principles. These principles are powerful and applicable to every part of the organization including portfolio and programs. The guiding philosophy of SAFe is to orchestrate the organization along value streams- which is a sequence of steps describing customer journey. What is more powerful than a cross functional team that plans, develops and demonstrates value creation in short cycles? The answer is a team of teams. SAFe introduces the construct of an Agile Release Train(ART) which is a team of teams organized along a value stream.The Reasons behind SAFe’s successWhat makes SAFe so powerful? It is the acknowledgement of the problem that having agile teams is not sufficient. An agile enterprise needs to be lean and nimble in the way it strategises, hypothesizes, builds and learns from it. SAFe promotes an organization-wide lean agile and systems thinking with lean economics and flow built in. If you are looking for a way to transform an enterprise’s way of collaborating and organizing with customer centricity in mind, SAFe is an excellent choice.SAFe’s overarching guidance at the enterprise level makes it a great de facto choice for all enterprises. If you have prior experience with a framework like Scrum, SAFe makes the transition to business agility smoother. If you do not have any past experience with any agile framework, it helps you understand that every part of the organization needs to come together and collaborate in a fashion that customer success and centricity become our central focus. It is for this very reason that SAFe is the market leader when it comes to agility at scale. If you have tried SAFe and it doesn’t work, it is quite likely that the foundation is weak and its principles and values have not been well understood. This is true for any other framework as well. Do not fall into the trap of adopting the roles and ceremonies of a framework like SAFe without getting the basics right. For example, the starting point of SAFe is getting all leaders through a “Leading SAFe” course so that leaders can unlearn some of the traditional ways of organizational design, responsibilities and measures of success.Generally, no framework is a silver bullet for any problem. The first step is to identify the real problem and take inspiration from a framework or multiple frameworks to solve them. In most cases, a framework cannot be applied directly and in its entirety to an organization. The first step should always be to start with the guidance provided there and gradually evolve parts of it depending on your context. Just as we weigh the options of “build vs buy” when developing a solution, we need to take a similar pragmatic approach when it comes to frameworks. Building one’s own framework from scratch is likely to be costly and time consuming, Instead, buy or reuse an existing framework and improve it through principles of empiricism. This is the secret to succeeding with frameworks. 
Why and When to Use Agile Frameworks

What does it mean to ‘be agile’? We all want... Read More

Measuring Training Effectiveness

We are in an era of continual change, with new innovations disrupting the workplace and resulting in radical new styles of working. The only way that organizations can hope to stay relevant in this competitive age is by adopting the technological advances and transformative models of the future of work.As edge computing, AI and automation forge new paths in today’s business world, companies have realized that employee upskilling has become, more than ever, an imperative. Talent Trends 2020, a study by PwC  indicates that three quarters of CEOs questioned were concerned about whether they would have the talent needed to navigate an uncertain economic future.When questioned on their upskilling programs in reducing skill gaps and mismatches, the global consensus put their perceived effectiveness as only 20%. Even companies with advanced upskilling initiatives reported a meagre 35% rate of effectiveness of their training programs.While upskilling and reskilling can get employees attuned to industry advancements and breed confidence, how can CEOs be sure that the training they are being given is actually having the desired impact?To completely reap the rewards of a continuous learning paradigm, the right measures must be in place to gauge how impactful the training program was.In-depth evaluation is required to judge what is missing from the training sessions, and what can be done to improve the ROI on employee training.And the figures speak for themselves. Today’s businesses are losing whopping amounts of money through ineffective training. Harvard Business Review states that although organizations are collectively spending in excess of $350 billion globally on training, this is money that is not put to the best use.Consider this:A Gartner study finds that 70% of employees feel they lack mastery over the skills needed for their current jobs; Just 12% of employees are confident enough to apply new skills learned through training programs; and In a recent McKinsey survey, 25% of the respondents were certain that the right training could significantly improve performance. So, where exactly are we going wrong? L&D teams often implement training programs without a comprehensive understanding of what defines an effective training program.  Considerable time is wasted as employees spend 11% more learning time than is optimal for best performance. This lost time translates to productivity losses to the tune of up to $134 million. And the wasted investment on L&D functions is at least $6.5 million; money that could have been put to much better use.Just measuring satisfaction scores or course completion targets is not enough, and the true measure of impact should evaluate actual business outcomes post training. Real returns can be judged by the pay-off in terms of time schedules, productivity and financials of the company.Here’s how you can measure the effectiveness of your online training programs!To make the most of your training investment and eke out value for every dollar spent, you should be able to offer your employees the training they need to boost productivity. Here’s how you can do that.1. Pre-training and post training assessmentsLearning programs are usually developed incorporating assessments that can test the employees’ understanding and retention of the theories learnt. By knowing where they have gone wrong, they could build upon their weaknesses and reinforce their strengths till they achieve mastery of the subject matter.These assessments are also useful to judge whether your training program has achieved its goals. For instance, if you find that a majority of the employees are getting stuck at a particular interim assessment, you could take another look at the module to see if the content can be simplified for better understanding.Pre and post tests can measure knowledge gained from undertaking a training course and evaluate whether the training has had the desired effect.Assessments can take the following forms: Before training: The learner’s present level of skills and knowledge is judged. During training: Short tests at regular intervals can help to judge comprehension of concepts learnt. After training: Various evaluation methods could be used to determine whether the training has been effective, and the learning objectives have been achieved. 2. Scenarios and simulationsOnce the training has been completed, how would you know whether your employees have actually absorbed the lessons learnt? Are they able to apply their new skills on the shop floor, for instance, and would you trust them to get it right the first time?Scenarios or real-work situations can put the learner in the driver’s seat, judging their ability to translate the learning to a work-like situation. By creating a series of scenario-based tests, you can determine their level of retention and understanding of the concepts learnt. An ideal scenario-based test is one that is credible and true to life, of which the outcome is easily measured.If your employees are consistently failing the tests, you should look at refining the learning curriculum or providing additional learning content, until they are well versed with all the learning objectives and can apply theory to practice.3. Learning analyticsLearning Management Systems or platforms often have in-built analytics that evaluate the learning journey of your employees. These learning analytics use data collected during the learning journey to trace the efficiency of the learning.For instance, the time spent on each module, the number of attempts of each assessment, and so on can be used to tailor the training for greater effectiveness. As an example, if most of the learners are breezing through a particular module but spending far too long on another, you might want to assess the difficulty levels of the content and adjust it as needed.AI algorithms can further use this data to personalize the learner’s path, giving suggestions as to which are the topics that need further focus. 4. Adoption of technique post training In many instances, the learner may understand the concepts very well during the training—but find themselves at a loss when they have to apply the knowledge to solve a real-world problem.Are your employees putting their newly acquired skills to practice, or falling back into the error of their old ways?Try observing your employers before and after the training session to find out if they are actually achieving the goals of the training. For instance, teams that try to adopt Agile often fall by the wayside, simply because they are more in tune with traditional ways of working and fail to readily transition to the Agile mindset.Post training follow up sessions and technique training can create opportunities for practice, and ensure that the new knowledge acquired is correctly implemented. 5. Measure business impact/ ROI post trainingThe ROI is the clearest indicator of how effective your training strategy is.A Peoplematters article states that in a study, 55% of companies that registered high-growth averaged 30-50 learning hours per employee, while 61% of low-growth companies only spent less than 30 hours of average learning per employee.By knowing the impact of your training programs after a predetermined period post the training, you can get an idea of whether all the effort, time and money you have put in was worth the investment.Estimate the L&D spend, including design and development costs against the benefits that have been observed post implementation of the training. These could be increased sales, more productivity or even a reduction in the customer complaints. Use measurable metrics to chalk out the cost vs performance ratio and determine whether the training strategy has worked the way you wanted it to.6. Feedback from employees When it comes to judging the effectiveness of your training programs, your employees are often your best critics.By collecting their feedback and receptiveness, you can measure the effectiveness of your training program and see what could be done to improve it.Collect data in the form of a survey that could be programmed to rank employee satisfaction on a scale of 1 to 10. Collect suggestions on the topics that were useful and those that were not, and find out from them what the weak areas of your training course were.Above all, your learners should find the course content interesting and valuable, or they will not feel the need to complete it wholeheartedly. If your employees were not engaged and motivated through the learning journey, then you are clearly doing something wrong. 
Measuring Training Effectiveness

We are in an era of continual change, with new in... Read More

What Are the 4 Core Values of Safe

The foundation of SAFe is its 4 core values and it is important to understand these before  jumping into the concepts of SAFe. So, what is SAFe? SAFe is a model for scaling Agile.Agile development is based on iterative and incremental development, in which requirements and solutions evolve through team collaboration. It recommends a time-boxed iterative approach, and encourages rapid and flexible response to change. It is a theoretical framework and does not specify any particular practice that a development team should follow. Agile uses short iterations of 1 to 4 weeks so that the development process is aligned with the changing business needs. Instead of a single-pass development of 6 to 18 months where all the requirements and risks are predicted upfront, Agile adopts a process of frequent feedback where a workable product is delivered after 1 to 4-weeks of iteration.SAFe is particularly well-suited for complex projects that involve multiple large teams at the project, program, and portfolio levels. It enables larger organizations to manage projects with a higher degree of agility, and helps in getting feedback faster from multiple stakeholders across the globe. This accelerated feedback loop leads to higher engagement levels, increased productivity and improved work quality.Core Values of SAFe® Model:-  SAFe has defined 4 core values as part of their framework, which are as follows: Alignment- alignment means that the whole organization has a clear vision of where it’s going, and how it’s working to reach that goal. The whole company has a clear destination, and purposefully moves toward that destination. When a company is misaligned, on the other hand, it’s unlikely to reach its destination, even if it thinks it knows where it’s going. What’s worse is that an organization lacking in alignment doesn’t respond well to changes in direction. In any organization multiple teams contribute to a program to ensure that all the people in the team act as one and are moving in the same direction. Alignment means that the strategic themes and product backlogs are aligned with the vision, roadmap, and backlogs.  Built-in Quality- Built-in quality also means that each team views quality as an enabler of speed and ensures that every product increment reflects the best quality standards. Quality is not added later but rather it’s built in. Transparency- The main reason transparency is crucial is because it makes organizations more robust and resistant to failures. When things go wrong, trust and openness of information make troubleshooting and fixing problems easier. Transparency is an essential ingredient of a healthy organization. This is because it leads to healthy relationships based on trust, which makes for happier and more productive team members. Program execution- Program execution is at the heart of SAFe. Since multiple teams work and integrate a product, SAFe places intense focus on working systems and business outcomes.Flow- Flow can be achieved by test first and continuous delivery pipeline. Agile teams carry out tests at every stage; from the feature, user stories and the code. Right from the time the item was created, testing is done for both functional and non-functional requirements. In order to ensure faster delivery, the team automates the scripts and executes them, ensuring that the test will run faster.  This also helps in continuous delivery pipeline, which means releasing the product much faster and providing the ability to release on demand. Architecture & Design quality- A well designed system’s architecture determines how well the current system supports the current and future business and also helps in making future requirements easier to implement and deliver. While designing, it is always good to apply good coupling/cohesion and with appropriate abstraction/encapsulation which helps in making implementations easier to understand and modify for future requirements. Always ensure that the system must be flexible enough to easily support new requirements. An effective usage of Design Patterns helps in well-known ways to support these principles and provide a common language to ease understanding and readability. It’s advised to explore multiple solutions to arrive at the best design choice, and not just go with the first choice. Code quality- We will achieve code quality by following the below practices: Unit Testing, where developers write test cases by breaking the code into several smaller parts and execute those parts as automated test cases, which in turn help the developer write the code in an effective manner and provide better built-in quality deliverables.  Pair Programming, where 2 developers work on the same station and on the same user story. One will write the code and the other will be the reviewer providing real time feedback. This helps the developers to think about the problems in a broader perspective, even including some unknown edge cases which may come in. This helps in effective built-in quality deliverables.  Coding Standards – Collective ownership should be there with the team for the work that is being delivered. This will reduce the inter dependencies within the team and help individuals add functionality, fix any errors, refactor the code and improve the design. Always following the standard coding standards helps in consistent deliverables. System quality- Design and coding ensures that the underlying system and its artifacts, and the system/product quality are as they should be with no surprises and everyone agrees that the delivered system/product is working as expected producing the desired results and the business value. Release quality- As an organization we must focus on release on demand. Focus should be on the new functionality that is incrementally released for production based on customer demand. Always target smaller/incremental changes for production, which ensures faster, frequent and defect free / riskless release.Transparency - As per SAFe it is best to ensure open communication across all levels of the team. Right from the top to the bottom of the team, there should be clear and open communications about the road map. This can be done by providing PI objectives and ensuring access to everyone on the Jira, Kanban boards, backlogs and to new upcoming initiatives.Program execution- SAFe focuses on working systems and business outcomes and ensures that teams deliver more substantial amounts of solution value, reliably and efficiently. Things always go wrong and do not work out as planned. There must be openness within the team/organization. To ensure openness, trust is required, and trust only exists when the business and development can confidently rely on another to act with integrity, particularly in times of difficulty. Without trust we cannot build high-performance teams or programs. Again, the core value of program execution is key for a successful SAFe implementation. Yes, aligning, checking quality and being transparent cannot be possible as the team cannot execute and deliver the value constantly. An Overview of its Core Values, Principles, Implementation & Program execution:The four Core Values of alignment, built-in quality, transparency, and program execution represent the fundamental key beliefs of SAFe effectiveness.  SAFe provides guiding principles and helps in directive behaviour and action for everyone who participates in  SAFe. Successful teams and programs who implemented SAFe had aligned their organizations along these core values and gained many benefits including employee engagement, productivity, quality, and time to market. How SAFe Core Values stabilize and accelerate the progress of agile teams:SAFe Core Values are responsible for ordering the behaviour and action of an organization working in a SAFe portfolio. Determining core values of an organization is an essential part of its success. Adhering to these values makes the path to accomplishing your business objectives consistent and creates a unified thriving culture.SAFe is essential for Agile Teams and it should be incorporated to help achieve our business goals as it encourages quick adaptability to changes in technology and economic conditions. SAFe promotes collaboration and transparency between the development and the top management with an active interaction between the development team from top to bottom and ensures we attain business value within sustainable time.Regardless of the size of the enterprise, SAFe allows scalability and configurability that suits our business needs, and helps in focusing on delivering working software after every two weeks. Agile Release Train (ART) brings together multiple agile teams on a consistent routine every 8-12 weeks in what is known as a Program Increment (PI). Planning cadence based sessions where agile teams come together to define the goals they wish to achieve is next fixed and time bound. PI planning is a face to face, collaborative, interactive and innovative session that builds team spirit and synergy and promotes the sharing of strategy, common vision and architecture amongst development and the managerial teams.Continuous integration and validation among the teams and constant feedback from customers helps maintain a successful business relationship leaving room for improvement throughout the entire process; which in turn provides significant improvement in business productivity, quality, employee engagement and time to market. Conclusion:SAFe Core Values are responsible for ordering the behaviour and action of an organization working in a SAFe portfolio. Determining core values of an organization is an essential part of its success. SAFe is an industry-proven, value-focused method for scaling Agile at the Enterprise level. SAFe helps teams in large organizations to meet the organization's strategic goals, not just individual project goals.The framework offers the ability to maintain and create a centralized strategy to deliver value. The SAFe model has four levels that centralize the strategic themes of an organization. Centralized strategy is combined with the decentralized agile development execution. Adhering to these values makes the path to accomplishing your business objectives consistent and creates a unified thriving culture for all participants. 
What Are the 4 Core Values of Safe

The foundation of SAFe is its 4 core values a... Read More