Gennaro Cuofano's Blog, page 177
January 11, 2021
Behavior-Driven Development In A Nutshell

Behavior-Driven Development (BDD) is a process that gives examples of how software should behave in various scenarios. This behavior is written in a format that is easily understood, tested, and integrated.
Understanding Behavior-Driven DevelopmentDuring the software development process, there are often one or more disconnects present:
The business is unable to define the desired outcome(s).The developer has little understanding of what needs to be built. In other words, the needs of the business.The business, in turn, has little understanding of the technical challenges associated with building the product.Fundamentally, the disconnect is caused by a lack of communication. BDD seeks to bridge the communication gap between the business and the developer, resulting in products that deliver value, meet goals, and fulfill expectations.
In the next section, we will take a closer look at how this is achieved.
Implementing BDD practicesBDD is an approach that incorporates elements of Test Driven Development (TDD) and Acceptance Test-Driven Development (ATDD).
Indeed, developers who use BDD write acceptance criteria in a standard format that promotes clarity, easy integration, and automated testing. These criteria consist of vocabulary that stakeholders, experts, and engineers can all understand and agree upon.
Acceptance tests should be written using common templates such as the “Given-When-Then” formula or the “Role-Feature-Reason” matrix.
Each test in turn should be based on a user story using ubiquitous language. For example, software that processes loan applications should ideally have classes such as LoanApplication and Customer.
To further simplify the process, BDD incorporates domain-specific language (DSL) which uses English-like sentences to express both behaviors and desired outcomes.
Advantages and disadvantages Behavior-Driven DevelopmentA business that is planning to implement BDD should be aware of the list of potential advantages and disadvantages to its software team.
AdvantagesBetter communication. This is perhaps the most obvious benefit of BDD, but extremely important in delivering value and increasing process efficiency.Shorter learning curve. Since BDD uses simple language, the learning time is naturally reduced.Increased reach. Another benefit of simple language is that it can reach a wider audience. This promotes stakeholder engagement and fosters a sense of collaborative work toward a shared vision.Discovery workshops. At the beginning of a project, BDD discovery workshops unearth additional capabilities and complexities. Specifications are detailed and described in terms of application behavior, so edge cases and many of the finer details are identified early. Ultimately, being aware of more scenarios initially leads to less rework during the later stages of the project.DisadvantagesPrior experience. Although the focus of BDD is on simplicity, it does assume that practitioners have some experience in Test Driven Development.Incompatibility. The BDD methodology is incompatible with linear project management approaches such as the waterfall model.Reliance on the Three Amigos. A critical component of BDD is the regular and collaborative nature of communication between the developer, tester, and business. When one or more of the amigos is unwilling to devote the time or effort to communicate, the validity of user stories is compromised.Key takeawaysBehavior-Driven Development is a means of increasing the collaboration between business people and technical people during agile software development.Behavior-Driven Development encourages teams to use simple language and concepts to formalize a shared understanding of how an application should behave.If implemented successfully, Behavior-Driven Development increases collaboration, communication, and increased reach. However, it does rely heavily on total commitment from each of the Three Amigos.Read Next: Business Analysis, Competitor Analysis, Continuous Innovation, Agile Methodology, Lean Startup, Business Model Innovation, Project Management.
Main Free Guides:
Business ModelsBusiness StrategyBusiness DevelopmentDigital Business ModelsDistribution ChannelsMarketing StrategyPlatform Business ModelsTech Business ModelThe post Behavior-Driven Development In A Nutshell appeared first on FourWeekMBA.
AgileSHIFT And Why It Matters In Business

