How to Plan a Custom Business Application Before Hiring a Developer

10 views 20 min read
How to Plan a Custom Business Application Before Hiring a Developer

Before hiring a developer, document the business problem, map the workflow, identify who needs access and agree how you will test the first release. A clear brief helps PNG businesses compare quotations and budget for development, hosting and support.

A business owner approaches a software developer and says:

“We need a system to manage our customers, quotations, invoices, staff and reports.”

It sounds like a straightforward request. But what does manage actually mean?

Does the business want employees to prepare quotations online? Should managers approve quotations before customers receive them? Can customers log in to download invoices? Do employees from different branches have separate access? Does the system need to work when the internet connection is unavailable?

Each answer can significantly change the development scope, cost and technical requirements.

Many custom software projects become difficult not because developers cannot write the code, but because the business and development team begin with different expectations.

A business expects a complete operational system. The developer may have quoted only for a basic dashboard and a few data-entry forms.

The best way to avoid this situation is to prepare a clear project brief before hiring a developer.

For businesses in Papua New Guinea, this is particularly important when software must support multiple branches, existing spreadsheets, mobile users, payment integrations or operations in areas with unreliable internet connectivity.

This guide explains how to plan a custom business application, define its requirements, compare development quotations and prepare for successful delivery.

1. Start With the Business Problem, Not the Technology

Before deciding between Laravel, React, Django, Windows desktop software or a cloud platform, identify the business problem.

A company might say:

“We want a modern application with a dashboard.”

That describes a possible solution, but it does not explain the problem.

A more useful statement is:

“Our sales team records quotations in spreadsheets, our accounts team prepares invoices separately, and management cannot reliably see which customer requests are awaiting approval.”

Now the developer has something meaningful to investigate.

The problem involves information being stored in different places, employees repeating work and management lacking visibility into the process.

A custom application might help, but so might improving an existing system or connecting two products already in use.

Ask these questions first

  • What work is taking too much time?
  • Where are employees entering the same information repeatedly?
  • Which mistakes happen regularly?
  • What information is difficult to find?
  • Which activities require approval?
  • What do customers frequently complain about?
  • Which reports does management need but cannot easily produce? Avoid deciding on the final software architecture until these problems are understood.

Practical tip: Write a one-paragraph problem statement explaining what happens today, why it is difficult and what the organisation wants to improve.

That single paragraph becomes the foundation of the project brief.

2. Document How Your Business Currently Operates

Developers need to understand your actual workflow.

Do not assume that describing your business as a construction company, retailer, school or professional services firm explains how your employees work.

Two companies in the same industry may have very different operating procedures.

Example: A contractor's quotation process

Consider a hypothetical maintenance company in Port Moresby that also handles work in Lae.

Its current process might be:

  1. A customer submits an enquiry by email or WhatsApp.
  2. A sales employee records the details in Excel.
  3. A supervisor reviews the work requirements.
  4. An estimator prepares the quotation.
  5. A manager approves the quotation.
  6. The customer receives the document.
  7. Operations assigns the job after acceptance.
  8. Accounts prepares an invoice at the appropriate billing stage.
  9. The customer makes payment.
  10. Accounts reconciles the payment and closes the record. This is much more useful than simply requesting an “invoice and quotation system.”

It shows who performs each activity and how information moves between departments.

Identify exceptions, not just the normal process

Business software must also handle situations where things do not go according to plan.

For example:

  • What if a quotation is rejected?
  • What if the customer requests changes?
  • Can an approved quotation be edited?
  • Who may cancel an invoice?
  • What happens when a payment is only partial?
  • Can a staff member transfer a job to another department?
  • What happens when a customer submits the same request twice? These exceptions often reveal the business rules that matter most.

A useful workflow should describe both the normal path and important alternative paths.

3. Identify Every Type of User

A custom application may serve several groups with different responsibilities.

Before development starts, list the people who will use it and what they should be allowed to do.

Example user-role matrix

User Main responsibilities Access required
Customer Submit requests and check progress Own records only
Sales Officer Review enquiries and prepare quotations Assigned customer and quotation records
Supervisor Assign jobs and update progress Relevant operational records
Accounts Officer Issue invoices and reconcile payments Authorised billing information
Manager Review approvals and reports Agreed management information
System Administrator Manage users and application settings Controlled administrative access

