AI-Powered Software Development activity of the week - Planning
Marko Jaanu
Head Of AI Powered Technology and Advisor at Siili Solutions, Board Member at Double Open
Overview of Planning in SDLC
In the planning stage of a software project, developers and clients collaborate to define project objectives and customer requirements. Effective scheduling and planning are critical to ensure technical efficiency and economic viability. This stage involves optimizing project targets such as costs, duration, and scope within certain constraints, a method historically referred to as the project management triangle.
Evolution of Project Management Techniques
Project management has evolved significantly since its inception in the late 1990s. Early systems relied on conventional linear programming, but modern methods incorporate coefficient interdependencies, non-linearities, multiple decision layers, dynamic conditions, and uncertainties, resulting in increased complexity.
Role of Generative AI in Planning
The growing complexity of decision layers and the need to reference past experiences and documentation across various information sources justify the use of artificial intelligence (AI). Generative AI (GenAI) tools can significantly enhance the planning process in several ways:
Harmonizing Contradictory Goals
Balancing the duration and cost of projects often presents conflicting objectives. Human planners can struggle to harmonize these goals effectively. GenAI tools can support this process by analyzing vast amounts of data to find optimal solutions that balance these competing priorities.
Task Assignment and Resource Allocation
Assigning tasks and allocating time and budget can exceed human planning capacities due to the broad search space and multiple input factors involved. GenAI algorithms can handle this complexity by iteratively reducing decision complexity and providing more precise and efficient task assignments and resource allocations.
Optimizing Scheduling Models
Conventional scheduling models face challenges due to their broad search spaces and the need to make simplifying assumptions. AI can solve these problems more effectively by considering multiple scenarios and inputs, thus delivering more accurate and optimized schedules.
Case Enhancing Behavioral Driven Development (BDD)
When using the Behavior Driven Development (BDD) method, defining and planning features, scenarios, use cases, and tasks are often done using Gherkin notation. Here's an example of a feature written in Gherkin:
领英推荐
Feature: Account Holder withdraws cash
Scenario: Account has sufficient funds
Given The account balance is $100
And the card is valid
And the machine contains enough money
When the Account Holder requests $20
Then the ATM should dispense $20
And the account balance should be $80
And the card should be returned
Benefits of Generative AI in BDD
Generative AI, such as ChatGPT, can make defining features and use cases more comprehensive. By iteratively narrowing down features through multiple prompts, developers can achieve higher quality and thoroughness in their cases. While this approach may not significantly speed up the process initially, it enhances the overall quality and comprehensiveness, leading to long-term efficiency gains. We see up to 20% speed increase in planning with the use of ChatGPT.
Custom Generative AI Models
General-purpose AI models like ChatGPT may sometimes deviate from the subject matter. This issue can be mitigated by creating custom GPT models fed with specific documentation and information sources. Custom models maintain a more focused approach and further speed up the planning process, reducing the need for constant guidance through prompting.
Applications in Project Management
Generative AI is particularly effective at the beginning of the process for project managers or solution analysts. It assists in defining the project scope, risk management plans, and other necessary project management documentation. While some documents are straightforward and consistent in format and content, others require a deep understanding of the system’s functional description. Generative AI can handle both types of documentation, albeit with different levels of efficiency.
Conclusion
Generative AI tools like ChatGPT offer significant advantages in the planning phase of the SDLC. They enhance the quality and comprehensiveness of planning documents, optimize task assignments, and improve scheduling models. While the initial speed gains might be modest, the long-term benefits include increased efficiency, better resource allocation, and a higher overall quality of planning outputs.
Used GenerativeAI tools: OpenAI ChatGPT
AI Advisor at Recordly | Partner at Fibo Labs | AI Transformation Leader ?? | Loving doing Solution Analysis ?? | Antler Alumni NOR5 ?? | VCLab Alumni C17 ??
10 个月Precode.ai - we’ve built the planning tool with GenAI, including most of the features listed here. Happy to share freely the learnings in the planning phase, the good and bad ??