AgileSHIFT is a framework that prepares individuals for transformational change by creating a culture of agility.
Understanding AgileSHIFTIn a highly competitive environment, many businesses understand the importance of adopting agile methodologies in safeguarding future success. However, there is often discord within the organization as to how these practices might be implemented.
Unfortunately, agile only works when the entire organization adopts a culture of agility. This means that the HR, Finance, Operations, Marketing, and Legal departments need to work in unison.
In the context of AgileSHIFT, a culture of agility can be thought of as a “survive, compete, and thrive” mindset.
Ultimately, this mindset helps an organization move from its current state to a future, desired, agile state. AgileSHIFT provides guidance on how organizations can embrace a culture of enterprise agility and in so doing, build a resilient culture with a focus on delivering value to clients.
AgileSHIFT training incorporatesThe reasons for change and why every employee needs to accept and embrace change. AgileSHIFT also recognizes common barriers to change on the individual and organizational levels.A primer on agile and why the organization is adopting agile ways of operating. Clarification is also given on the difference between organizational agility and the specific techniques that enable it.An agile framework that is appropriate for the specific needs of the business itself. In other words, what principles or practices will help individual employees embrace the new culture? There must be an “out-of-the-box” agile method that any team can implement easily and effectively.Key benefits of AgileSHIFT to businessAgileSHIFT is a relative newcomer to the suite of agile processes. For those decision-makers unaware of the methodology, consider these benefits.
A targeted yet holistic approach.A unique feature of AgileSHIFT is that it considers the entire ecosystem of an organization. Instead of somewhat isolated individuals or teams being made aware of the change, the impetus for change is provided to every department.
Institutional change that occurs simultaneously means that employees adapt to new circumstances at the same time. This means that transformation – which is often costly and time-consuming – can proceed relatively quickly and effectively.
AdaptabilityWith the entire organization trained in agile, it can take advantage of new business opportunities more quickly. This might include the integration of new technology, accommodating new clients, or the re-organization of internal structure.
If done correctly, each opportunity can give the business a competitive advantage.
Change is inevitable in business, but only the most prepared organizations will be able to use change to their advantage.
PreparednessTo adequately prepare for change, the business must create a stable change environment. Businesses can facilitate this so-called ‘stable dynamism’ by hiring new talent or upskilling employees with appropriate agile training. Of course, the business must first recognize that agile traits are beneficial before they begin upskilling employees.
Key takeawaysAgileSHIFT is a framework that facilities a culture of change and enterprise agility within an organization.AgileSHIFT training recognizes the barriers to change at the individual and organizational levels. To some extent, these barriers are overcome by espousing the benefits of agile practices and ensuring that they are simple to implement.AgileSHIFT makes the process of change more cost-effective for businesses and makes them more adaptable to new opportunities. AgileSHIFT also creates a stable change environment that allows businesses to negotiate the inevitable nature of change itself.Read Next: Business Analysis, Competitor Analysis, Continuous Innovation, Agile Methodology, Lean Startup, Business Model Innovation, Project Management.
Main Free Guides:
Business ModelsBusiness StrategyBusiness DevelopmentDigital Business ModelsDistribution ChannelsMarketing StrategyPlatform Business ModelsTech Business ModelThe post AgileSHIFT And Why It Matters In Business appeared first on FourWeekMBA.
Agile Portfolio Management In A Nutshell