This is an illustrative matrix, not a requirement that every organisation use these exact roles.

Why permissions matter

An application that shows every employee all customer information may create unnecessary operational and privacy risks.

The developer needs to know:

  • Who creates records?
  • Who can edit them?
  • Who approves important changes?
  • Who can delete or archive information?
  • Who can generate reports?
  • Which records are restricted by branch or department? For example, an employee in the Lae branch may be permitted to manage local enquiries while management in Port Moresby has organisation-wide reporting access.

These decisions affect the database, backend permissions and interface design.

Do not leave them until the end of development.

4. Separate Essential Features From Nice-to-Have Features

One of the biggest planning mistakes is treating every proposed feature as equally important.

A business may request customer management, invoicing, inventory, HR, payroll, email automation, analytics and a mobile app in the first release.

That can produce a project too large to implement and test effectively.

Instead, divide features into priorities.

Example feature-priority table

Feature Priority Reason
Staff login and role permissions Must have Required for controlled access
Customer records Must have Central to the workflow
Quotation creation Must have Main business requirement
Manager approval Must have Existing company procedure
Invoice records Must have Required operational handover
Basic reports Should have Helps management monitor work
Automated customer reminders Could have Useful but not essential at launch
Dedicated mobile application Later phase Mobile web access may be sufficient initially

A practical prioritisation approach is MoSCoW:

Must have: Essential for the application to perform its core function.

Should have: Important, but a temporary alternative is possible.

Could have: Valuable enhancement that can wait.

Won't have in this release: Explicitly outside the initial scope.

This method helps both the customer and developer understand the intended first release.

It also makes quotations easier to compare.

5. Describe Features as Tasks Users Need to Complete

A feature name alone does not tell a developer enough.

For example, “customer management” could mean storing contact details, tracking service history, assigning account managers or providing a customer login portal.

A better approach is to describe specific user actions.

Software teams often call these user stories.

Example user story

“As a sales officer, I want to create a quotation from a customer enquiry so that I do not have to re-enter customer information.”

That statement identifies:

  • The user.
  • The required action.
  • The business benefit. Another example:

“As a manager, I want to review quotations awaiting approval so that customers do not receive unapproved pricing.”

These statements are useful starting points, but they still require additional detail.

Define acceptance criteria

Acceptance criteria explain what must work before a feature can be accepted.

For the quotation feature, they might include:

  1. An authorised employee can create a quotation linked to an existing customer.
  2. Required fields must be completed before submission.
  3. The system calculates amounts according to agreed pricing rules.
  4. The quotation receives a unique reference.
  5. An unapproved quotation cannot be issued through the approved workflow.
  6. An unauthorised employee cannot approve a quotation.
  7. A rejected quotation shows its status and can be revised according to the agreed rules. These are requirements that can actually be tested.

Compare that with a vague requirement such as:

“The system must have a modern quotation module.”

The second statement provides very little information about what the module needs to do.

Good acceptance criteria reduce disagreements about whether development work is complete.

6. Decide What Information the Application Will Store

Software development is not just about screens.

Behind each form, dashboard and report is information that must be stored and maintained.

Prepare a list of the main records your organisation needs.

For a contractor management application, that might include:

  • Customers.
  • Employees.
  • Departments.
  • Services.
  • Enquiries.
  • Quotations.
  • Jobs.
  • Invoices.
  • Payments.
  • Supporting documents.
  • Activity history. Then explain how those records are connected.

For example, one customer may have multiple enquiries. An enquiry may lead to a quotation. An accepted quotation may be linked to a job and subsequent billing records.

These relationships affect the database structure.

Existing spreadsheets are useful starting material

If your organisation currently uses Excel, provide representative copies of the existing forms and spreadsheets, with unnecessary personal or confidential information removed.

The developer can use them to understand current fields and processes.

However, spreadsheet data often needs cleaning before migration.

Common problems include:

  • Duplicate customer records.
  • Inconsistent date formats.
  • Different spellings for the same supplier.
  • Missing reference numbers.
  • Incomplete contact details.
  • Amounts stored as text.
  • Multiple records combined into one cell. Do not assume that every spreadsheet can be imported automatically without review.

