SASA SHAMBA — Software Requirements Specification (SRS)
Table of Contents
- 1 Document Information
- 2 Project Overview
- 3 User Requirements
- 4 Detailed Feature Requirements
- 5 Technical Requirements
- 6 External Dependencies
- 7 Release Planning
- 8 Risks Assumptions
- 9 Market Specific Considerations
- 10 Sign Off
- 11 Additional Context
1 Document Information
| Field | Value |
|---|---|
| Project Name | SASA SHAMBA |
| Version | 0.1 |
| Date | 2025-08-07 |
| Project Manager | TBD |
| Tech Lead | TBD |
| Qa Lead | Tester |
| Platforms | ['Android', 'iOS'] |
| Document Status | Draft |
2 Project Overview
2.1 What Are We Building
2.1.1 System Function
An intelligent agricultural mobile application designed to assist farmers with farm setup, crop management, weather services, personalized AI-driven agronomy recommendations, and image-based crop disease diagnosis.
2.1.2 Users
- Farmer
2.1.3 Problem Solved
The application addresses the need for accessible, data-driven farming assistance. However, it currently suffers from critical flaws such as providing inaccurate AI disease diagnoses, non-contextual crop advice (e.g., tomato tips for all crops), and a partially functioning user interface (language and dark mode issues), which undermine its reliability and utility.
2.1.4 Key Success Metric
Increase the Overall Quality Percentage from 71.9% to over 95% by resolving all identified key findings and failed test cases.
2.2 Scope
2.2.1 In Scope
- User Authentication (Login, Logout, Registration)
- Farm & Profile Management (Add/Edit Farm, Upload Images)
- Crop Management (Add New Crop, Update Status)
- Weather & Advisory Services (Forecasts, AI-driven Tips)
- Personalized AI Recommendations ('Ask AI')
- Image-based AI Disease Diagnosis ('AI Scan')
- Task Management (Add/View/Mark Complete Tasks)
- UI Features (Language Change, Light/Dark Mode)
2.2.2 Out Of Scope
- Increasing the variety of supported crops (e.g., Agroforest).
- Advanced reminder notifications (per recommendation, as current implementation failed).
- Automated identification of different leaf/plant types beyond disease.
- Community/Social Features.
- Logistics Management.
- E-commerce/Store Integration.
- Soil AI Scan (per recommendation).
3 User Requirements
3.1 Authentication User Management
| Feature Code | I Want To | So That I Can | Priority | Notes |
|---|---|---|---|---|
| FT-AUTH-LOGIN | Log in to the app securely | Access my farm dashboard and other features. | Must | Login flows for valid and invalid credentials passed testing. |
| FT-AUTH-REG | Register a new account | Start using the application. | Must | Passed testing. |
3.2 Core Business Features
| Feature Code | I Want To | So That I Can | Priority | Notes |
|---|---|---|---|---|
| FT-AISCAN-DIAGNOSE | Scan a plant leaf using my camera | Get an accurate and relevant diagnosis of its disease. | Must | CRITICAL FAILURE: The AI provides diagnoses that are different from the real disease and misidentifies plants (e.g., reports 'apple leave' for every plant). |
| FT-WEATHER-TIPS | Receive weather condition tips | Get advice that is relevant to the specific crops I am growing. | Must | CRITICAL FAILURE: The app provides generic tips about tomato plants, regardless of the user's actual crop. |
| FT-TASK-RECUR | Create a recurring task (e.g., weekly) | Schedule and track regular farm activities without manual re-entry. | Must | FAILED: The recurrence icon and auto-generated next dates do not appear after creating a recurring task. |
| FT-TASK-REMIND | Set a reminder for a task | Receive a push notification before it is due. | Must | FAILED: Push notifications for reminders are not being triggered or received. |
| FT-CROP-UPDATE | Update the growth stage/status of my crop | Track its progress and receive timely insights. | Should | FAILED: The status update is not reflected in the 'insight' section. |
| FT-AISCAN-COMPARE | Compare two images of a plant side-by-side | Visually track the progression of its health or disease. | Should | FAILED on iOS: The feature only shows the details for one of the two selected plants. |
3.3 Additional Features
| Feature Code | I Want To | So That I Can | Priority | Notes |
|---|---|---|---|---|
| FT-UI-LANG-SWITCH | Switch the app's language (e.g., to Swahili) | Use the app in my preferred language. | Should | FAILED: The language change does not apply to the dashboard, and on the 'Ask AI' screen, the formatting is incorrect. |
| FT-UI-DARKMODE | Enable dark mode | Have a comfortable viewing experience in low light. | Should | FAILED: Dark mode is incomplete, with some places not changing and text becoming hard to read. |
| FT-PRIVACY-TERMS | View the Privacy Policy and Terms of Use | Understand how my data is used. | Should | FAILED: The content for the Privacy Policy and Terms of Use is identical. |
4 Detailed Feature Requirements
4.1 Ft Aiscan Diagnose
4.1.1 Priority
Must Have
4.1.2 User Story
As a farmer, I want to take a picture of a diseased plant leaf so that the app can accurately identify the disease and provide treatment steps.
4.1.3 Preconditions
User has granted camera and storage permissions.
4.1.4 Postconditions
The app returns the correct disease name with a high confidence score and relevant, actionable treatment advice.
4.1.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| AISCAN-TC-002 | Diagnose photo from clear leaf photo. | High |
| AISCAN-TC-003 | AI returns a different disease from the real disease of the plant. | High |
| AISCAN-TC-004 | AI recommendation status consistently labels every plant as 'apple leave'. | High |
4.2 Ft Weather Tips
4.2.1 Priority
Must Have
4.2.2 User Story
As a farmer growing maize, I want the weather monitoring section to show me tips about maize, not a generic crop.
4.2.3 Preconditions
User has registered a farm with 'Maize' as the crop.
4.2.4 Postconditions
All weather-related tips and advice in the monitoring section are specific to maize.
4.2.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| WEATHER-TC-001 | In monitoring button, every weather condition tip is about tomato plant instead of a crop in the farm. | High |
4.3 Ft Task Recur
4.3.1 Priority
Must Have
4.3.2 User Story
As a farmer, I want to create a recurring task for weekly weeding so that it automatically appears in my task list each week.
4.3.3 Preconditions
User is on the 'New Task' screen.
4.3.4 Postconditions
The task is saved with a visible recurrence icon, and the next instance of the task is auto-generated for the following week.
4.3.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| TASK-TC-002 | Create a recurring weekly task. | High |
4.4 Ft Task Remind
4.4.1 Priority
Must Have
4.4.2 User Story
As a farmer, I want to receive a push notification 30 minutes before a task is due so I don't forget to do it.
4.4.3 Preconditions
User has a task with a reminder set for 30 minutes prior. Notifications are enabled for the app.
4.4.4 Postconditions
A push notification arrives at the correct time with the task title.
4.4.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| TASK-TC-003 | Set and wait for a reminder notification. | High |
5 Technical Requirements
5.1 Performance Standards
| Requirement | Target | How To Test |
|---|---|---|
| App load | ≤ 3s | Stopwatch on target devices |
| AI Scan processing time | ≤ 5s from photo capture to diagnosis display | Time the interaction on target devices with a stable connection. |
| AI Model Accuracy | > 90% for supported crops and diseases | Validate against a labeled test dataset of plant images. |
5.2 Platform Requirements
| Platform | Minimum Version | Target Version | Notes |
|---|---|---|---|
| Android | API 28 (Android 9) | API 34+ | Testing was performed on a Samsung Galaxy A32. |
| iOS | iOS 14 | iOS 17+ | Testing was performed on an iPhone 13. |
5.3 Security Privacy
| Requirement | Must Have | Implementation |
|---|---|---|
| User data encryption | True | AES-256 at rest; TLS 1.2+ in transit |
| Distinct Legal Policies | True | The Privacy Policy and Terms of Use must contain separate and appropriate content. |
6 External Dependencies
6.1 Third Party Services
| Service | What It Does | Criticality | Backup Plan |
|---|---|---|---|
| Weather API Provider | Provides real-time and forecast weather data. | Critical | Have a secondary weather API provider for failover. |
| AI/ML Model Host | Hosts and serves the plant disease diagnosis model. | Critical | Ensure redundant server instances and robust monitoring. |
6.2 Device Requirements
| Feature | Required | Optional | Notes |
|---|---|---|---|
| Camera | True | False | Essential for AI Scan plant diagnosis feature. |
| GPS/Location | True | False | Required for farm setup and localized weather forecasts. |
7 Release Planning
7.1 Development Phases
| Phase | Features Included | Timeline | Success Criteria |
|---|---|---|---|
| Phase 1 (Critical Bug Fixes & Reliability) | ['FT-AISCAN-DIAGNOSE (Model retraining and logic fix)', 'FT-WEATHER-TIPS (Contextual logic implementation)', 'FT-TASK-RECUR (UI fix)', 'FT-TASK-REMIND (Notification service fix)', 'FT-AISCAN-COMPARE (iOS UI fix)', 'FT-UI-LANG-SWITCH (Dashboard/AI screen fix)'] | 6 weeks | All 'Must' priority features are functional. All key findings from the report are resolved. Overall quality score > 90%. |
7.2 Release Checklist
- All Must-Haves complete
- No critical bugs remaining
- AI diagnosis model accuracy validated at > 90%
- Contextual advice for at least 5 major crop types is verified
- Task and reminder system is fully functional and tested
- Privacy Policy and Terms of Use have been updated with correct, distinct content
8 Risks Assumptions
8.1 Risks
| Risk | Probability | Impact | Mitigation |
|---|---|---|---|
| AI disease diagnosis model remains inaccurate, leading to farmers making incorrect decisions and potential crop loss. | High | High | Invest in a more diverse and accurately labeled training dataset. Implement a user feedback loop for incorrect diagnoses. Clearly display confidence scores. |
| The application's advice is too generic (e.g., 'tomato tips'), causing users to lose trust and abandon the app. | High | High | Develop a robust system for mapping advice to the user's specific registered crop type. Prioritize creating content for the most common crops in the target market. |
| Failure to fix core productivity features like recurring tasks and reminders makes the app significantly less useful for farm management. | Medium | Medium | Allocate dedicated development time to fixing the task management module as a priority. |
8.2 Assumptions
- Users have smartphones with sufficient camera quality for clear leaf images.
- Users have intermittent or stable internet access for features requiring online processing (AI Scan, Weather).
- The target user base is comfortable with a mobile-first, app-based solution for farm management.
9 Market Specific Considerations
9.1 Primary Market
- East Africa (implied by Swahili language option)
9.2 Target Demographics
- Small to medium-scale farmers
9.3 Local Considerations
- Must support English and Swahili languages fully.
- The AI model must be trained on diseases and pests common to crops in the target region.
- The app should be optimized for performance on mid-range Android devices common in the market.
9.4 Payment Preferences
| Preference | Value |
|---|---|
| Mobile Money | N/A |
| Cash | N/A |
| Cards | N/A |
9.5 Competition
- Other digital agriculture and plant diagnosis applications
10 Sign Off
10.1 Approval
| Role | Name | Signature | Date |
|---|---|---|---|
10.2 Document History
| Version | Date | Changes Made | Changed By |
|---|---|---|---|
| 0.1 | 2025-08-07 | Initial draft created from SASA SHAMBA testing report. | Gemini System Designer |
11 Additional Context
11.1 Success Metrics
11.1.1 Customer Acquisition
10,000 active users within 6 months of relaunch.
11.1.2 Partner Signups
N/A
11.1.3 Daily Orders
N/A
11.1.4 Customer Satisfaction
App store rating of ≥ 4.5 stars.
11.1.5 Order Success Rate
N/A
11.1.6 Average Delivery Time
N/A