Agile Portfolio Management (AgilePfM) is a high-level change management framework that ensures that business change strategy remains under continuous review. AgilePfM reviews changes in a business environment and then coordinates similar changes within the business itself.
Understanding Agile Portfolio ManagementAgile Business Change philosophy states that “best value emerges when business changes are aligned to clear business goals, deliver frequently and are powered by the effective leadership of fully engaged, autonomously collaborative teams”.
To facilitate this alignment, AgilePfM reviews changes in a business environment and then coordinates similar changes within the business itself. It also ensures that change is articulated through the setting of strategic goals. These goals then provide a foundation for approving, prioritizing, and governing subsequent work.
However, organizations may nevertheless struggle with change at the portfolio level. More traditional practices such as annual budgeting and inflexible strategy definition can stifle the effectiveness of agile delivery. In the most severe instances, this rigidity can negate the benefits of agile principles entirely.
To address this conflict, AgilePfM encourages agility at the project and program level while allowing organizations to maximize value from portfolio investments.
The four-step portfolio process of AgilePfMConfirm portfolio drivers. What is driving high-level outcomes? How do they relate to vision, goals, or objectives? It’s also important to consider the role of culture and leadership.Confirm portfolio foundations. Here, the business must establish strategic alignment criteria using certain key performance indicators. These KPIs might include profit, volume, or customer satisfaction metrics. Deliver change. This may include agile budgeting in combination with continuous idea management and portfolio prioritization. Whatever the change initiative, it must be coordinated and planned for appropriately. In other words, the change must deliver incremental value to the organization as quickly as possible.Keep it current. AgilePfM encourages the periodic reassessment of strategy and portfolio alignment by measuring ROI for the KPIs established in the previous step. ROI should also be calculated after high-impact events have occurred.Agile governance and portfolio-specific rulesIn managing change at the portfolio level, organizations must adhere to a suite of general and more specific rules.
Agile governance rulesValue must drive priority (do the right things).Quality should never be compromised (do the things right).Decide with initiatives. Do not manage them.Give clear and considered direction.Stay informed.Agile portfolio rulesIf it is in the portfolio, then it must be in the strategy.If there is no strategy, stop! Do not proceed with AgilePfM without one.Constantly review the portfolio and adjust when required. Do not perform one-off exercises.Concentrate on prioritizing, blending, and balancing with a near-term horizon of no more than a few months ahead.Key takeawaysAgile Portfolio Management is a high-level change management framework that favors continuous change strategy review.Agile Portfolio Management allows businesses to incorporate agile practices at the traditionally rigid portfolio level. Processes that may become less rigid include budgetary planning and strategy definition.Agile Portfolio Management is governed by general agile governance rules and more specific rules that guide agile practices at the portfolio level. In the latter set of rules, business strategies must be holistic and continually reviewed no more than a few months ahead.Read Next: Business Analysis, Competitor Analysis, Continuous Innovation, Agile Methodology, Lean Startup, Business Model Innovation, Project Management.
Main Free Guides:
Business ModelsBusiness StrategyBusiness DevelopmentDigital Business ModelsDistribution ChannelsMarketing StrategyPlatform Business ModelsTech Business ModelThe post Agile Portfolio Management In A Nutshell appeared first on FourWeekMBA.
Agile Fluency Model In A Nutshell

The Agile Fluency Model was created in 2011 by Jim Shore and Diana Larsen. Shore and Larsen observed that many organizations undertake agile transformations that fail to deliver on their stated benefits. The Agile Fluency Model (AFM) helps organizations realize the stated benefits of adopting agile ideas.
Understanding the Agile Fluency ModelTo help organizations realize these important benefits, agile teams must pass through four distinct zones of fluency. Here, the creators of AFM define fluency as actions a business performs without thinking. Often, these actions are performed in high-pressure scenarios where there are many distractions or competing elements.
The four fluency zones of the Agile Fluency ModelThe first two zones of fluency focus on changes at the team level, while the last two focus on the organizational level.
Here is a look at each:
Focus on value. In this zone, agile teams focus on delivering products or services that are most likely to deliver value to customers, users, or sponsors. Scrum and Kanban frameworks are likely to be used by highly collaborative teams. Collaboration means a reduced likelihood of delays and misunderstandings, improving efficiency.Deliver value. Teams who are fluent in the second fluency zone deliver value early and often using XP practices such as Scrum or Kanban-XP hybrids. By delivering on concepts in a timely fashion, flaws or inefficiencies are exposed early and corrected. Aside from increasing quality standards, teams tend to have higher morale because they can deliver great results in a predictable fashion.Optimize value. Optimizing teams lead their respective markets by understanding what the market wants while still meeting the needs of the business. These teams use shorter feedback cycles with a focus on customer satisfaction and ROI to increase innovative business agility. Aligning organizational goals with consumer needs, they also foster a sense of trust and camaraderie throughout the business.Optimize for systems. Also known as strengthening teams, these teams seek to optimize the entire value stream of the enterprise. To achieve this, they may use one or more of the four zones in combination. However, this zone is often resource-intensive and fluency is difficult to master. It requires expertise in innovative management theory, innovation, cross-pollination of perspectives, and agile work practices.It’s also important to note that the AFM is not a framework or methodology. Each fluency zone is a collection of choices representing a mature system. That is, there is no requirement to progress through the zones to reach a desired state.
Ideally, the business will identify its needs at a particular point in time and select a fluency zone accordingly. Since each zone brings a unique set of benefits and challenges, decision-makers must consider the trade-offs of each zone and not assume that doing more is better.
Key takeawaysThe Agile Fluency Model helps businesses realize the potential benefits of incorporating agile work practices.The Agile Fluency Model is based on four zones of agile fluency, which is defined as the ability of a business to perform agile practices without thinking in high-stress environments.The Agile Fluency Model is not a framework for linear progression. Instead, each zone offers businesses a unique blend of benefits and challenges according to their specific needs.Read Next: Business Analysis, Competitor Analysis, Continuous Innovation, Agile Methodology, Lean Startup, Business Model Innovation, Project Management.
Main Free Guides:
Business ModelsBusiness StrategyBusiness DevelopmentDigital Business ModelsDistribution ChannelsMarketing StrategyPlatform Business ModelsTech Business ModelThe post Agile Fluency Model In A Nutshell appeared first on FourWeekMBA.
Agile Modeling And Why It Matters In Business