Agree which records need migration, who will verify the data and what happens to the original files afterward.

7. Identify Integrations Before Requesting a Quotation

Many businesses already use software that a new application must connect with.

Examples include:

  • Accounting software.
  • Payment gateways.
  • Point of Sale systems.
  • Email services.
  • Existing customer databases.
  • Inventory platforms.
  • SMS providers.
  • Other business APIs. Not every platform offers the necessary integrations.

Example: Online payment integration

A business may ask for BSP Pay, Kina IPG or another payment service.

Before including it in the development scope, confirm whether the intended provider supports the required payment workflow and whether the business has the necessary merchant approval and credentials.

The developer should investigate:

  • Available API documentation or SDKs.
  • Supported payment methods.
  • Transaction verification.
  • Payment notifications.
  • Reconciliation requirements.
  • Refund handling.
  • Testing environment.
  • Provider restrictions and fees. Payment processing must be planned around the actual provider's capabilities.

An integration should not be promised simply because the provider's name is familiar.

Integration checklist

For each external system, record:

System name: Which product or service is involved?

Purpose: What information must be exchanged?

Direction: Is the application reading data, sending data or both?

Frequency: Real-time, scheduled or manual?

Access: Who provides credentials and authorisation?

Failure handling: What should happen when the external system is unavailable?

A reliable application needs a plan for failed and repeated requests, not only successful transactions.

8. Plan for PNG Internet Connectivity and Devices

Papua New Guinea organisations operate across different connectivity environments.

A web application that works well on a fast office connection may perform differently for staff using mobile data in remote locations.

Before selecting the architecture, identify where the application will be used.

Questions to answer

  • Will employees use Windows computers, tablets or phones?
  • Do all branches have reliable internet?
  • Will field workers need offline data entry?
  • Are large files uploaded regularly?
  • Will the application need to synchronise data between locations?
  • Which actions require immediate confirmation from the server? Web application or Windows desktop software? A browser-based system is useful when staff and customers need access through multiple devices without installing software individually.

A Windows desktop application may suit workstation-specific tasks, specialised hardware or particular local workflows.

Offline operation is a separate requirement.

A browser-based application does not automatically function offline, and a desktop application does not automatically synchronise correctly between branches.

For offline workflows, the developer needs to define:

  • Which data is stored locally.
  • Which actions remain available.
  • When synchronisation occurs.
  • How conflicting updates are handled.
  • What happens if a device is lost.
  • How users know whether their records were uploaded successfully. These requirements can substantially affect development effort.

9. Choose Between Existing Software and Custom Development

Before commissioning a custom application, check whether an existing product can solve the problem.

For example, a business needing ordinary accounting and invoicing functions may be better served by established accounting software.

A school needing a standard learning platform may find a suitable existing learning management system.

Custom software becomes more relevant when the organisation has specialised workflows, unique reporting requirements or several systems that must operate together.

Compare the options

Consideration Existing software Custom application
Initial setup May be quicker Usually requires discovery and development
Features Defined by product capabilities Built around agreed requirements
Customisation Limited by vendor and product Greater design flexibility
Integrations Depends on supported interfaces Depends on accessible systems and budget
Maintenance Usually vendor-managed within service terms Requires an agreed maintenance arrangement
Ongoing costs Licences or subscriptions may apply Hosting, support and development costs may apply

Custom software is not automatically the better choice.

The correct decision depends on total cost, operational suitability and long-term support.

A capable developer should be willing to recommend adapting an existing system rather than building something unnecessary.

10. Establish a Realistic Budget and Project Scope

One of the first questions business owners ask is:

“How much will it cost to build the application?”

The problem is that custom development does not have one universal price.

A simple customer record system is very different from a multi-branch platform with inventory, payment integration, staff approvals and financial reporting. What affects the cost? Important factors include:

  • Number of modules.
  • Complexity of each workflow.
  • Number of user roles.
  • Required integrations.
  • Data migration.
  • Design requirements.
  • Mobile or offline functionality.
  • Testing.
  • Hosting.
  • Ongoing maintenance. The number of screens alone is a poor way to estimate a project.

