A conscious choice of software development methodology can reduce the environmental footprint of the entire product design and development process.
- Waterfall, Agile, Lean, Hybrid method analysis for project requirements and sustainability – The best software development approach for your project will vary based on several factors such as its scale, conditions, team dynamics, the need for communication, and organizational goals.
- Case studies, including Spotify, WaysConf, and Bejamas, demonstrate successful implementations of these methodologies.
- Other sustainable frameworks: Planet Centric Design, Design for Sustainability, Circular Design, Biomimicry.
Choose the best SDLC methodology for your project, asking the set of questions.
Table of contents:
Introduction: The Need for Sustainable Software Development Lifecycle Methodologies
Imagine you're building your dream home — one that perfectly meets your family's needs and reflects your personal style. Naturally, you'd invest time in selecting an appealing design, choosing the right plot of land, considering the materials, and ensuring the functionality aligns with your vision. Equally important is selecting a construction company with a suitable approach to the building process.
Now, consider this: your dream home is analogous to a website or application (software) developed by a chosen company, using various design methodologies. Just as a team of specialists works on your home project, software development companies propose different methodologies for design, development, and overall product management. This chosen approach, known as the software development lifecycle (SDLC), is crucial for creating high-quality software solutions efficiently. It provides a framework for planning, structuring, and controlling the process of developing software development projects.
Most companies weigh factors such as cost and time when selecting an efficient and effective method or project management practices for delivering software. Some also consider communication dynamics between stakeholders and the clarity of deliverables. We are aware that the primary challenge for businesses is often to cut costs and time while covering everything from design to deployment. As we aim to demonstrate in this article, a conscious choice of software development methodology significantly impacts the environmental footprint of the entire process.
"Roads were made for journeys, not destinations." - Confucius
As you reflect on the creation of your new digital product, you might believe that the ultimate results matter most. Indeed, the product's final impact is significant. Recently, we have been focusing mostly on the product itself, which can be created in a sustainable way, minimizing its environmental impact. In recent articles like "Environmental Impact of Digital Technology" or "Digital Sustainability. How To Go Green With Digital Products?" we've explored the environmental footprint of websites, applications, and various software. We've emphasized the need to adopt sustainable practices in web design and development, choose green hosting, and integrate green marketing solutions in broader strategies. Yet, another aspect of mindful digital product creation influences environmental impact — the entire software development lifecycle.
If we don't consider the whole software development lifecycle, focusing solely on the product, it may end up suffocating all of our positive actions with the waste and carbon footprint generated along the way. It's akin to selling an eco-conscious product but undermining it with unsustainable practices like using child labor, excessive packaging products in several layers of plastic foil, and shipping them separately in a private jet to the customer. The final effect becomes questionable.
While this may sound exaggerated, the point here is to underscore that deliverables are as important as the method of delivering the product. The product development process can either contribute to sustainability and eco-friendliness or inefficiently add to the overall digital carbon footprint during production.
Recognizing this, you can adopt more sustainable practices at this stage, reducing waste, optimizing resources, and shortening delivery times — actions that can also save your company money. This realization can be a game-changer. Let's delve into the realm of sustainable product design methodologies and frameworks, exploring innovations that make your business more environmentally friendly, efficient, and successful. It's crucial to recognize that the product development process and management are equally significant elements in creating a final product and should be integrated into a sustainable business strategy.
The Traditional Waterfall Approach vs Agile Software Development
In the pursuit of creating exceptional digital products, product development teams often seek a definitive approach — a silver bullet that guarantees success. This quest for an ultimate solution stems from a desire to eliminate uncertainty and ensure a seamless journey from ideation to market launch.
Ah, the allure of clear-cut advice, stating that one workflow is wrong and another is the perfect, smart, and efficient way to go. Seeing everything in black and white seems the easiest way to quickly understand and evaluate the value of a method. However, reality is not so straightforward. There is no single, universally applicable methodology that perfectly suits every project and team. There's no "silver bullet" universally applicable to all situations. Instead, product teams should carefully consider the strengths and weaknesses of each approach, selecting the methodology (or combination) that best aligns with the project's context and goals. We also want to emphasize the sustainability of each methodology to highlight the potential for sustaining the process by choosing certain solutions.
In each of the described cases, the key is an awareness of the process and mindful management that stays on track to minimize the total carbon footprint of the product. We will discuss several workflows and methodologies and their combinations:
- The Waterfall methodology, with its linear and sequential approach, offers a structured framework for managing complex projects.
- The Agile methodology, an iterative design process that embraces flexibility, breaking down the development process into smaller, incremental cycles called sprints.
- The Lean methodology, a philosophy rooted in waste elimination and value creation, emphasizes prioritizing essential features and eliminating non-value-adding activities.
- The Hybrid methodology, combining a few methodologies that fit the project requirements and character, for instance, Waterfall with Agile.
1. Understanding the Waterfall Methodology
In exploring more traditional project management approaches, it's essential to begin with Waterfall. Originating in the manufacturing and construction industries of the pre-Internet era in the 1950s, this methodology was adapted to the software industry in the 1970s and 1980s. Its structured nature provided a clear framework and predictable timeline, making it widely adopted during this period.
The Waterfall method follows a 'step-by-step' sequential design process, with a highly organized system where each phase must be completed before the next begins. Winston W. Royce, in the 1970 article titled 'Managing the Development of Large Software Systems,' outlined six phases of the Waterfall software development process:
- Requirement Analysis: Defining project objectives, scope, and user requirements.
- Preliminary Design: Creating a high-level overview of the system's architecture.
- Detailed Design: Developing specifications for each component and interface.
- Coding and Unit Testing: Writing and testing code for each component individually.
- Integration and Testing: Combining components into a working system and testing overall functionality.
- Deployment and Maintenance: Deploying the system and providing ongoing maintenance and support.
In the Waterfall model, teams work in silos, operating independently and sequentially, often leading to communication issues, lack of feedback, and challenges in adapting to changes.
It is a good point to discuss the pros and cons of waterfall methodology to understand its nature.
Likewise, if your venture is a long-term development that adheres to strict guidelines, and if your digital product is quite repeatable in its phases and outcomes, Waterfall's 'stage-by-stage' process can be very convenient. If your project involves confidential information and the possibility of severe ramifications from human error, then selecting Waterfall as your model would be a good choice. Furthermore, its consistent structure and predictable process make it simple to estimate the project's expenses, timeline, and scale, and its thorough documentation enhances the security of projects – if a developer or designer leaves midway, a replacement can step in with relative ease. It also provides a more precise prediction of the final result.
As technology naturally embraces innovation, digital product creators have encountered significant limitations and drawbacks in the Waterfall methodology. With the evolution of the software development industry, it became evident that the Waterfall model's lack of flexibility could harm projects, potentially resulting in insufficiently tested products that fail to address stakeholders' needs. Criticized for its rigidity, the Waterfall approach tends to block innovation by rigidly adhering to the pre-planning phase and bureaucratic documentation, often leading to delays and cost overruns when changes are necessary. Moreover, its linear design process sometimes postpones user feedback until late in development, risking the delivery of a final product that falls short of meeting user needs.
The waterfall approach also limits innovation. When the priority is getting from one level of the waterfall to the next, rather than continuous learning through iterations, the team has little ability to discover and respond to new developments, especially those that impact some of the early-stage work. Or, in the words of James Johnston, project manager at Mightybytes,“If a client wants to make changes, it can be quite time consuming and costly to revisit something that’s already built.”10 In other words, it’s not easy to go back up a waterfall.
As a result, many software development teams have embraced more flexible and iterative approaches, such as Agile, enabling continuous feedback and adaptation throughout the development cycle. These newer models, proven to be better suited to the fast-paced and changing requirements of software development, have gained increasing popularity in the industry.
Contrary to expectations, the Waterfall methodology hasn't disappeared with the emergence of Agile and its frameworks such as Kanban, Scrum, and Lean. In fact, it still finds relevance in specific contexts. Despite facing some resistance from the software industry, mainly due to the popularity of the innovative and flexible Agile approach, the Waterfall model persists because it addresses various needs, providing structure to both software development companies and clients. Built on planning and clear documentation, it ensures alignment among team members. The Waterfall model is particularly effective for projects with well-defined requirements unlikely to change during development. Clients appreciate its clarity in the timeline, deadlines, and better cost estimation, providing stability and predictability throughout the process. This stability is beneficial for projects with strict regulatory requirements or those demanding a high level of precision.
Moreover, the Waterfall model suits projects with fixed budgets and timelines, offering a clear roadmap for development that aids in resource management and expectation setting.
However, it's crucial to acknowledge the limitations of the Waterfall model. It is less adaptable to changes in requirements and may be less responsive to customer feedback, potentially leading to issues if initial requirements are not fully understood or if there are changes in the project scope.
In conclusion, while the Waterfall model may not enjoy the same popularity as Agile in the software industry, it persists in contexts where requirements are clear and well-defined. Providing a structured approach to development proves effective for projects with strict requirements and constraints. Nevertheless, development teams and clients should carefully evaluate the suitability of the Waterfall model for their specific project needs.
2. Embracing Agile Methodology
It can be argued that without Waterfall, Agile wouldn't have emerged. Why? Agile methodologies surfaced in the late 1990s as a direct response to the limitations posed by traditional project management methodologies, specifically the Waterfall approach. The linear and sequential nature of waterfall methodologies proved unsuitable for developing complex software products with evolving requirements. This lack of flexibility and adaptability in the face of changing project dynamics made it challenging for both software companies and businesses commissioning the product.
In addressing these limitations, a pivotal meeting occurred in 2001 in Utah, now recognized as the Agile Alliance. Seventeen experienced software developers convened to explore alternative development methodologies, resulting in the creation of the Agile Manifesto. This manifesto encapsulates four core values and twelve principles that delineate a new approach to software development. The Agile Manifesto prioritizes:
- Individuals and interactions over processes and tools: Agile methodologies place a high value on human collaboration and communication, recognizing their critical role in successful software development.
- Working software over comprehensive documentation: Agile teams prioritize delivering functional software over generating extensive documentation, acknowledging that working software provides valuable feedback and facilitates continuous improvement.
- Customer collaboration over contract negotiation: Agile methodologies endorse close collaboration with customers throughout the development process, ensuring alignment with user requirements and feedback.
- Responding to change over following a plan: Agile teams embrace change and adaptability, acknowledging the evolution of requirements and market conditions and remaining ready to adjust their plans accordingly.
The Agile framework is all about being flexible and adaptable. Unlike traditional methods, Agile is guided by a set of values and principles to help development teams manage their projects. They break down projects into short tasks called sprints, where teams work together on different parts simultaneously. This method focuses on always getting better and adjusting to changes as the project progresses.
The Agile Manifesto laid the foundation for various Agile methodologies, each with its unique set of practices and tools for iterative development. Some of the most popular Agile methodologies include:
- Scrum: Organizes and manages complex projects through time-boxed iterations known as sprints, promoting continuous delivery and adaptation.
- Kanban: A lean methodology emphasizing visual management and continuous workflow, utilizing Kanban boards to monitor work progress and identify opportunities for improvement.
- Extreme Programming (XP): Focuses on test-driven development, pair programming, continuous integration, and refactoring, placing a premium on quality throughout the development process.
- SAFe (The Scaled Agile Framework): It is a methodology for implementing agile practices at the enterprise level. There are three main bodies of knowledge behind it: agile software development, lean product development, and systems thinking.
- Dynamic Systems Development Method (DSDM): A flexible methodology adapting to project-specific needs, relying on continuous planning and negotiation with stakeholders.
- Lean Startup: A product development methodology originating from Toyota Corporation, emphasizing rapid experimentation and learning from customer feedback. Lean thinking prioritizes building and testing minimal viable products (MVPs) to validate ideas and gather customer insights.
Today, Agile development and its smaller methodologies are widely incorporated into projects, especially in the dynamic software development industry characterized by rapid technological changes. Agile's flexibility, often seen as a symbol of instability and uncertainty, stands out as one of its most significant advantages. Breaking down projects into manageable chunks and integrating regular testing facilitates easy modification or removal of project elements, adopting an iterative approach that reduces the risk of failure and promotes continuous improvement. The iterative approach considers frequent communication between cross-functional teams and stakeholders to update the process, ensuring alignment with needs and allowing for the emergence of new ideas within the scope.
Despite its advantages, Agile product design has its imperfections. One challenge is the potential to lose sight of the big picture due to its focus on short-term sprints. Additionally, the product scope may be compromised as Agile prioritizes fast production over meticulous planning. Lastly, estimating timeframes and costs becomes challenging with Agile, as its flexible processes do not guarantee precise planning for project outcomes and timelines.
4. How About A Hybrid Method Combining Agile And Waterfall Software Development?
Now, you may think that the only way is to see the difference between Agile and Waterfall and decide which of the two methodologies suits our needs best and implement it into our process. Here's some good news if you see risks in making such clear-cut choices. Unwavering commitment to a single method may lead to mindlessly following rules without assessing whether they meet current needs and benefit the project's perspective and impact. The rescue comes by introducing a hybrid method capable of combining various approaches.
The waterfall-agile method is an increasingly adopted Software Development Life Cycle (SDLC). Companies like Bejamas and Dodonut frequently use this combination, recognizing its value and positive impact on project effectiveness. Despite their individual approach and industry specificity, many website creation orders often follow a repetitive process with little innovation. After collecting detailed client and product documentation, the Waterfall approach is commonly used for design and development.
Yet, in the same process, agile methods are frequently employed to maintain constant client contact, obtain continuous feedback, ensure alignment with needs, and conduct QA testing for quality assurance.
In other instances, especially in projects with significant unknowns and a client's openness to exploring efficient methods in new software, agile principles are applied. These key principles manifest through one iteration at a time, quick delivery of the Minimum Viable Product (MVP), and incremental improvements during development. Lean software development and lean practices also play a prominent role at times.
By merging Agile and traditional methodologies, the hybrid approach offers increased flexibility, comprehensive project management, enhanced collaboration, and the ability to balance control and speed in delivering working software. These advantages make the hybrid approach a valuable option for organizations seeking to optimize their product development processes.
The Benefits of Waterfall, Agile and Hybrid Approaches in Sustainable Product Design
Agile And Sustainability
Several publications and resources focus on Agile and sustainability, highlighting the positive environmental impact of this approach, such as "The Agile Sustainability Manifesto" or "Sustainagility" by Patrick Dixon and Johan Gorecki. Without a doubt, Agile can contribute to more sustainable digital products that minimize waste and reduce their carbon footprint, especially thanks to the following features:
- Early and Continuous Delivery: Early, constant feedback, and incremental development, allow us to deliver fast products to the market and apply changes as frequently as needed. Thanks to that, teams can reduce the rework and waste. It also can lead to product creation that better meets user needs.`
- Focus on Customer Value and Waste: As we emphasize in every article about sustainability in digital products, the aim above everything is to make things that matter. This approach makes it easier to eliminate waste and reduce environmental impact. Agile supports the same thinking by emphasizing delivering business value and improving customer satisfaction through products and features that align with their needs.
- Adaptability and Flexibility: Sustainability is not a one-time action but a constant search for improvements. With Agile's adaptability and responsiveness, it is easier to incorporate new sustainability requirements or address emerging environmental concerns during the development process.
- Efficiency and Collaboration: Agile promotes a culture of continuous improvement and waste reduction. Focusing on collaboration, communication, and efficiency can lead to the development of products in a more streamlined and resource-efficient manner, so also more sustainable.
- Sustainable innovations through agile and lean methodologies: As in the Agile approach, the team constantly seeks improvements to optimize the whole process and frequently tests software to identify vulnerabilities.
With all of the benefits of Agile sustainability, it's easy to believe that if we're Agile, we're also sustainable. Of course, it can be specifically endorsed by the Agile Manifesto's 8th principle, which states:
While the 8th principle of the Agile Manifesto predominantly emphasizes maintaining a sustainable pace for workers in the software development context—ensuring ample time and resources for tasks without compromising personal time or overworking—it extends beyond labor practices. Sustainability within Agile is ingrained not only in the working culture but also in other underlying principles. Although the term 'sustainable' may not be explicitly used, specific principles are noteworthy from an environmental perspective:
These principles are essential for making software development sustainable, even if they don't use the word 'sustainable.' Using Agile in managing software development helps organizations build quality digital products that can quickly adapt, respond to changes in the market and environment, and use resources efficiently. This overall approach supports the more significant aim of being more sustainable in how work is done and the results produced.
As mentioned earlier, there are various workflows under the Agile umbrella, and one worth examining for digital sustainability is Lean UX.
Lean UX prioritizes building a minimum viable product (MVP) and focuses on iterative improvements based on user feedback. This approach aligns effectively with digital sustainability by emphasizing efficiency and minimizing waste. Creating leaner products and iterating based on user feedback helps teams reduce the resources and energy required for development and production.
Furthermore, Lean manufacturing promotes cross-functional collaboration and rapid experimentation, fostering innovative and sustainable solutions. By bringing together diverse perspectives and swiftly testing ideas, teams can identify more sustainable approaches to design and development.
In conclusion, Lean UX is a valuable tool for advancing digital sustainability by promoting efficient and iterative development, collaboration, and innovation. Emphasizing leaner, user-focused products enables Lean teams to minimize their environmental impact while delivering impactful and sustainable digital solutions.
Can Waterfall SDLC Be Sustainable?
What about the waterfall methodology? Is it now considered outdated and unsuitable for present-day product management? Can Lean and Agile methodologies exclusively rescue the development of sustainable, high-quality products? While these methods can be beneficial, it's crucial to avoid treating methodologies as rigid rules akin to a religious doctrine. Instead, they should be regarded as valuable frameworks.
When adhering strictly to the Waterfall methodology, it's essential to be mindful of the potential for generating excessive waste in the process. If your project involves innovation or the creation of something new, Waterfall may not be the most suitable or sustainable choice.
In the current landscape, hybrid methodologies are gaining popularity, combining two or more approaches, such as Agile or Lean with waterfall, tailored to project requirements. This approach appears to be the most sustainable way of creating digital products, as it avoids forcing project management into predefined goals and principles. Rather, it treats methodologies as sources of inspiration.
By blending top-down and bottom-up strategies, a hybrid approach unites teams, stimulates creativity, and supports consistent product growth. This balance of predictability and adaptability makes it suitable for projects with varying uncertainty and change levels.
Moreover, a hybrid model promotes collaboration, broadens expertise, and enhances success in a complex product environment. Thus, the hybrid approach to product development provides a flexible and sustainable framework, contributing to the growth and success of both products and organizations.
Embracing an Agile or Lean, or Hybrid approach in software development is not just about sustainable work practices but also entails fostering a cultural shift. The principles behind these methodologies not only establish a sustainable work pace, respecting the work environment and personal time of individuals but also cultivate a mindset of continuous improvement and collaboration. This mindset influences not only how work is executed but also shapes the products created—products that are adaptable, responsive, and resource-efficient, aligning seamlessly with the broader environmental sustainability goals of the business.
Other Sustainable Frameworks In Product Design
In addition to Agile, Lean, and Hybrid frameworks, other design methodologies play a role in creating sustainable digital products. These frameworks provide valuable insights and tools to optimize product development processes and reduce environmental impact.
Human-Centered Design (HCD) vs Planet Centric Design
HCD focuses on understanding user needs and behaviors to create functional, user-friendly products. Placing the user at the center ensures that digital products are valuable and relevant, leading to increased adoption and reduced waste. It's worth noting that HCD aligns with sustainability, aiming to meet present needs without compromising future generations' ability to meet their own needs.
It should be clear that HCD takes into account sustainability in terms of its definition stating:
Sustainable development (...) meets the needs of the present without compromising the ability of future generations to meet their own needs.
However, there's a growing concern about HCD's limitation to human personas, as its human-centric nature may overlook the broader environmental impact of digital products and services. This led to the emergence of Planet-Centric Design, representing the shift from human to planetary needs. This perspective acknowledges stakeholders beyond humans, such as the "Arctic Circle," "Rainforest in Amazonia," or events like the "Covid Pandemic" from 2020-2022.
Practicing this approach could involve creating a Non-human persona for our next project, broadening the perspective to include the impact on the planet as a whole.
Design for Sustainability (DfS or D4S)
The Design for Sustainability methodology (DfS or D4S) primarily aims to promote sustainability in its broadest sense and minimize the environmental impact of designed items.
The D4S criteria are referred to as the three pillars of sustainability - people, profit and planet. D4S goes beyond how to make a 'green' product and embraces how to meet consumer needs in a more sustainable way. Companies incorporating D4S in their long-term product innovation strategies strive to alleviate the negative environmental, social, and economic impacts in the product's supply chain and throughout its life-cycle.
Some principles of design for sustainability include dematerialization, modular design, a preference for renewable energy, migration to product-service systems, and design for longevity. In the context of creating sustainable digital products and services, it's crucial not only to support them with renewable energy but also to dematerialize them by reducing the quantities of materials needed, thus minimizing the environmental impact.
The step-by-step guide is outlined in the manual compiled by Delft University of Technology's Design for Sustainability (DfS) Programme for the United Nations Environment Programme's (UNEP) Sustainable Consumption. DfS methodology creators focus on three design approaches: redesigning existing products, radical sustainable product innovation, and new product development. In each case, they examine the entire product life-cycle, encouraging design teams to consider the environmental impact of their decisions, from material selection and manufacturing processes to end-of-life strategies.
Circular design, also known as a cradle-to-cradle approach, extends beyond DfS by striving to create products and systems that are endlessly recyclable or upcycled.
To achieve this, the circular design emphasizes reusing materials and recovering their value, reducing the necessity to extract and produce new resources. How can we apply this approach to designing a digital product? There are several steps, such as:
- Minimize Resource Consumption and Waste Generation: Optimize code and content (images, fonts, video, text) by analyzing their necessity and eliminating unnecessary features and data.
- Optimize Production (Design, Development, Launch, and Maintenance): Choose efficient design methodologies, adopt new sustainability and energy efficiency tools, and align the product with its purpose.
- Design for Reuse, Repair, and Recycling: Apply the 3R approach to digital products by designing them for longevity, accessibility, and easy updates. Create a web style that lasts for an extended period rather than following fast fashion trends.
- Adopt Sustainable Design Toolkits and Frameworks: Use sustainable web design and development guidelines, best practices, and tools to reduce the negative impact of digital products and services.
By integrating circular design principles into the development of sustainable digital products, businesses can contribute to a more sustainable digital ecosystem, minimizing negative environmental impacts and ensuring a healthier and more inclusive digital future.
Imagine drawing inspiration from the shapes of flowers, the protective shells around nuts, or the organization of a beehive. This is biomimicry, a method that utilizes nature's innovative and sustainable designs. By observing the efficient and sustainable principles found in biological systems, designers can create more resource-efficient, resilient, and adaptable products.
When it comes to digital products like websites or applications, we can learn from nature's ability to create complex and efficient structures, such as the branching patterns of trees or the self-organization of social animals. This knowledge can be applied to designing intuitive and efficient user-friendly interfaces.
By incorporating these design frameworks into their product development processes, organizations can craft digital products that are user-centered and valuable and minimize their environmental impact. This holistic design approach contributes to a more sustainable future for the digital landscape.
Case Studies: Successful Implementations of Hybrid, Agile and Lean Methodologies in Sustainable Product Design
Enough theory; let's explore the practical side of methodologies in software development. Delve into case studies showcasing the successful implementation of Agile, Lean, Waterfall, and Hybrid approaches.
Spotify stands out as a prominent representative of the Agile methodology. Organizing themselves into Squads, Tribes, Chapters, and Guilds as part of their organizational structure, they promote cross-functional teams and frequent interactions. This approach enables rapid adaptation to changing market needs, aligning with sustainability principles by reducing time and resources spent on less valuable features.
WaysConf, a technology conference based in Kraków, Poland, focuses on various aspects of software development and design. Its inception in 2018 involved typical lean workshops, where a group of enthusiasts in web design discussed the conference's concept. The first edition was organized as a free event for 300 people. Subsequent editions scaled gradually, reaching 700 and later 1500 attendees. DesignWays evolved into WaysConf in 2023, encompassing a broader concept.
Methodology: Hybrid (Waterfall + Agile)
Like Dodonut, Bejamas frequently adopts a hybrid approach, blending Agile and Waterfall methodologies based on project requirements. Forcing Agile from the project's start doesn't make sense, as many websites rely on repeatable and highly structured development. Bejamas utilizes Agile's flexibility to adapt to various project needs efficiently. Large enterprise solutions use Waterfall for phases requiring strict planning and Agile for more dynamic development phases.
These examples illustrate how different methodologies contribute to creating sustainable digital products, depending on specific project needs. By selecting the suitable method and integrating sustainable design principles, organizations can craft digital products that are more efficient, effective, and sustainable, contributing to a healthier and more sustainable digital ecosystem.
Conclusion: Define your Methodology for a Sustainable Project Management
So which solution should you choose to become the more sustainable with the whole process? The answer is rather from those of type the most hated and vague: it depends. There is no one magical solution or one-size-fits-all approach that will definitely help you decrease the environmental impact in the process of creating your website, app, or other digital products. The best software development approach for your project will vary based on several factors, such as its scale, project nature, requirements, characteristics and complexity, team dynamics, the need for communication, and organizational goals.
It is crucial to start with the thought that the choice of SDLC methodology has a significant impact not only on the project's success but also on its carbon footprint.
To define your own methodology that will help you work on the project in a sustainable manner, here are some questions you can ask to help determine which methodology aligns best with your needs:
General Project Considerations:
What are the project goals and objectives?
- Understanding the overall purpose helps choose a methodology that aligns with achieving these goals.
How well-defined are the project requirements?
- If requirements are well-known and unlikely to change, a more structured methodology like Waterfall might be appropriate.
- If you search for innovation and final deliverables are rather unclear, Agile and Lean approach can be suitable.
Is there a fixed deadline for project completion?
- Fixed deadlines may favor methodologies that provide predictability, like Waterfall or a hybrid approach.
- 4. What kind of business do you represent? Is it a startup, huge corporation, or small and medium-sized company?
Team and Resource Considerations:
What is the size and skill set of the project team?
- Smaller, cross-functional teams might thrive in Agile environments, while larger teams might find Waterfall or hybrid approaches more manageable.
What is the level of experience with the chosen methodology within the team?
- Consider the team's familiarity with a specific methodology to ensure a smoother adoption process.
How available and committed are team members to the project?
- Agile methodologies often require more frequent communication and collaboration, so team availability and commitment are crucial.
Project Flexibility and Change Management:
How likely are the project requirements to change during development?
- Scaled Agile is well-suited for projects with evolving requirements, while Waterfall may be more suitable when requirements are stable.
Is the project susceptible to external factors that could introduce changes?
- Projects influenced by external factors may benefit from Agile's adaptability.
Client and Stakeholder Involvement:
How involved are clients or stakeholders in the development process?
- Agile encourages continuous client involvement and feedback, whereas Waterfall may involve clients at specific milestones.
Does the client have a clear understanding of project requirements from the start?
- Waterfall may be more suitable if clients have a well-defined understanding at the project's outset.
What is the organization's risk tolerance?
- Agile allows for iterative adjustments, making it suitable for projects in which risk management is a priority.
How critical is it to meet the project's original scope and deadline?
- Waterfall and hybrid methodologies might be preferred when strict adherence to the original plan is crucial.
What is the prevailing culture within the organization?
- The organization's culture can influence the acceptance and success of a particular methodology.
Are there previous successful experiences with a specific methodology?
- Leveraging past successes with a certain methodology can provide confidence in its effectiveness..
The number of questions to consider may seem overwhelming, but believe it or not, once you invest time in thoroughly reviewing the needs and requirements of your project and select the appropriate methodology, the outcome will not only ensure a smooth and enjoyable process for every stakeholder and team member involved but also lead to the successful development of a sustainable and eco-friendly product.
Meyer Pamela, “The Agility Shift”, 2015
Gothelf Jeff and Seiden Josh, Lean UX, 2016
Royce Winston W., "Managing the Development of Large Software Systems", 1970
Marco de Nacho, "7 Software Development Models to Organize Your Team", Clutch.co, November 8, 2022
Zaleski Monica, "Traversing Hybrid Project Management: The Bridge Between Agile and Waterfall", Toptal
Agile Sustainability Manifesto, Agilealliance.org
Fanse, Tejas. (2022). "An Agile Project Management for Green, Clean and Lean Sustainable Manufacturing"
Huber Samuel, "What is planet-centric design?", Medium.com, Jan 28, 2021
United Nations Environment Programme, "Design for Sustainability: A Step-by-Step Approach", 2009