Welcome to proposal writing. As discussed in the previous topic and as shown in the image below, the request for proposal (RFP) stage is the first stage in the software development life cycle (SDLC).
A business without their own software development team who has a software development need will send out a Request for Proposal (RFP) to a selection of software development businesses telling them about their business and their ‘problem’ or need and asking them to submit a proposal of how they might solve this problem or meet this need. The description of the problem or need is called the (project) brief.
The RFP stage is one of the most important stages in the SDLC because let’s face it, if you don’t get your proposals right, you will get no business.
So, in this topic we’ll walk you through writing a proposal for a software development project in response to a brief. We will also discuss academic writing and the basics of project planning.
Let’s begin with the fundamentals of academic writing.
Academic writing is a unique way of writing – formal, succinct, evidence-based, objective, persuasive, these are all words that describe academic writing. Ensure your voice can be heard throughout the writing, from beginning to end, but leave your opinions ‘at the door’. This is the writing style you should be using in your assessments, as well as in your project proposals.
Watch 5 steps of the academic writing process (Scribbr, 2020) [4:13] which has some brilliant tips and tricks to help you on your journey to achieving excellent academic writing, and then answer the questions that follow.
Academic writing sorting
Sort the following 5 academic writing steps into the correct order.
Understanding question words
Another thing you will need to be familiar with, especially for your assessment writing, is what the questions are asking you to do. These questions usually have key words in them that give away what kind of answer you need to put out. For example, if the question says describe A, B, and C, then your answers shouldn’t be analysing A, B, and C, they should be describing them.
For a good explanation of a wide range of these, read Analyse, Explain, Identify… 22 essay question words (Oxbridge Essays, 2021).
The request for proposal (RFP)
An RFP covers a lot of information. For a client sending out an RFP, they don’t want to get overwhelmed with software development teams asking lots of questions and trying to get more information, so they ‘should’ cover everything you need to know to get your proposal going. However, the client should also set out a specific contact person for questions/clarification and a cut-off date for bidders to do this by.
The brief is the most important part of the RFP, as it describes the ‘problem’ and what they want you to do about it. It should also be rather brief, as you will want to see what solutions the bidders come up with, rather than providing the solution yourself and boxing them in.
About the client company
- Company name
- What we do, why we do it
- USP
- Values, vision, mission
Brief
- Identification and explanation of the ‘problem’
- Scope - what should be included and what shouldn’t be included.
- Goals/outcomes/requirements. Too much information here can restrict the bidders from providing exciting, creative solutions.
- Deadline
Submission requirements and timelines
Criteria
Budget
Contacts
For a situation where the software development team is within the same organisation, a similar document might be written, focusing on the project brief, without the introductory information.
Here is an example of an RFP template (PandaDoc, n.d.) for you to read through.
Scenario
Matteo is a creative and highly sought-after wedding planner. His business is called Better Together. He needs an app created where he can offer clients services such as a booking/requirements form, an RSVP system, and a wedding gift registry. He has $10,000 to spend and he needs it up and running within 3 months.
Your task is to use the documentation tool below to have a go at creating a very simple Request for Proposal that Johnny might send out to some software development teams.
Ensure you save a copy of your complete RFP; you will need to refer to this later.
Feedback
Well done writing your first RFP. As a software developer, you’ll normally be on the other end of the RFP, but it’s good to understand the whole process, from start to finish. Take some time to reflect on the following questions before you move on.
- What was the easiest part?
- What was the hardest part?
- What do you think was the most important thing?
- Was it hard to find the right balance of giving enough information but not too much (to allow the bidders to come up with their own great ideas)?
- What’s your top tip for writing RFPs?
The use of creative and critical thinking will go a long way to ensuring your proposal is hitting the mark.
What is creative thinking?
In the book, Managing creativity: a Japanese model (Basadur and Degroote, 1992), the organisational creativity process is presented as a constant cycle of three stages surrounded by a constantly moving environment. The three stages are
- Problem finding activity
- Problem solving activity
- Solution implementation activity.
If you apply this model as you assess the brief or RFP provided, you will be able to identify and find solutions for each issue flagged in the information provided. Have a look at the image below illustrating the creative thinking process and then we will briefly discuss how you will use your critical thinking skills simultaneously to analyse, prioritise and communicate these issues.
What is critical thinking?
Keep in mind HCI (human-computer interaction) as you prepare your proposal. HCI is the study and practice surrounding the design and creation of systems that people use to interact with computers – commonly called the User Interface (UI). HCI is really the ancestor of UX (user experience) which looks at the whole picture of the person’s experience while interacting with a computer or software. The goal is that the user interface be designed in such a way that any person can use the software without any training – it should be intuitive. The client’s customers/users and their experience with the software are number one, and your proposal needs to reflect that – customer-centricity.
Desmond Tutu, a Nobel Peace Prize winning South African human rights activist once said, “My father always used to say, ‘Don’t raise your voice. Improve your argument.’.” If you use critical thinking in your decision making you will be better able to justify those decisions at any time. So, what is critical thinking?
"Critical thinking is not just accepting something blindly, but evaluating, assessing, researching, looking at the big picture, interpreting… "It is the mark of an educated mind to be able to entertain a thought without accepting it."
Critical thinking is made up of 5 main skills: problem solving, analysis, interpretation, evaluation, and reasoning. Apply and demonstrate these critical thinking skills along with your creative thinking skills as you consider your potential client’s ‘problem’ and write your proposal.
Watch What is critical thinking? (Macat, 2016) [2:29], a short video that explains the art of critical thinking.
Begin by reading Part I & Part II of this article about The criticality of critical thinking and then answer the question that follows.
Describe a time when you used the Shamu approach.
From what you have now learned about critical thinking and from the article above, what would you do differently if you were faced with the same situation again?
Feedback
Everyone’s answer here will be entirely different, based on your own personal experience. But everyone will have had situations where they bowled right in and started working on a project, whether personal or work-related, without taking some time to plan first, or pausing throughout the process to re-evaluate and think outside the square – that’s what critical thinking is, and it is so important. It can be the difference between ongoing success or failure, just as it was for Ramu and Shamu.
What should be in a proposal?
The most important thing here is that you give the client exactly what they are looking for. This will keep you away from the bottom of the list when the first cull is made. Read the brief/RFP and address all their questions/concerns ensuring these are clear and easy to find in your proposal. Communication is key – more on that later in the course.
Most developers will totally agree with the sentiment of this cartoon which emphasizes how easy it is for people to understand the same thing in very different ways, and this is what we want to avoid, from the very get go.
Have a look at the interactive below to see some highlights of what’s covered in the different sections of a professional proposal – there are lots of different opinions about what should be included in a proposal, so there may be parts that are not relevant for your next project, or other things that you might need to add in – this is not hard and fast.
Cover letter/About us (short and sweet)
- Our company - values, vision & mission
- Our team - who we are, our experience in the field
- Simon Sinek (2009), leadership expert once said: “people don’t buy ‘what you do’, people buy ‘why you do it’.” Lots of other developers could probably create the same thing (‘what you do’), so ensure your ‘about us’ section shares ‘why you do it’, make them want to work with you (instead of the next or last person). Who knows, it might end up being the deciding factor.
- Previous (similar) projects
- Previous clients you might know
Project description/Executive summary
- About the client, include the vision, values, and mission (do your own research if it was not provided)
- Project name and what the ‘problem is’ – in your own words
- Describe the big-picture solution you envisage/project goals and overview
- Research and compare with what the competition are doing
Deliverables
- If it is to be released in stages, lay that out here
- Generally, what will you produce/what modules are needed?
- What is their responsibility and what is your responsibility?
- Scope
Planning
- Timeline with breakdown of deliverables/milestones, their responsibilities as well as yours, covering all stages of the SDLC
- Reporting plan
- Documentation plan
- Implementation plan
- Testing plan
- Cost breakdown
Technology overview
- What programming language, IDE are you proposing, and why?
- Select, justify, and apply architecture, patterns, services, technologies, and tools, to describe the software solution using current and emerging technologies
- Describe recommended data management and storage technologies to support the software application and the development process to match the application domain. Record any additional software or hardware that is required
- If external, who owns the deliverables/source code afterwards?
SD methodology
- Which methodology?
- How will you manage the project and its quality?
- How often you will meet with them
- How you will meet with them - phone calls, video calls, or in person?
Acceptance sheet
- Include detailed summary of project, timeline, cost, and then an area for signatures of both parties
Here is an example of a template proposal (PandaDoc, n.d.) that you could adapt for your own use.
Watch Chris share his very successful proposal template (A Nerd’s World, 2018) [11:43] that he customises to send in response to web development RFPs.
Scenario
You’re a software developer and you have received an RFP from Matteo, a wedding planner (the one that you created earlier in the topic).
Your task is to apply critical and creative thinking as you write up a succinct proposal based on the RFP. Follow the prompts to create your proposal using the documentation tool below.
Ensure you save a copy of your final proposal so that you can look back on it later.
Feedback
Well done on completing your practice proposal. In review, read and consider your answers to the following questions before moving on to the next topic.
- How did it feel?
- Did it give you some ideas?
- Have you made some notes for when you are writing real life proposals?
- How did you apply critical and creative thinking to the process of writing your proposal?
- Re-read the RFP and your proposal, checking that you covered all the problems that the client mentioned.
In this section we will talk about some essential tools for effective and efficient planning and managing of your projects, such as work breakdown structure, Gantt charts, and using Trello. We will also have a look at writing a project report.
The project plan
Let’s begin by watching Software development project plan (Jelvix, 2020) [6:29] for an overview of what goes in the plan.
You may have noticed that a lot of the project plan content already went into the proposal document. That’s great because you already have a lot of information. However, the project plan is an internal planning tool, so it will go into a lot more detail, and will help you keep the train on the railway tracks and get it to the station on time.
Work breakdown structure (WBS)
The WBS is a method used to facilitate the brainstorming required to break down a multi-faceted project into bite size pieces or activities that can then be allocated appropriate resource – funds/hours/team members.
The goal is simply to help make your project more achievable.
There are two main structure types, one where the work is broken down under deliverables sections, and the other is where work is broken down under stage sections.
The structure has 3 levels.
- Level 1 - main high-level sections of the project
- Level 2 – sub-sections (deliverables required to achieve the completion of the Level 1 stages or deliverables)
- Level 3 – activities (must be achieved to complete Level 2 deliverables).
At each level of the chart – all components must total 100% of the resources allocated to that section. This is known as the 100% rule and is a fundamental part of the WBS.
A simple WBS could be created using PowerPoint, but there are also specialised software options for this, such as WBS Schedule Pro, Visio, and MindView, if you find you need it.
Have a look at the image below to get an idea of what you’re working to create.
Working on a WBS together with your new project team is a great ice breaker, everyone will have plenty of ideas of what the project deliverables and activities will be, and you’ll be able to knock this out in no time.
Finally, read Work breakdown structure (WorkBreakdownStructure.com, n.d.) for more details and a greater understanding of WBS. The embedded video on the page will explain how you can use MindView to create a digital WBS.
Brainstorming a WBS
Think of the last project you were involved with, in education, at work, or at home. Spend ten minutes writing up a simple WBS on paper or using something like Microsoft PowerPoint or Word to breakdown the levels and deliverables involved in the project.
Feedback
When working on a project with other people, this is such a simple way to break down the tasks and make assignments, to bring everyone concerned onto the same page. We hope you will find this technique helpful in many situations to come, not just in your software development projects.
Gantt
Once you have used the WBS process to identify your activities and deliverables, you might want to use something called a Gantt chart to manage the progress of each item, your resources, and the overall project timeline. Gantt charts are the project management industry’s number one project management tool. Like the WBS, it is also a visual way of laying out what needs to be done, but it contains a lot more detail and flexibility. Let’s look at some of the features of a Gantt chart. If you have a large and complex project, you’ll find this is a much easier way to manage it all than only using a WBS.
One of the big wins of using a Gantt chart is that you can not only visually see the timelines of the deliveries and overall project, but you can also show relationships between activities, for example, when building a house, the foundations need to be completed before the framing can be installed.
Again, this could be drawn on paper, but as projects rarely follow exactly the timeline that we begin with, it’s best that you get this into an editable digital format right away using something like Microsoft Excel (basic), or Microsoft Project (intermediate-advanced).
Watch Mike explain What is a Gantt chart? (Online PM Courses – Mike Clayton, 2019) [5:21].
Using a Gantt chart can help you communicate the status of the project with other team members in a quick and understandable way.
This image shows:
- how a Gantt chart can be created using the levels and deliverables identified using the WBS technique
- how progress of the bottom-level activities are contributing to the progress of the next level up
- what interdependencies you may have between activities, such as start-to-start, finish-to-start, and finish-to-finish.
Trello
Trello is an online tool for project management. It is also based on a visual way of laying out all the tasks involved in the project, but it looks quite different to what we’ve looked at so far. It uses boards and cards, just like the Kanban board used in the Kanban methodology of software development.
One of the biggest benefits of using an online tool like Trello, is that you can collaborate with your team members, giving them a sense of responsibility for and ownership over the deadlines of activities assigned to them and visibility of where and how their activities fit in with and impact the whole project.
There is a free version, which includes web and mobile, and team collaboration.
Watch How to keep track of your work with Trello (Trello, 2020) [3:14] to see what Trello boards look like and to learn how to manage and edit cards. Again, you would organise your board using the same levels and deliverables you identified on your WBS.
To get yourself familiar and comfortable with Trello,
- create a free account
- start a new board
- use the deliverables and activities you wrote down in your earlier WBS task to fill in the board
- add some team members and assign them to tasks
- add deadlines to your activities
- save an image of your board.
Feedback
It’s great that you’ve had your first try using Trello, so when you need to pick it up for study or work, you’ll already be somewhat familiar with it. We are sure you would have seen how easy it is to use and the awesome possibilities!
Project close out
At the last stage of the SDLC (software development life cycle), the project will need to be closed out. This can encompass several activities that are crucial to the project. In many cases final payment will come only after project close out has happened successfully.
Some of the things that will need to happen are:
- finalising all documentation, including user and maintenance manuals written and handed over to client
- contracts checked and signed off as complete
- final payment made and received
- project report.
All tasks come under three main phases, which may overlap:
Phase 1 - Administration
The administration phase covers:
- the communications that are required at the close out, such as notifying all the stakeholders of the closure of the project
- ensuring all bills and staff are paid and incoming payments are received
- equipment and resource returns
- documentation and files archived, and relevant ones provided to the client
- appropriate handover and training provided to the client
- is there anything outstanding or unfinished – make plans to deal with these.
Phase 2 - Analysis
The analysis phase is helped by using this simple tool called the KRAC method, which very simply means:
- K – Keep the processes that worked well
- R – Remove any processes that weren’t effective
- A – Add processes that were missing
- C – Change processes that were ineffective and need adjusting.
The analysis phase covers:
- debriefing with all stakeholders
- analysis of what went well and what didn’t go well
- analysing return on investment
- analyse project processes such as:
- risks
- communication
- human resource
- quality
- scope
- timeline
- budget.
Phase 3 - Reporting
The reporting phase is when you put all your learnings and analysis into one last document to be presented to all interested stakeholders.
This is another time you will need to use those academic writing skills we learned about earlier in this module. The final report must be formal, professional, objective, succinct, and accurate.
Have a look at the interactive below to see what needs to be included in you project report – some of these items will only be relevant in a professional context and some will only be relevant in your study context – such as links to your blog and so on.
Cover page
- Name of the author
- Names of team members
- Start and end date of project
- Name of the project/scenario (fictional names)
- Name of school
- Programme of study (Year 1 Semester 1 - CS103 Integrated Studio I)
Index page
- Use the Microsoft Word table of contents feature which will apply links to the page numbers
- List of contents
- Hyperlinked page numbers
Introduction
- Purpose of the project
- Goals – how reality compared to what was planned
- Objectives
Technical options
- What options were available?
- How were these researched/reviewed
- Competitor analysis SWOT?
- Literature review?
Review of project critical areas
- Project costs, and how they compared to the original estimates or quote you provided to the client
- Project timeline
- Reflect on due dates for each to-do and milestone in the design stage
- Reflect on resource assignments
- Reflect on overall project timeliness
- Deliverables
- Business requirements
- User requirements
- Any still outstanding? What is the plan to address these?
Design
- Design decision
- Summary after completing a SWOT on at least 3 similar competitor apps
- Adjustments to initial design
- Use case diagram – clearly depicting a range of app users, and the features accessible to each of them
- Screen layout – rough sketches or wireframes for each screen
- Data structure
- the entities and their attributes with data types used
- files used to store the data
- Code style
- Naming conventions (camel case/pascal case/snake case, with examples)
- Tab space
- Space between blocks
Test results
Agile in practice
- Teamwork
- Communication
- Stand-ups
- Technical challenges
- Adjustments to initial plan
Conclusion
- Summary of the product you’ve created
- Limitations – technical limitations of the app, not personal limitations
- Summary of user feedback
- Future improvements of the app – phase 2
Links – provide links to the following evidence to help support your project report
- Trello
- Github
- Google drive
- Figma
- Google blog
- Anything else relevant to the project
References – used for your research, in APA style.
To ensure you don’t miss anything, watch Adriana explain what it takes to successfully close out a project (Adriana Girdler, 2020) [5:38].
Using the KRAC method
Think back to that same project you’ve been using throughout some of your activities, now have a go at analysing the processes of the project using the KRAC method. What would you:
- Keep?
- Remove?
- Add?
- Change?
Feedback
As your answers are based on personal experience, they will be different from person to person. The KRAC method is a quick and easy way to analyse how something went for you, so that next time you can do it even better, whether it is a work project or something in your personal life, like hosting a big gathering.