top of page

Selected success factors in Requirements Management

  • Zdjęcie autora: Gniewomir Gordziej
    Gniewomir Gordziej
  • 18 sie 2023
  • 9 minut(y) czytania

The evolution of Requirements Management (RM) has been substantial. Initially, RM might have commenced as a rudimentary product concept delineated on post-it notes. However, today, RM has progressed into a sophisticated array of advanced tools and optimal methodologies that empower product development teams to effectively construct high-caliber software.


Nevertheless, encountering a software project that impeccably aligns with customer requisites, adheres to deadlines, and remains within the predefined budget remains an infrequent occurrence. As the market landscape in which we create products becomes progressively cutthroat, developers are gaining an awareness of the considerable impact that requirements management wields on their financial performance. An increasing number of enterprises now comprehend the vital business necessity of fortifying their requirements management processes and toolchains against future challenges.


Pivotal success factors that contribute to a smoothly operational requirements management lifecycle are presented within the post. Evaluate your current RM procedures and toolkit using this checklist to ascertain your preparedness for forthcoming trials in software development within a swiftly evolving, IoT-connected market.


# Traceability


Heterogeneous toolchains represent an inherent characteristic of development ecosystems that have naturally evolved over time. Corresponding with the heightened intricacy of their products, development teams' requisites have progressively broadened, prompting them to incorporate new components into their toolkit. The integration of these novel tools with the existing toolchain has necessitated manual efforts, resulting in a mosaic-style array of development utilities. The outcome of this approach is a dearth of comprehensive traceability, challenges in version control, and disproportionately elevated upkeep expenses.


Modern development teams, which rely solely on singular-point solutions to fulfill their requisites, have undoubtedly encountered the intricacies inherent in such intricate environments. While certain teams continue to grapple with establishing traceability across the entirety of the lifecycle, the capacity to seamlessly track work items from requirements to source code, testing scenarios, and executed features has emerged as a pivotal facilitator of efficiency and excellence.


Furnishing your teams with a scalable, lifecycle-encompassing development platform not only ensures seamless traceability but also exerts a positive influence on product excellence, delivery timelines, and the clarity of development procedures. This undertaking has become indispensable in light of technological advancements that swiftly elevate the intricacy of products and, by extension, their development lifecycles, to unprecedented levels.


# Change & Configuration Management


As development lifecycles progressively adopt a more collaborative, iterative (Agile), and responsive approach to evolving customer demands, the management of change is emerging as a substantial challenge. Traditional methods of requirements management, rooted in the past, are inadequate for supporting the accelerating pace of these lifecycles. The involvement of stakeholders from diverse engineering domains in the editing of the same set of requirements documents inevitably leads to conflicting versions over time.


The ability to trace these alterations and assess their influence on product design and quality assumes paramount importance. Once a comprehensive traceability system is established, the formulation of a structured strategy for implementing changes becomes imperative. In this context, proficient configuration management has risen to the forefront as a pivotal facet of safeguarding requirements management for the future. The capability to track modifications empowers your team to rectify errors, and seamlessly connect code adjustments or updates with identified defects.


The effective drill loop for Change Request should constitute as following:

1. Request of Change

2. Impact Analysis

3. Steering Committee’s approval/deny

4. Implementation

5. Review(s) and reporting


# Stakeholders’ involvement


Within a rapidly evolving and tightly interwoven Agile development environment, establishing an effective avenue for comprehensive stakeholder collaboration stands as an essential cornerstone – much akin to the essential provision of electricity within a building. Indeed, the absence of such collaboration jeopardizes the viability of any successful development endeavor. The significance of streamlined collaboration is poised to intensify in the forthcoming times as the barriers between distinct development disciplines continue to disintegrate.


During the process of capturing and delineating requirements, it is imperative that not only requirements engineers but also testing and quality assurance personnel collaborate with end users (customers) to genuinely apprehend the requisite functionalities. Moreover, the procedure of requirements verification reaps substantial advantages from the active participation of all disciplines.


With the escalating adoption of DevOps, attributed to its manifold recognized merits, the convergence and broader perspective on software development achieve an elevated echelon. Both Agile and DevOps mandates the harmonious collaboration of disciplines to bridge the gaps across development silos throughout the lifecycle.


Undoubtedly, collaboration surfaces as a pivotal catalyst for future-proof requirements management. Its import transcends the confines of being merely a technical hurdle and extends into the realm of a transformative cultural shift. As a critical managerial mandate, it falls upon leadership to facilitate and foster the efficient partnership among all stakeholders, achieved through the assimilation of novel processes and tools.