One form with complicated calculations and approvals may require more development than several informational pages.

Request a properly itemised quotation

A development quotation should explain:

  • Included features and modules.
  • Assumptions.
  • Excluded functionality.
  • Development milestones.
  • Deliverables.
  • Testing responsibilities.
  • Data migration scope.
  • Deployment environment.
  • Training and handover.
  • Maintenance arrangements.
  • Payment milestones. Avoid comparing quotations based only on the final amount.

Two developers may offer substantially different systems under the same general description.

Account for ongoing expenses

In addition to development, the application may need:

  • Domain and hosting services.
  • Email or SMS delivery.
  • External API subscriptions.
  • Payment processing fees.
  • Monitoring and backups.
  • Software updates.
  • Technical support.
  • Future enhancements. Ask which costs are included in the development fee and which will recur.

11. Agree on Delivery Stages

A large custom application is usually easier to manage when delivered in defined stages.

For example:

Stage Work involved What the business should receive
Discovery Requirements and workflow review Agreed project brief
Design Interface and process design Reviewable screens and workflow diagrams
Development Core application modules Working testable features
Testing Functional and user acceptance testing Test results and corrected issues
Deployment Production configuration and release Accessible live application
Handover Training and documentation Access, instructions and support arrangements

A suitable first release is commonly called a Minimum Viable Product, or MVP.

An MVP is not a broken or unfinished system.

It is the smallest usable release that reliably performs the essential workflow.

For example, a quotation-management MVP could include customer records, quotations, manager approvals and basic status reporting.

More advanced analytics, customer portals or mobile applications could follow.

The first release must still meet its agreed quality, usability and reliability requirements.

12. Clarify Ownership and Handover Before Signing

A custom application may become essential to daily business operations.

Before development starts, agree who will control the application and its operational assets.

Important questions include:

  • Who owns the custom deliverables under the contract?
  • Who controls the domain and hosting accounts?
  • Will the client receive the source code where agreed?
  • Who manages database access?
  • How will staff administrator accounts be handed over?
  • Can the business export its records?
  • Which third-party services or licences are involved?
  • Who is responsible for future updates?
  • What happens if the development relationship ends? Ownership terms should be written clearly.

Do not assume that paying for development automatically transfers ownership of every third-party library, framework, design asset or licence.

A good handover also includes sufficient operational information for the client or another authorised developer to maintain the agreed system.

13. Test the Application Against Real Business Tasks

An application should not be accepted merely because it loads successfully or displays a polished dashboard.

The business should test what employees actually need to accomplish.

Example acceptance testing

For a quotation-management application:

Test A — Customer creation

Create a customer with valid details.

Verify that the record is saved and can be retrieved.

Test B — Quotation preparation

Prepare a quotation using agreed products, quantities and prices.

Verify the calculations and reference number.

Test C — Approval workflow

Attempt to issue a quotation before approval.

Confirm the application applies the agreed restrictions.

Test D — Permissions

Use an employee account without manager privileges.

Verify that it cannot approve quotations through the interface or backend.

Test E — Error handling

Submit incomplete or invalid information.

Confirm that the system displays useful feedback without creating corrupted records.

Test F — Recovery

Verify that authorised staff can retrieve the relevant records after an interrupted session or other agreed failure scenario.

The developer and business should document expected results before testing.

Acceptance criteria versus overall project quality

Individual acceptance criteria determine whether a particular feature works.

The project's broader Definition of Done may also include automated tests, documentation, deployment validation and completion of required handover material.

These are related but distinct requirements.

Agree on both.

14. Common Mistakes to Avoid When Hiring a Developer

Mistake 1: Choosing the framework before understanding the problem

Requesting React, Laravel or another technology without defining the workflow can lead to unnecessary complexity.

Mistake 2: Asking for every feature in the first release

An oversized initial scope makes prioritisation, testing and project management harder.

Mistake 3: Ignoring the existing data

Old spreadsheets, documents and databases may require significant migration and cleanup work.

Mistake 4: Leaving permissions undefined

Different employees and departments may need different levels of access.

Mistake 5: Assuming integrations are automatically available

External systems may require documentation, commercial approval, provider access or additional development.

Mistake 6: Focusing only on the interface