Agile Modeling (AM) is a methodology for modeling and documenting software-based systems. Agile Modeling is critical to the rapid and continuous delivery of software. It is a collection of values, principles, and practices that guide effective, lightweight software modeling.
Understanding Agile ModelingImportantly, the efficacy of AM is not the result of the modeling techniques themselves but how they are applied. Effective application of AM requires that organizations adopt all agile principles. This ensures that the various perspectives associated with software development are duly considered and incorporated into the product.
Agile Modeling complements existing agile methodologies such as Extreme Programming (XP), Dynamic Systems Development Method (DSDM), and Rational Unified Process (RUP).
The five critical values of Agile ModelingThere is often a disconnect between the short-term actions of developers and the long-term commercial viability of a business.
To that end, five values of Agile Modeling work together to create harmony between developers and businesses:
Communication. AM promotes communication and collaboration between members of a development team and key project stakeholders. Tight deadlines, complex design, and technical jargon all contribute to miscommunication. This results in delays and low morale, where team members may leave the project midstream. Agile thinking advocates pair programming, task estimation, and communication-centric unit testing to fix problems rapidly and strengthen team buy-in.Simplicity. To avoid becoming overwhelmed by large or complex tasks, development teams must begin with the simplest task possible. Rather than writing hundreds of lines of code, it is much easier to improve on a simple idea as understanding increases.Feedback. Author Kent Beck noted in his book Extreme Programming Explained that “optimism is an occupational hazard of programming, feedback is the treatment.” Accurate, constructive, and timely feedback is an important facet of AM. Such feedback allows developers to make beneficial adjustments early in the system, thereby negating the need for costly fixes to a more advanced product.Courage. This means that a team must not be afraid to change direction if the situation warrants it. Invariably this will involve discarding or refining work. In either case, the development team must follow its instincts. Courage also manifests as trust. Do individual members of the team trust each other? Does the business trust customer perspectives, even if it contradicts the work already completed?Humility. Organizations can embody each of the four previous values through an attitude of humility. AM principles dictate that the experiences of the end user are never ignored – particularly if they are having difficulties. Individuals should also approach software development without the negative aspects of the ego. Indeed, the best analysts understand that they are never correct 100% of the time. This means that they value the input of each member of the team equally.Key takeawaysAgile Modeling is a practice-based methodology for effective modeling and documentation of software development.Agile Modeling complements existing agile methodologies such as Extreme Programming. For maximum effectiveness, a business must adopt all agile principles to ensure that all perspectives are considered.Agile Modeling is based on four core values: communication, simplicity, feedback, and courage. The fifth value, humility, guides how a business might embody each of the core values during product development.Read Next: Business Analysis, Competitor Analysis, Continuous Innovation, Agile Methodology, Lean Startup, Business Model Innovation, Project Management.
Main Free Guides:
Business ModelsBusiness StrategyBusiness DevelopmentDigital Business ModelsDistribution ChannelsMarketing StrategyPlatform Business ModelsTech Business ModelThe post Agile Modeling And Why It Matters In Business appeared first on FourWeekMBA.
Acceptance Test-Driven Development In A Nutshell

