How to Formulate a Software Development Request: A Guide for Entrepreneurs

How to Formulate a Software Development Request: A Guide for Entrepreneurs

Hi, I'm Max from Bandapixels. We specialize in custom development, have been operating since 2017, and have completed many interesting projects. We focus on custom software solutions, automation and business processes optimization.

Constantly communicating with entrepreneurs, we know that many of you guys spend a lot of their time (and others' for this matter) searching for software development contractors "to develop a system." 

They often complain about the lack of specialists, misunderstandings with companies, and overall dissatisfaction with studios. 

I decided to create a detailed manual for all future clients, hoping it will improve many lives. Let's go!




How to Define a Goal and Why It's Important

A goal sets the direction for the entire project. Without understanding why you need the system, it's better to stop at this stage. 

It should be specific, measurable, achievable, relevant, and time-bound (classic SMART). No contractor will be able to set the goal for you because it will then be not yours but their goal.

Steps to Define a Goal:

  1. Identify the problem or need - What do I want to solve or achieve with this system?
  2. Determine the target audience - Who will use my system? Employees are also an internal audience. John from accounting and Jen from production might be one segment, while a twenty-year-old tech support specialists another.
  3. Analyze the market and competitors - What do they have and how does it work? Do I need this product? We've received requests for taxi services like "I want something like Uber." Questions like "why?" or "what's the goal?" often remain unanswered.
  4. Formulate the goal - Hopefully, SMART is a universal standard. If not, the responsibility for understanding lies with the speaker. Goals like "I want the company to soar," "doing it because competitors have it," or "need to spend the budget" are not acceptable.
  5. Prioritize needs - What is more important now? "We want to automate the entire company, create a unified portal" often means unclear goals and undefined processes.
  6. Engage stakeholders - Do users need the system? People fear new things, but classic change management involves selling the idea and conveying its value first, then implementing and training.
  7. Documentation - While Agile emphasizes a working product over exhaustive documentation, guidelines are still necessary. What isn't written isn't true.

Tools for Defining Goals:

  • Mind Mapping (MindMeister, XMind): Visualize and organize your idea.
  • Surveys (Google Forms, SurveyMonkey): Gather feedback from the potential audience to understand their needs.

Examples of Incorrect Requests and Their Analysis

Too General: "We need a website for our business."

  • Problem: Lack of details. It's unclear what type of website, functions, or target audience.

Without Budget and Deadlines: "We want to develop a mobile app for online courses."

  • Problem: No specific framework. It's hard for developers to assess the project and offer solutions within the client’s constraints.

Technically Overloaded from a Non-Professional: "We need a React app with GraphQL for the backend and Firebase for authentication."

  • Problem: Technological preferences without goals and tasks. It might end up being a pyramid or a barebones web service.

Structure of a Proper Request

  1. Brief Description of Your Business: At least the company name. Many are afraid to leave this in the form. We'll find it ourselves.
  2. Project Goal: Ideally SMART, but at least brief.
  3. Description of the Task the Project Should Solve.
  4. Target Audience, Including Internal Users.
  5. List of Must-Have Features: High-level but essential.
  6. Realistic Budget and Timeline: "Looking for an ERP, budget $2000" only leads to self-managed open source.
  7. Links to Similar Products or Features That Inspire You: If available.

Examples of Proper Requests

Name: Company "X"

Request: Seeking a team to create a mobile app that helps users form and track daily habits. Goal - launch MVP in 4 months with habit creation, reminders, and progress analytics. Target audience - young professionals aged 25-35. Budget - up to $20,000. Considering 'Habitica' and 'Todoist' as examples.

Name: "Training Point"

Request: Need a web platform for professional development courses. Task: Provide access to learning materials, video lectures, and tests with progress tracking. Course capacity - 1000 students. Target audience - adults aged 30-45. Budget - $10,000, timeline - 6 months. Examples: 'Coursera' and 'Udemy'.

Name: Company Y

Request: Planning to develop an inventory management system for small retail. Aim to simplify inventory and stock tracking, reduce data processing time for small shop owners. Budget - up to $40,000, desired completion in 3 months. Desired features: barcode scanning, integration with existing accounting systems, reporting. Looking at 'Square' and 'Shopify' for functionality.




Formulating a Request When You Only Have an Idea

  1. Describe the Idea: Start with a general description of your idea. Focus on the problem you want to solve and the potential audience. Don't worry about technical details; your job is to convey the vision.
  2. Potential Impact: Explain how your idea can improve the life or work of your target audience. This helps developers understand the project's value.
  3. Research: Share any preliminary research, including competitor analysis or potential user surveys.
  4. Functional Expectations: Even if you can't describe all the features, list key functionalities you think are important. Use "I'd like users to be able to..."
  5. Questions and Uncertainties: Honestly highlight any questions or uncertainties about the project, including technical capabilities, future scaling, costs, maintenance, number of iterations, etc.

Formulating a Request for Automating an Existing Process

  1. Current Process: Describe the existing process with its steps, participants, and tools. This helps developers understand where to start.
  2. Problems and Shortcomings: Clearly state the problems you face in the current process, such as delays, frequent errors, or high operational costs.
  3. Desired Automation: Specifically describe which steps or tasks you want to automate. If possible, mention preferred technologies or platforms.
  4. Expected Outcome: Indicate what improvements you expect from the automation, including any specific success metrics.




In conclusion, it may seem that I’m shifting responsibility to you (the future client) since quality service = good customer service. However, the success of a project always lies with both parties. If the project isn't necessary for you from the start and you're not ready to invest time, understand, and formulate it, you'll likely end it with a 1% success rate (statistical error).

Barry Rodrigues

Growing Early Stage B2B Startups faster by scaling their marketing ● Marketing Strategy ● Demand Generation ● Content Creator ● AI Enthusiast ● Fractional CMO ● Keynote Speaker

4w

looks solid

Like
Reply
Allan Fine

LinkedIn Lead Generation Expert | We help business owners improve their lead gen and sales development | 💲DM me today!💲| Content marketing and Boosting| Would you like 5-15 New Sales Calls every week?

4w

Nice work, very detailed

Andrew Marsham

Helping Executives Live Longer, Get Healthier & Perform Better ✅ Through Our Science Backed & Data Driven Online Health Coaching Program 🔬 Check Out My Featured Section & Website Below To Find Out More ⬇️

4w

Two days well spent

Dmytro Khramov

Chief Delivery Officer at IT company BandaPixels

4w

Always! (As if I have a choice ;)

To view or add a comment, sign in

Insights from the community

Others also viewed

Explore topics