Effective stakeholders’ involvement paradigm execution should include:


1. Attain customer satisfaction by means of prompt and continual product delivery.

2. Embrace dynamic alterations in requirements with openness and adaptability.

3. Foster a collaborative partnership between business stakeholders and developers, fostering daily interaction.

4. Prioritize face-to-face communication as the most effective medium for information dissemination.

5. Regularly calibrate and fine-tune team conduct to ensure optimal performance.


# Efficient utilisation of past (experienced) assets


Rather than pursuing radical leaps forward, much of the recent progress in contemporary software development is directed toward enhancing operational efficiency. The notion of reusability is not groundbreaking, yet achieving marginal reductions in development time and expenditures can notably augment overall profitability.


As software products advance in complexity, equipping your developers with access to project histories and facilitating the exploitation of pre-existing data, shared resources, and established workflows can impart transformative advantages. Notably, incorporating established, reliable code into your products bolsters their overall quality and resilience. In the context of developing an array of product variations, the potential to recycle not only requirements but also sections of source code, test scenarios, processes, and other components can be harnessed. In scenarios where intricate procedures are employed—such as safety-critical development where compliance prerequisites necessitate meticulous development methodologies—reusing tried-and-tested project templates, complete with established processes, can yield substantial cost savings.


# Migration & integration of different tools


Engaging with a central platform to establish a singular source of truth across various disciplines throughout the development lifecycle yields significant advantages. Nonetheless, proprietary development scenarios occasionally impede the realization of such streamlined tool ecosystems.


Instances of functional overlap and gaps within singular software solutions, coupled with the challenges posed by inter-tool communication, contribute to the phenomenon of tool friction. In such situations, the migration of data and the harmonization of processes across tools can effectively surmount the constraints associated with a fragmented tool landscape.


Effective requirements management and development teams operate with tools that either offer inherent integrations or facilitate the creation of interfaces. These measures ensure the uninterrupted flow of data and workflow across the entire development lifecycle.


# IoT Requirements Management


Effectively managing requirements poses a noteworthy difficulty within the realm of Internet of Things (IoT)-ready embedded products. These products encompass hardware, software, and service components, thereby necessitating a synchronized management approach across distinct development tracks that employ individualized tools. The absence of such coordination invariably leads to disorder where hardware engineering, software development, and service innovation intersect.


To address resultant challenges, the adoption of a comprehensive perspective on the product lifecycle is becoming imperative. However, encouraging teams to adopt this perspective and envision a unified product lifecycle presents a formidable managerial task. To facilitate this, furnishing a centralized platform proves invaluable, enabling teams to visualize and govern the overarching lifecycle of simultaneous development processes.


This integrated methodology also plays a pivotal role in enhancing the safety, dependability, and security of IoT-connected embedded products. By catering to existing and potential compliance requirements, it instills trust in the products and fortifies their reliability.


# Agile Requirements Management


Requirements form the foundational bedrock of the transitional journey towards Agile methodologies, a prevailing trend that has even penetrated safety-critical sectors. This penetration, once deemed implausible merely a short while ago, is now evident.


- A substantial 94% of entities incorporate Agile practices within specific phases of the development cycle.

- Notably, 33% seamlessly integrate Agile practices throughout the entirety of the cycle.


An Agile Requirements Management process hinges on the creation of user stories, meticulously devised through collaborative efforts involving all relevant stakeholders. These stakeholders encompass end users and ideally, representatives from diverse engineering domains spanning the developmental continuum. These user stories encapsulate desired functionality from the user's vantage point, often expressed in their own terminology. Furthermore, these stories remain adaptable, evolving fluidly as insights are garnered during the iterative and incremental developmental strides.


Embracing Agile methodologies constitutes a profound shift in both organizational culture and operational processes. Nevertheless, the consensus among teams that have successfully undergone this transformation underscores the facilitative role of appropriate tools. By ensuring comprehensive tool support across the entire project lifecycle, the potential culture shock associated with Agile implementation can be mitigated. This, in turn, expedites the realization of benefits from the transition.


When selecting a forward-looking Requirements Management (RM) tool, certain critical aspects warrant consideration. These encompass seamless collaboration mechanisms, automated change control mechanisms, and the automatic generation of comprehensive artifact trails to ensure traceability throughout the lifecycle. In addition, the assessment of scalability, integration of Kanban boards, facilitation of DevOps practices, and the inclusion of advanced release planning functionality emerge as key factors to weigh. These capabilities are projected to gain increasing significance as the pace and intricacy of release cycles continue to intensify.