Acceptance Test-Driven Development (ATDD) is a part of the agile methodology where automated tests are written from the user’s perspective. Unlike test-driven development – where acceptance tests are created from the perspective of the developer – ATDD advocates the automation of tests from the various perspectives of the user.
Understanding Acceptance Test-Driven DevelopmentHere, acceptance tests are generated through collaboration between what are known as the “three amigos”, including:
The customer – what problem is the organization trying to solve?The developer – how might the problem be solved?The tester – who considers and verifies potential solutions.Ultimately, the collaboration seen in Acceptance Test-Driven Development allows software development teams to meet acceptance criteria. When new features are created, one or more acceptance-level tests are written before the code itself is written. Following this process, development teams can test code based on certain conditions, triggers, or requirements supported by each of the three amigos.
Only after acceptance is attained should the code be refined to meet quality standards. Another way to think about ATDD is that the developer writes just enough code to meet the required functionality and pass the acceptance test. This means that the ATDD methodology gives instant feedback on whether the various stages of product development are meeting customer needs.
An example of a typical ATDD processFollowing is a typical ATDD process explained in four distinct stages:
Define user stories. What does the user expect to see once the product has been developed? A user story is an end goal as opposed to a product feature and must be expressed from the perspective of the user. Each should be an informal and general description of no more than a few sentences.Establish acceptance test criteria. User stories then drive the creation of acceptance test criteria. Each test should incorporate criteria that encompass a broad range of potential scenarios and detail how the system might respond to each.Automate the tests. Tests are turned into an executable format by using tools such as FitNesse, Concordion, and Cucumber.Implement the criteria as the basis of product development. Teams may choose to use the developer-centric TDD model to refine code until a test is passed. In passing these tests, it’s important to reiterate that no more effort be expended than necessary.Benefits of ATDDIncreased efficiency. Studies have shown that teams using the ATDD process saw rework decrease from 60% to 20%. In other words, productivity doubled because the time available for developing new features climbed from 40% to 80%.Enhanced collaboration, which begins with the definition of user stories and ends with code meeting acceptance criteria. With product owners, consumers, analysts, testers, and developers involved in every step of the process, there is a higher probability that performance and other standards are achieved.Faster problem resolution. During ATDD, acceptance testing is not an isolated activity performed before rollout. Instead, the code is checked and rechecked with input from key stakeholders to ensure that it meets expectations. This encourages the identification and resolution of issues as they occur.Key takeawaysAcceptance Test-Driven Development is a methodology advocating communication between customers, developers, and testers.Acceptance Test-Driven Development stipulates that user stories are determined before any code is written. After user stories have been defined, code should be created according to certain user story criteria.Acceptance Test-Driven Development increases efficiency and collaboration in development teams. The iterative nature of the ATDD process also facilitates faster problem resolution.Read Next: Business Analysis, Competitor Analysis, Continuous Innovation, Agile Methodology, Lean Startup, Business Model Innovation, Project Management.
Main Free Guides:
Business ModelsBusiness StrategyBusiness DevelopmentDigital Business ModelsDistribution ChannelsMarketing StrategyPlatform Business ModelsTech Business ModelThe post Acceptance Test-Driven Development In A Nutshell appeared first on FourWeekMBA.
Disciplined Agile And Why It Matters In Business

