Some methodologies get into the technical weeds of how to build a product while others focus on team management practices. These prescriptive methodologies define processes, artifacts, roles and day-to-day practices that, when applied correctly, yield a set of results that can have a great impact on products and product teams. Other methodologies are just general philosophies or a list of principles that can be applied using different tactics. These development frameworks are meant to provide a smoothly paved road for both developing a software product and guiding product teams to success, with the caveat that not all product teams are the same, and no two products go through the same development journey. These methodologies are usually nontechnical, with a few exceptions: they’re mostly concerned with processes, people and internal operations, rather than the weeds of software development, design and business. There’s lean, agile, scrum, kanban, waterfall and everything in between. But which methodology is the best one for your organization and your product team? This guide is here to help you with that. Ready to start building better roadmaps? Check out our in-depth guide.Choosing a development frameworkMost of these methodologies and frameworks aren’t meant to be standalone, all-in-one prescriptive handbooks with a compendium of granular practices for teams to follow. Teams usually work with a combination of these principles depending on what the organization and the product need. Before you consider the idea of your organization transitioning to any of these methodologies, make sure to evaluate the following: Available resources: How much time does your team have to learn how to implement a new methodology without affecting their output negatively? How much money can you invest in the training? Is the effort of implementing a new framework worth it? Potential constraints and risks: Does your organization have the flexibility to go through changes? Other constraints include type and size of the team, where the product sits along the lifecycle, and the size and the maturity level of the organization. Tool and methodology compatibility: Evaluate the tools in place at the product level and check if they would work well with your framework of choice. Are you and your team ready to give them up for something that better fits the methodology? The truth is there is no one-size-fits-all when it comes to development frameworks, and it all depends on a variety of individual factors. In the end, however, the framework you choose should do the following:
Up next, we break down the pros and cons of each methodology to help you evaluate which framework would suit your organization. 1. Lean developmentLean product teams are focused on one thing: improving the quality of their output. This doesn’t mean more features or a flashier design—it’s about finding a sustainable value that addresses real user problems using regular experimentation. Lean product management is about creating products that your customers will use often. The idea of failing early to succeed sooner is deeply embedded in the processes that make up a lean approach. Lean practices in product development are mostly focused on these main principles: 1. Creating a deeper understanding of user needs. Make them a priority when it’s time to put together a requirements document 2. Reduce waste. This includes bottlenecks and resource drainage. If your users wouldn’t pay for it, it’s a waste of your time, money and team efforts. Lean identifies the following three types of waste elimination:
3. Always be validating (ABV): To do this, leverage the first principle. Use user feedback and research to iterate and validate ideas and do it constantly. 4. Increase data visibility and transparency: Create knowledge bases and repositories for teams and stakeholders to see. Share the results of validation experiments so everyone can learn from them.
Advantages of lean development
Disadvantages of lean development
If you lean development sounds like something your organization would benefit from, check out our in-depth guide where we go over the lean processes you can use to apply lean development. 2. ScrumScrum is a framework—a defined process with tactical practices—for implementing agile development. Agile development is about achieving rapid software delivery using short experimental feedback loops, iterations, and agile teams that work efficiently together. Scrum is also influenced by lean concepts like deep user understanding and collaboration, checking the process regularly to optimize it, empowering teams, and favouring frequent small releases over infrequent large releases by working within 2-4 week time boxes of work called sprints. The official Scrum Guide outlines a set of values that are the core of Scrum:
When these values are implemented by everyone, the pillars that make up the Scrum methodology are brought to life. These three pillars are:
At the tactical level, product teams implement these values and build these pillars by working with a set of Scrum events, roles and artifacts.
Advantages of Scrum
Disadvantages of Scrum
Check out our libray of 35+ roadmap templates. Access them for free by signing up for a Roadmunk trial. 3. KanbanKanban, like Scrum, is another agile framework that focuses on early continuous releases and creating highly collaborative and efficient product teams. Unlike Scrum, Kanban doesn’t have any predefined roles and events, it’s flexible when it comes to making changes and relies on continuous delivery over time-boxed sprints. There isn’t a specific set of rules for Kanban, only a few general principles:
In terms of artifacts, Kanban uses a board that’s designed to visualize the work that goes into each stage of the product development process. The initiatives are categorized into three columns: To Do, In Progress, Complete.
Advantages of Kanban
Disadvantages of Kanban
4. Extreme programming (XP)Extreme programming is one of the most specific development frameworks when it comes to defining and optimizing the workflow of the engineering team. It emerged as a framework for building software in environments that are rapidly changing and where customer involvement is high. The goals of using XP are to improve the technical side of the product development process using a set of engineering practices. But before we get to what those practices actually are, here are the core values XP relies on:
The way XP helps teams achieve these core values is by defining a set of development processes and practices that cover four pillars:
The “extreme” part of the name of this methodology comes from how much these practices demand from the engineering team. These steps aren’t just a blueprint for completing deliverables, they’re meant to optimize every aspect of the coding, design and team communication processes.
Advantages of Extreme Programming
Disadvantages of Extreme Programming
This agile methodology is an iterative and incremental development framework that works best with large software teams. It borrows some agile elements from Scrum and Extreme Programming like improved team collaboration, visible progress tracking, optimizing and prioritizing based on user needs, and developing and testing features in short iterations. Some even say FDD is just Scrum/XP on a large scale. The methodology is broken down into 5 important processes
Other popular software development methodologies6. Rapid Application Development (RAD)Rapid Application Development (RAD) is a framework that prioritizes rapid prototyping, fast and iterative releases of said prototypes, and quick feedback over long phases of development and testing cycles. The RAD framework also puts heavy emphasis on minimizing time spent planning and maximizing user feedback at the prototype phase. It’s made up of four defined stages or phases:
7. Dynamic System Development Model Methodology (DSDM)DSDM is an iterative methodology that operates under the agile umbrella. Its main goal is to align all efforts and initiatives with the strategic goals of the organization, and to deliver real benefits that will have the most impact on the business. Like RAD, it employs an iterative, incremental approach to building software. And, like RAD, it uses the same four phases of development: feasibility and business study, functional model and prototype iteration, design and build, and implementation. The main difference between RAD and DSDM is that DSM uses more formal reporting and requirement reporting. The eight principles of the DSDM methodology are:
8. Spiral modelThe Spiral framework puts a lot of emphasis on risk awareness and management. Under this framework, development teams work in spirals that are repeated until the final product is ready to be delivered. The product is improved upon over time in small phases, and teams constantly work on updating it according to their new learnings. The spirals are made up of four distinctive quadrants:
Start building beautiful + collaborative roadmaps with Roadmunk. Signup for a free trial here. |