A reduced percentage of participants reported employing Microsoft® Excel this year (46%), compared to the preceding year (60%), and there was a decline in the utilization of Google Docs from (18%) in the previous year to (14%) in the current year.


# DevOps


The growing recognition of DevOps' capacity to heighten product quality and cost-effectiveness is driving its widespread implementation globally. DevOps operates by dismantling the barriers between development and operations, transforming the linear development lifecycle (culminating in product release) into an ongoing cycle of continuous enhancement.


In this context, DevOps significantly impacts requirements management. At the core of DevOps lies the concept of the Continuous Delivery pipeline, which establishes an iterative loop of feedback and refinement to expedite and elevate product delivery. Within the DevOps lifecycle, requirements evolve based not only on developer input but also on real-time operational monitoring data. Placing increased emphasis on non-functional requirements inspired by operational considerations and incorporating operational monitoring insights into requirements contributes to the creation of more robust software within compressed release cycles.


The percentage of people working on DevOps teams increases year by year:


- 2014: 16%

- 2015: 19%

- 2016: 22%

- 2017: 27%


The composition of DevOps teams witnessed a steady rise, progressing from 16% in 2014 to 19% in 2015, further to 22% in 2016, and culminating at 27% in 2017.


Notably, DevOps teams exhibiting exceptional performance demonstrate:


- A notable 46-fold increase in the frequency of code deployments.

- An impressive acceleration of 440 times in the lead time from code commit to deployment.

- A remarkable 96-fold reduction in the mean time to recover from instances of downtime.

- A commendable five-fold decrease in the change failure rate, resulting in changes being only one-fifth as likely to encounter failure.


Clearly, these specified demands arising from DevOps underscore the heightened necessity for a unified central management platform that seamlessly harmonizes with the array of software tools employed throughout the lifecycle. As the push for automating quality assurance, testing, and deployment gains momentum, the significance of incorporating tools like Docker, Jenkins, Kubernetes, and similar ones into the ecosystem is anticipated to escalate.


Furthermore, the incorporation of Service Desk capabilities will prove indispensable for effectively tracking and managing defects as they traverse the process of rectifying or updating requirements. Given the profusion of DevOps tools in play, the adoption of integration hubs such as Tasktop is projected to experience increased traction within the software industry, serving as pivotal facilitators of streamlined operations.


# Compliance


The advancing intricacy of technological products and the widespread integration with the Internet of Things introduce fresh opportunities for product developers, alongside inherent vulnerabilities. As medical technology increasingly converges with consumer goods, the rapid progression of autonomous driving technology, and the heightened exchange of sensitive personal data online, the focal points on safety and security have intensified.


Governments and regulatory bodies worldwide are actively crafting more stringent benchmarks to ensure the dependability, safety, and security of everyday commodities. Given the projected expansion of this trend across various sectors, compliance with these regulations poses a growing challenge for product developers.


To establish a resilient software development process primed for an evolving regulatory landscape, it becomes imperative to ensure traceability, meticulous process oversight, automated documentation encompassing change management, and sophisticated reporting mechanisms throughout the entire lifecycle.


In terms of requirements, the implementation of comprehensive review and validation procedures is essential, best facilitated by collaborative Requirements Management (RM) tools capable of stipulating and enforcing review protocols and workflows. The assurance, or ideally, the automation of traceability and documentation, coupled with the ability to generate reports spanning from requirements to release stages, will play a pivotal role as the culture of continuous compliance becomes the standard.


# Human factors


As the duration of release cycles contracts, products grow progressively intricate, and collaboration among diverse engineering domains intensifies, a certain degree of friction becomes virtually unavoidable. However, if left unaddressed, such friction can erode team morale and hinder overall performance. Employing skilled professionals, equipping teams with state-of-the-art tools and a centralized management platform, and ensuring the seamless flow of work across processes and software solutions are all pivotal in constructing a high-functioning development division.


Transparency, accountability, and efficiency stand as defining attributes of a development ecosystem that can withstand future challenges. Effective work management, communication protocols, and process governance contribute to the delivery of superior products while fostering harmonious engagement among all stakeholders.


What implications does this hold for requirements engineers and other contributors involved in the delineation of product specifications? It underscores the need for them to enhance their "soft skills", including communication abilities, along with receiving substantial support from appropriate tooling. These factors empower them to concretize user requirements into precise product specifications and to communicate effectively with diverse stakeholders spanning the entirety of the developmental lifecycle.


 
 
 

Komentarze


©2021 - 25 by MEDTECHCONSULTING

bottom of page