Disciplined Agile was first developed at IBM in 2009 and then introduced to the mainstream in a 2012 book entitled Disciplined Agile Delivery. Disciplined Agile (DA) is a people-first process decision toolkit with a focus on learning and the streamlining of internal processes.
Understanding Disciplined AgileEarly incarnations of Disciplined Agile had a broad focus on process decisions across an organization. Then, more specific adaptations began to appear including “Disciplined DevOps” and “Disciplined Agile IT.”
Disciplined Agile has now been designed to cover the full end-to-end product lifecycle, from project initiation to final delivery. Fundamentally, DA helps businesses understand how seemingly compartmentalized activities such as security, finance, and product management can work together contextually.
With a focus on everything from consumable solutions to working software and documentation, Disciplined Agile is unique among scaling methodologies. DA also advocates that the scaling of agile practices be based on decisions that result in the greatest customer value.
The four layers of the Disciplined Agile toolkitTo assist decision-makers in navigating the DA toolkit, information is commonly grouped into four separate layers.
Let’s look at each layer:
Foundation. This layer forms the conceptual underpinning of the entire toolkit. As a result, it contains the principles and guidelines of the DA mindset. It also includes concepts fundamental to agile and lean methodologies and information on roles and responsibilities within a team. Lastly, the foundation layer guides the choice of a way of working (WoW).Disciplined DevOps. This involves the streaming of software development (dev) and IT operations (ops). Disciplined Agile favors a collaborative approach to release management, data management, support, and operations. The DevOps framework can be adapted to suit depending on the structure and maturity level of the organization concerned. Examples of DA release management strategies may include SAFe release trains and slow or quick cadence release windows.Value streams. This layer encompasses every set of actions that take place to bring value to the customer, from the initial concept to final delivery and customer support. Here, businesses must concentrate on adding value that can be realized in the marketplace. The DA FLEX mindset ties organizational strategy to effective value streams, ensuring that innovative decisions add value to both the customer and business. Disciplined Agile Enterprise (DAE). This layer can respond with agility to changing market conditions. It does this via the promotion of a flexible and adaptable organizational culture and structure. This agility is reinforced by the business adopting a learning mindset, which helps to drive innovation. Potential strengths and weaknesses of Disciplined AgileStrengthsFlexibility. Far from being a tool that is used by software development teams exclusively, DA is an approach that is relevant to any customer-facing role or department. Marketing and sales teams, for example, benefit greatly from enhanced collaboration with customers by taking advantage of DA principles and adapting them to suit.Robust decision-making framework. DA does not assume that the project team needs to tailor up or tailor down according to their experience level. Instead, it takes a middle-of-the-road approach and describes all options and the potential trade-offs of each. Options are sourced from a variety of sources including Scrum, XP, Agile Modeling, Kanban, and Outside-In Development. Ultimately, DA utilizes a risk value lifecycle, with a focus giving the teams the freedom to make their own decisions.WeaknessesDoes require experience. DA is unsuited to teams that are unfamiliar with agile practices because it does not detail an actionable methodology or set process. In some cases, the business may need to hire external consultants to provide training.Can be cumbersome. Since DA seeks to break down compartmental barriers, the organization-wide rollout of its principles may take longer when compared with similar agile systems. It also requires discipline, direction, and coordination – particularly when teams are largely autonomous.Key takeawaysDisciplined Agile is process decision structure in software development that prioritizes individuals and the connection between individuals.Disciplined Agile comprises four layers: foundation, Disciplined DevOps, value streams, and Disciplined Agile Enterprise (DAE). Each layer helps project teams make sense of a large amount of information within the DA toolkit.Disciplined Agile is a flexible and robust decision-making framework. But it does assume some experience in agile and can be cumbersome to implement in larger or compartmentalized organizations.Read Next: Business Analysis, Competitor Analysis, Continuous Innovation, Agile Methodology, Lean Startup, Business Model Innovation, Project Management.
Main Free Guides:
Business ModelsBusiness StrategyBusiness DevelopmentDigital Business ModelsDistribution ChannelsMarketing StrategyPlatform Business ModelsTech Business ModelThe post Disciplined Agile And Why It Matters In Business appeared first on FourWeekMBA.
eXtreme Programming In A Nutshell

