For those of you who are Avengers fans, you would remember the movie Iron Man (2008). You may also remember Mark 1, the first suit that the millionaire maverick Tony Stark built for himself.
The purpose of this blog is to help explain how to write a functional spec. The product we will keep in focus is Tony Stark’s first Iron Man suit, Mark 1.
What is a functional specification?
A functional specification as the name suggests is a document that describes the functionality of the application. It helps the engineering team to understand how the user will use the application, product, or feature. A functional specification details out all the features the team needs to build and articulates why those features should be built.
Writing a functional specification
A functional spec can be written in a PowerPoint presentation or a Word document and must contain certain sections that will be discussed in detail in this post.
- Problem — what is the problem that you are solving. If you don’t know the exact problem statement, then you can begin with a problem hypothesis.
2. User Personas — who will use your product.
3. Principle- guiding principles of the product.
4. Project scope — list of specific project goals, deadlines, and costs. Also, clearly explain what will not be done.
5. Risks & Dependencies— anything that may impact completing the project on time.
6. Assumptions — all assumptions you make regarding scope, market, product, customer etc.
7. Solution — an overview of how you will solve the problem. This contains:
- Use cases — map the functional requirements with user action.
- Requirements — critical features of your product that answer the question: what does your product do?
8. Error handling — how your product will handle errors or exceptions.
9. Success criteria — how do you measure the success of your product.
If you have not seen Iron Man, then I suggest spending 10 minutes to view the beginning of the movie where Robert Downey Jr, plays the role of Iron Man & builds a suit for himself to escape from the terrorist hide out.
Spoiler alert: Certain sections in the blog reveal the plot of the movie.
Functional spec of Mark 1
Provide an overview of the situation, your business goals, team goals, or why you think this product is important for your organization.
I am Tony Stark, a multi-millionaire and owner of Stark Industries. I was visiting Afghanistan for a show and tell of our latest defense system when my caravan was ambushed by terrorists. I am captured in a cave and badly hurt. I am told that there are shrapnel in my body. Doctor Ho, a friend and my partner in the cave built an electromagnet that is keeping shrapnel from wounding my internal organs to keep me alive. There are several terrorists guarding the cave and I need to get away from here alive.
Explain the problem that you wish to solve. If the problem is not well defined, then explain the problem hypothesis.
The terrorists want me to make a missile for them, but in the guise of building a missile, I want to create a contraption that will allow me to be free from this cave. There are around 40–50 terrorists who are armed and have state of the art ammunitions. Therefore, the contraption should not only help me exit the cave and safeguard myself but also retaliate against the gun fire or any other assault from the terrorists.
2. User persona
Explain who will use this product?
I am building this suit for myself — “Tony Stark”.
The user of this contraption is:
- A healthy person who can bear the weight of 1.5 tons of steel on his or her body.
- An intellectually adept person who knows how to operate complex machinery.
- A strong willed and emotionally intelligent person who can manage the stress, anxiety, and post war trauma that may come due to hurting or at times neutralizing human lives.
The principles of this product that should not be compromised and serve as a beacon when in doubt.
- The user of this contraption should stay alive through the escape.
- No civilians should be harmed.
- Any threat to the contraption will be considered as a threat to the user.
- If the threat to the contraption or the user from another terrorist is high, then such threat can potentially be neutralized.
4. Project Scope & timelines
High-level scope of the product, the out of scope items, and high level timelines.
Timelines: The terrorists have provided 8 weeks to build the missile. We need to complete the MVP (Minimum viable product) contraption in less than 6 weeks so that we can surprise the terrorists in the escape plan. We can continue to build additional features in the contraption after the escape.
Scope: Build a contraption that acts like a safety armor to save the user wearing the contraption. The contraption should have defense mode that manages medium combat situations i.e. dealing with medium to light fire power and close combat fights. It should have an offense mode that can use fire power, missile power, flight mode to accrue damage to terrorists and their inhabitation.
Out of scope:
- The contraption does not account for heavy artillery that includes tanks & missiles that can penetrate re-enforced steel etc.
- The contraption will not have any stealth technology i.e. the contraption will be visible to radars etc.
- The contraption will not be re-usable after first use.
- The contraption is not designed for taking multiple flights.
Any risks due to partner dependencies, timelines, resource requirements, or external threats that may jeopardize product completion along with mitigation.
- There are several terrorists who are keeping an eye on my activities. In case I am caught, I can be dead. Mitigation: Make this operation covert and hide my activities from the terrorists.
- Procurement of all the items needed for the contraption can be time consuming and the availability is also questionable. Mitigation: Build only features and components that are available from existing Stark Industries artillery already available with the terrorists.
- The setup may be time consuming since it requires me to program the contraption and fit into the suit. If the time is too long, then the terrorists would get suspicious and barge in. Mitigation: The setup time should be less so that I am able to suit up before the terrorists open the door. I am worried that Dr. Mo hinted at offering assistance to keep the terrorists at bay to buy me some time, however I don’t want to exercise this option since it could jeopardize the escape & safety.
6. Assumptions & Pre-requisites
Enlist all the assumptions and pre-requisites while building your product. If the assumptions are not true and pre-requisites are not met, then the product delivery may be at risk.
- The software to build this contraption is in Arabic but I have learnt Arabic in high school therefore it should be fine. If there are new concepts that come up, then I need to learn them in no time.
- I will get all the requirements for the project if I can guise them in the need to building a missile.
- Any terrorist reinforcements are not possible if the time to escape is kept less than 15 minutes.
The pre-requisites to build the contraption are as follows:
- Workstation: Needs to be well lit for me to perform any activities in the darkness of the cave.
- Welding gear: Need welding gear to make joins on the contraption (acetylene or propane based)
- Soldering station: Soldering station for electricals along with helmets, goggles, and smelting cup
- Precision Tools: 2 sets
- Stark missiles: 11 such missiles
State the solution requirements along with the user scenario.
Scenario 1: [Vision] As a user, I should be able to see in the dark cave to find my way out.
Requirement 1: The cave is dark and I don’t know my way out. The contraption may hinder my vision therefore I need lighting mechanism that lights up the cave so that I can find my way out.
Scenario 2: [Setup]: As a user, I should be able to quickly set up the contraption on the day of the escape to take the terrorists by surprise.
Requirement 2: It took me around 4 minutes to walk from the inside of the cave all the way to the exit. If soldiers run, it will take them around 2 minutes therefore the installation and setup of the contraption should not take more than 2–3 minutes.
Scenario 3: [Strength]: As a user, I should be able to save myself from medium gun fire and artillery to stay alive.
Requirement 3: There are around 40 militants around the cave who may use weapons of stark industries against the contraption. Therefore, the contraption must bear the assault of bullets from AK47s, Rifles, Grenade attacks etc.
Scenario 4: [Power] As a user, my suit or contraption needs enough power to engage in a 15–20 minute battle and entertain single flight.
Requirement 4: This heavy contraption will need tremendous power to be able to carry out such heavy operations. It will be powered by 1.6gms of Palladium that can be extracted from existing missiles.
Scenario 5: [Arc Reactor] As a user, I need to get rid of the car battery that is connected to the electromagnet that is keeping the shrapnel from entering my heart.
Requirement 5: Build a miniaturized arc reactor powered by Palladium to serve as an electromagnet to keep the shrapnel in place. It will also serve as a power source for the contraption.
Scenario 6: [Time constraints] As a user, I need to ensure that the contraption stays functional for at least 15 minutes so that I can neutralize the terrorists and escape to a safer place.
Requirement 6: Doing my math, the arc reactor can operate for 15 minutes, therefore I need to rescue myself in my contraption in 15 minutes or less.
Scenario 7: As a user, I need to defend myself from any impact on the suit due to medium artillery attack by the terrorists.
Requirement 7: [Inner protection]: Since the contraption will be made of steel and may be subjected to medium artillery, I need duct tape, cushion, leather jacket, leather gloves, metallic neck brace and other protective gear to keep the steel from hurting my body.
Scenario 8: [Mask] As a user, I should be able to breathe through the mask and see my opponents.
Requirement 8: Build tiny vents into the mask that allow vision and air to breath. The vents around for vision are strengthened with re-enforced glass. I should be able to unmask myself in case of any limitations of oxygen or if I need to speak and deliver a powerful dialogue. This needs to be done only as an exception since the conditions in the cave are hostile.
Scenario 9: As a user, I should be able to defend myself to resist, desist and neutralize the terrorists. It should also allow me to escape from this hostile environment.
Requirements 9: [Defense mechanisms]:
Requirement 9a: [Punches] Pneumatic piston driven punches for close combat. If the terrorists come too close, then the punch should be such that it temporarily disables the terrorist for at least 15–20 minutes. Since there is a limit to the artillery that the contraption can carry, this should be the preferred choice of attack considering I can re-use the pneumatic punches several hundred times. The Force of a punch should be around 25,000 pound per square inch. I will have the choice to use both hands to generate enough force to break through the reinforced steel doors.
Requirement 9b: [Blow torch]: I can also use blow torch for close combat. The blow torch will operate on limited fuel supply therefore it should only be used where I can neutralize many enemies at the same time. The max distance that the fire from the blow torch may emit is up to 8m. This will also allow me to burn the existing supplies of Stark Industries ammunition on both sides of the entrance aisles.
Requirement 9c: [Short range missiles]: The missiles will be used to neutralize any terrorists at greater distance.
The supply of missiles is limited therefore this will be only for backup purposes. There is also a lead time to insert the missile in the launcher system therefore this will only be used on an exceptions basis. The range of the missile will be up to a few 100m.
Requirement 9d: [Single flight]: The contraption should allow flight that takes the user at least 5 miles away from the hostile situation. The contraption will require boosters that manage enough thrust to ensure the contraption can generate velocity of around 300m/s. During take off my trajectory path should be at an angle of 60 degrees. The fuel needed for the flight should be for around 15 second flight time.
Requirement 9e: [Safety landing]: There are no parachutes planned for the fall since this may add to the weight. The armor should protect me from any bruises on impact.
8. Error & Exception Handling
Any exceptions and error scenarios and how can those be handled.
- The chain and pulley system for the knee joint movements is vulnerable to targeted gun fire. If the chain and pulley system is compromised, then immediately exit the situation using the one-time flight.
- In case the safety landing system malfunctions, the contraption is designed for damage on impact and breaking the circuit breakers for all defense mechanisms in order to avoid any untoward fires and any harm to the user.
9. Success Metrics
Metrics that articulate the success of the product.
- Number of terrorists neutralized.
- Number of punches delivered.
- Number of missiles launched.
- Number of blow torch activated.
- Number of hits taken to the suit.
Key business metrics
- The persona wearing the contraption should survive to eat his favorite cheese burger.
The intent of this post is to give you an ideas of how you can write your product specs. All credits to Marvel Studio/ MCU for making Iron Man that millions continue to watch and enjoy for generations to come.
Stats show that less than 50% of the folks who land on this page will read this line. If you are one of those, then this post should have added some value. Leave a clap or two if this was of value else leave a comment to improve this post.
Photo credits: Marvel/ MCU/ Marvel Studios.