A visually impressive dashboard is of little value if the underlying workflows do not work.

Mistake 7: Failing to agree on acceptance tests

Without clear acceptance criteria, the business and developer may disagree about whether the project is finished.

Mistake 8: Forgetting maintenance and ownership

A custom application needs a clear operating plan beyond its launch date.

15. Copy This Custom Software Project Brief Template

Before contacting a developer, prepare a document using the following structure.

Business Information

Organisation: Your registered business or organisation name.

Location: Town, province and operating locations.

Primary contact: Person authorised to discuss the project.

Business Problem

Explain what currently happens and what needs improvement.

Example:

“Our company uses separate spreadsheets for customer enquiries, quotations and job assignments. We want authorised staff to manage the workflow in one system.”

Intended Users

List each type of user and the activities they need to perform.

Required Features

Separate features into:

  • Must have.
  • Should have.
  • Could have.
  • Outside the first release.

Workflow

Describe the main process from beginning to end.

Include approval, rejection, cancellation and correction scenarios where applicable.

Information and Records

List the data the application will store and identify any existing spreadsheets, documents or databases.

Integrations

Identify payment gateways, email services, POS systems, accounting software or other services that may need to connect.

Devices and Connectivity

Explain where the system will be used, which devices employees have and whether offline functionality is needed.

Reporting

List the reports management actually needs.

Example:

“Show quotations awaiting approval, invoices outstanding and jobs assigned to each department.”

Budget and Delivery

State the available budget range if the business has one, required milestones and any important operational deadlines.

Acceptance Criteria

Describe how the business will determine whether essential functions are working.

Hosting, Ownership and Support

Record expectations about application ownership, deployment, backups, training and ongoing maintenance.

A completed brief does not have to answer every technical question.

Its purpose is to give the developer enough information to investigate, clarify and produce a realistic proposal.

Frequently Asked Questions

Do I need technical knowledge before hiring a software developer?

No. You should understand your business problem, users and operating procedures. A competent developer can help translate those requirements into technical specifications.

Should I hire a full-stack developer or a software development team?

It depends on the scope. A qualified full-stack developer may handle a modest project. Larger systems may require dedicated design, backend, frontend, testing and infrastructure responsibilities.

Can a developer turn my Excel spreadsheets into a business application?

Often, yes. The developer must examine the existing records, identify relationships, clean relevant data and design suitable import and validation processes.

Can the application work on both Windows and Android?

A responsive web application can operate in supported browsers on both platforms. Dedicated desktop and mobile apps may require additional development. Hardware access and offline needs can influence the decision.

How do I know whether the developer has completed the project?

Use the agreed acceptance criteria, test real workflows and verify handover deliverables. Do not rely solely on screenshots, demonstrations or the developer's claim that the system is finished.

Can I add more features after launch?

Usually, yes, if the application is maintainable and the proposed changes are compatible with its architecture. New functionality should be assessed, scoped and tested separately.

Final Thoughts: A Good Software Project Starts With a Clear Brief

Custom software can help businesses organise customer information, connect departments, track approvals and improve operational visibility.

But software development is most effective when the organisation knows what problem it is trying to solve.

Before hiring a developer, identify the users, document current workflows, prioritise essential features and agree on what successful delivery means.

This provides a better foundation for estimating costs, choosing technology, comparing quotations and controlling changes throughout the project.

The aim is not to commission the most complicated application.

It is to develop a system that reliably supports the work your business needs to perform.

Discuss Your Project With Embakai Tech Solutions

Embakai Tech Solutions provides custom software and full-stack development services for businesses and organisations across Papua New Guinea.

Projects may include customer portals, quotation systems, staff dashboards, inventory applications, business directories and other database-backed solutions.

If you are planning a custom application, share your existing workflow, sample documents, intended users and the problem you want to solve.

You can also read What Can a Full-Stack Developer Build for a Business in Papua New Guinea? for practical examples of the types of applications businesses can develop.

Contact Embakai Tech Solutions to discuss your requirements and request a tailored development quotation.

Technical and Planning References

Need help applying this?

Turn the idea into a practical website, SEO or digital system improvement.

Contact Embakai Tech Solutions for a focused review, implementation plan or quote for your organisation in Papua New Guinea.