eXtreme Programming was developed in the late 1990s by Ken Beck, Ron Jeffries, and Ward Cunningham. During this time, the trio was working on the Chrysler Comprehensive Compensation System (C3) to help manage the company payroll system. eXtreme Programming (XP) is a software development methodology. It is designed to improve software quality and the ability of software to adapt to changing customer needs.
Understanding eXtreme ProgrammingIn 1999, they published the book Extreme Programming Explained about their collective experience at Daimler Chrysler and described their methods in detail. From their experiences, XP was born.
Extreme Programming is like many other agile methods, but in an interview, Beck explained what makes XP unique: “The first time I was asked to lead a team, I asked them to do a little bit of the things I thought were sensible, like testing and reviews. The second time there was a lot more on the line. I asked the team to crank up all the knobs to 10 on the things I thought were essential and leave out everything else.”
Indeed, XP promotes frequent, iterative releases throughout the software development life cycle (SDLC). But the main difference between XP and similar methods, as Beck notes, is that it takes software engineering to “extreme” levels. Code reviews are one such example. In XP, pair programming should be subject to peer reviews 100% of the time.
XP also focuses on short iterations and release cycles. This helps businesses reduce the likelihood of misalignment with customer needs caused by unnecessary product features.
When should eXtreme Programming be used?XP is best suited to businesses that can incorporate a high degree of customer collaboration and continuous development.
Having said that, XP can also work well for teams that:
Expect system functionality to change periodically, such as every few months.Have tight deadlines and want to mitigate risk.Have a small number of programmers who contribute to code and suggest fixes, etc. By using pair programming and frequently rotating programmers through the team, XP facilities communication and collaboration.Deal with customers who constantly change project requirements because of uncertainty around what they want the system to achieve. In this case, teams can use class-responsibility-collaboration (CRC) cards that allow them to design a system and see how each object interacts. The five fundamental values of eXtreme ProgrammingEarly incarnations of eXtreme Programming established five fundamental values that are now common to many subsequent frameworks such as Scrum.
The five values are:
Simplicity. To maximize value, the project team will do what is needed – but no more. Product development should be broken down into small, value-adding steps that identify and then mitigate errors as they occur.Streamlined communication. Teams work together on every facet of a project and participate in daily face-to-face meetings so that every member is abreast of the latest developments. Individuals are encouraged to raise any concerns which should be addressed swiftly.Consistent, constructive feedback. eXtreme Programming teams adapt their processes to the needs of the project and the customer. The software should be demonstrated early on so that feedback can guide necessary improvements.Respect. Each team member should give and receive respect. This can be facilitated by ensuring that everyone feels they are making a positive contribution – no matter how trivial or insignificant. Developers should respect the expertise and knowledge of customers, and vice versa. Respect also means that management let project teams work with autonomy and responsibility without becoming dictatorial.Courage. This can be difficult because it often necessitates that hard decisions be made. Courage also involves telling the truth about progress, particularly when progress has not met expectations. To that end, no excuses for failure are ever made.Key takeawayseXtreme Programming is an agile methodology that supports frequent releases in very short cycles. This allows developers to adapt to changing customer requirements without sacrificing quality.eXtreme Programming is best suited to smaller project teams who can continuously engage with customers to a high degree.eXtreme Programming is based on five fundamental values: simplicity, streamlined communication, consistent feedback, respect, and courage. Many of these values have been adopted for use in subsequent agile methodologies.Read Next: Business Analysis, Competitor Analysis, Continuous Innovation, Agile Methodology, Lean Startup, Business Model Innovation, Project Management.
Main Free Guides:
Business ModelsBusiness StrategyBusiness DevelopmentDigital Business ModelsDistribution ChannelsMarketing StrategyPlatform Business ModelsTech Business ModelThe post eXtreme Programming In A Nutshell appeared first on FourWeekMBA.
Evidence-Based Portfolio Management In A Nutshell

