Things you should include in a Project Initiation Document (PID)
Writing a PID as a software engineering undergraduate.
Why PID is IMPORTANT?
You may have been wondering why on earth we are wasting weeks doing documentation like this. You may think, why don’t we start doing prototyping so you can get ahead of schedule. Doing research is not that simple; It’s a well-planned task. Actually, documenting phases will help you in the rest of the project. It is the first basic step to ensure your project sets off on the right foot.
If you want to write a good PID, first, you have to understand its flow. All the topics are in PID are nicely connected. The PID structure that I have used is given below, along with the explanations.
You have to explain what the area of your research is briefly. Readers will not expect full detail in this chapter, but it has to give some overall idea of what your research is about.
2. Problem Background
Sometimes you can skip this and merge its content with the problem domain. However, you can briefly explain what your problem is and where it comes from. It’s good to have statistical facts to back your statement.
3. Problem Domain
Approach writing this section with the thought that you can’t assume your readers will know as much about the research problem as you do. If you are doing applied research, you can break down the problem domain into two parts, Domain and the
First, you can give some statistics about your domain area. If you are doing agriculture-related research, you can give some statistics on monthly generated revenue, the percentage from gross domestic income, and the affected population. By those facts, you should be able to make a strong statement to answer why this is important to solve.
4. Problem Definition
It’s a more focused definition of the problem, while the problem domain is the broader area.
4.1 Problem statement
If you tell the reader what you’re doing as early as possible in clear and simple terms, whatever you write after will make much more sense. — thephdproofreaders
A problem statement is a precise explanation of an issue, a condition, or a situation you wish to study. It helps you clearly identify your project's purpose by highlighting the gap between an ideal situation and reality and why it is important to bridge that gap. It’s good to limit this to one sentence. You can use another sentence to back, but it’s much cleaner if you can do it in one sentence.
5. Related work
Under this topic, you should strongly analyze past researches in your research area. For that, I have found a trick,
- Collect as much as relevant researches.
- Use reference management software and add those references to it and sort them by published date.
- Then roughly read them from the least recent date to the last recent date. It’s more like a scanning.
- Then start from the last recent paper and search for the past research names on those papers.
This method is very useful in how to get an idea to evaluate other’s research.
6. Research Gap
After critically analyzing related works, you will be able to point out the gaps. Sometimes those gaps can be found in the future works section of the article. This gap can be a novel solution or maybe an improvement of a past solution.
7. Research Challenge
You can describe the challenges that involve in this project. If it isn’t challenging, you have to think twice before continuing.
8. Research Contribution
The research contribution has two candidates. Contribution to the domain and Contribution to the Software engineering(SE)/ Computer science (CS) field. If you are doing applied research, it’s obvious that you were gonna contribute to that domain. But you have to make sure to contribute to SE/CS as well.
9. Research Question
By reading the research question, a reader can understand, “Okay, this is what he/she will do.” These are the characteristics of a good research question.
- Clear and focused. In other words, the question should clearly state what the writer needs to do.
- Not too broad and not too narrow. The question should have an appropriate scope. If the question is too broad it will not be possible to answer it thoroughly within the word limit. If it is too narrow, you will not have enough to write about, and you will struggle to develop a strong argument (see the activity below for examples).
- Not too easy to answer. For example, the question should require more than a simple yes or no answer.
- Not too difficult to answer. You must be able to answer the question thoroughly within the given timeframe and word limit.
- Researchable. You must have access to a suitable amount of quality research materials, such as academic books and refereed journal articles.
- Analytical rather than descriptive. In other words, your research question should allow you to produce an analysis of an issue or problem rather than a simple description of it (more on this below).
I suggest you visit this site and have a read for further details.
10. Research Motivation
In this chapter, you’re gonna say why you feel this problem is important to solve, why you gave priority to this likewise. You also can give a brief personal experience as well.
11. Aim of the Research
Your research aims are the answer to the question, ‘What are you doing?’
12. Research Objectives
Your aims answer the question, ‘What are you doing?’ The objectives are the answer to the question, ‘How are you doing it?’
What is the difference between research aims and objectives?
The aims of a study describe what you hope to achieve. The objectives detail of how you are going to achieve your aims.
13. Project Scope
The scope is the set of boundaries that define the extent of a project. In research, scope depends on the team force, budget, available technologies, and time frame. A good scope will help you to focus on the main goal as well.
These are the functions that you gonna promise to deliver at the end of the project.
An extension to your project, having GUI for a deep learning project are some of them. Usually, these auxiliary functions will be added to the second stage of a project.
14. Resource Requirements
Some of the example resource requirements are given below for a deep learning-based project. You have to specify why you need that hardware/software briefly.
some of the software requirements are given below for a deep learning project.
- Operating System (Windows 10 / MacOS / Ubuntu)
- Python/ R/ Rust
- Numpy/ Tensorflow packages
- Pycharm/ Jupyter Notebook/ Clion
- Core i7 processor / Ryzen 7
- 16 GB RAM
- Nvidia 2080Ti or above
- Disk space of 80 GB or above
Three main aspects govern any project's quality: cost, time, and scope, which need to be managed efficiently throughout the project lifetime. Thus rises the need for methodologies.
15.1 Research Methodology
Philosophy — positivism, pragmatism, realism, Postmodernism, and interpretivism.
Approach — deductive and inductive.
Strategy — quantitative strategy, qualitative strategy.
Choice — mono, mixed, and multi-methods.
Time Horizon — longitudinal and cross-sectional.
Techniques and procedures — data analysis, mediums such as interviews, observations, conversations, reports, statistics, surveys, organizational records, documents
15.2 Software Development Methodology
Adaptive, Agile, CCPM, CPM, Crystal, DSDM, Extreme Programming, Feature Driven, ITIL, Joint Application, IPM, Kanban, Lean, NPI, PRINCE2, PriSM, RAD, Scrum, Six Sigma, Spiral, and Waterfall are some of them. You have to choose the best-suited methodology and have to say why you have chosen that.
15.3 Project Management
Provide a complete list of the deliverables/products the project will produce. Make sure each deliverable has a unique identifier.
15.3.2 Gantt Chart
Most popular and useful ways of showing activities (tasks or events) displayed against time. On the left of the chart is a list of the activities and along the top is a suitable time scale. Each activity is represented by a bar; the bar's position and length reflect the start date, duration, and end date of the activity. The timeline should be matched with the methodology you selected. This can be easily made with Exel, Lucidchart.
15.3.3 Risk Association and Mitigation
No matter how well you plan, your project can always encounter unexpected problems. Team members get sick or quit, resources that you depended on turn out to be unavailable, even the weather can throw you for a loop
You can use a structure like the one given below.
At the end of the document, you have to cite all the references that you have used. It will help avoid plagiarism by clarifying which ideas are your own and which are someone else’s, and it will prove your understanding of the topic by showing how deep you have gone through on that topic.