Evidence-Based Portfolio Management (E-B PfM) applies agile principles to the process of deciding where to invest funds for maximum benefit to the business. Traditional portfolio management tends to focus on activities and outputs, with less consideration given to outcomes that are often poorly defined.
Understanding Evidence-Based Portfolio ManagementAnnual budgeting processes, for example, restrict the ideation process to the point where ideas falling outside of budgetary constraints are discarded entirely.
When managers are asked to estimate the cost of delivering a solution, these estimates often come attached with several caveats. These caveats are typically ignored in favor of meeting hard, non-negotiable schedules and deadlines.
Ultimately, this results in funding decisions being made by people who are far removed from the actual work. These rather optimistic decisions cause the scope of the work to expand once knowledgeable individuals are recruited, resulting in budget blowouts and delays.
Evidence-Based Portfolio Management applies lean and agile principles to the challenge of deciding where to invest funds for maximum ROI. By enabling businesses to quickly test ideas and rapidly deliver benefits in small increments, E-B PfM avoids the bloated, non-collaborative, and over-specified aspects of traditional portfolio management.
Indeed, E-B PfM replaces expensive and inefficient project meetings with direct evidence to continuously evaluate and adapt strategy where necessary.
Principles of Evidence-Based Portfolio ManagementThe structure, roles, responsibilities, and processes of every organization are different. E-B PfM is thus based on seven general principles that form an agile philosophy.
This philosophy can be used to determine how the business identifies opportunities and considers which of those opportunities to pursue. It also strongly advocates the role of experimentation in guiding whether to increase, continue, or cease investment in those opportunities.
Following is a look at each of the seven principles:
1 – Separate budgeting for capacity from investing for innovationAn organization that takes on new work must add new teams or enable existing teams to be more effective. E-B PfM recognizes that there will always be more ideas than teams, so proper portfolio management is largely about deciding what not to work on.
2 – Make the best decision based on the evidence availableEvidence is often incomplete and unreliable, but an empirical approach makes allowances for this fact by testing assumptions and seeking better evidence. When making important decisions, the amount of money invested should be proportional to the quality of the evidence.
3 – Invest in improving business impacts using hypotheses; don’t just fund activityCost, schedule, and output are three variables that drive traditional portfolio management. But each has little relevance to value. E-B PfM instead equates value with delivering products and services that help customers achieve better outcomes.
4 – Continuously (re)evaluate and (re)order opportunitiesAs new opportunities are discovered, the relative attractiveness of existing opportunities will fluctuate. This means that the business will need to refine the list of opportunities according to their relative importance and invest accordingly. Relative importance should always be evaluated when new evidence comes to hand.
5 – Minimize avoidable lossTo minimize loss, the business must determine which ideas will not work. Project teams can perform experiments designed to actively prove that certain solutions don’t work, thereby providing direction for future development. For example, a company that is unsure of how a new product feature will be received can run a customer focus-group to gauge initial reaction.
In keeping with agile principles, solution viability should be tested in the simplest, fastest, and most cost-effective way possible.
6 – Let teams pull work as they have capacityWhen a business attempts to work on ideas for which it does not have the capacity, it creates a Work In Process (WIP). A high amount of WIP causes a loss of efficiency, project delays, and impedes the flow of work.
By ensuring that teams pull the most valuable opportunity only once they are ready, WIP is reduced. Free to make their own decisions and focus on one opportunity at a time, the motivation and subsequent performance of the project team increases.
7 – Improve status reporting with increased engagement and transparencyTraditionally, portfolio investment is monitored through status reporting that lacks transparency because it is people outside the team that prepare the reports. By replacing this uninformed and subjective approach with E-B PfM, status reports are based on frequent, iterative product deliveries that contain useful, actionable data.
Updated estimates of unrealized value and measures of current value are two such examples. Both help project teams reliably verify assumptions and allow them to reassess priorities with respect to organizational goals and strategies.
Key takeawaysEvidence-Based Portfolio Management is an empirical, principles-based approach to agile portfolio management.Evidence-Based Portfolio Management replaces the rigid and over-specified nature of traditional portfolio management with collaboration, autonomy, and continuous improvement.Evidence-Based Portfolio Management is based on seven principles. These combine to allows management approaches to be adapted to the specific needs of any business.Read Next: Business Analysis, Competitor Analysis, Continuous Innovation, Agile Methodology, Lean Startup, Business Model Innovation, Project Management.
Main Free Guides:
Business ModelsBusiness StrategyBusiness DevelopmentDigital Business ModelsDistribution ChannelsMarketing StrategyPlatform Business ModelsTech Business ModelThe post Evidence-Based Portfolio Management In A Nutshell appeared first on FourWeekMBA.
December 26, 2020
5 Decision-Making Methods For Business





Main Free Guides:
Business ModelsBusiness StrategyBusiness DevelopmentDistribution ChannelsMarketing StrategyPlatform Business ModelsNetwork Effects
The post 5 Decision-Making Methods For Business appeared first on FourWeekMBA.