Frantz Kafka

Franz Kafka (3 July 1883 – 3 June 1924) was a German-speaking Bohemian Jewish novelist and short story writer, widely regarded as one of the major figures of 20th-century literature. His work, which fuses elements of realism and the fantastic,[3] typically features isolated protagonists faced by bizarre or surrealistic predicaments and incomprehensible social-bureaucratic powers, and has been interpreted as exploring themes of alienation, existential anxiety, guilt, and absurdity.[4] His best known works include “Die Verwandlung” (“The Metamorphosis”), Der Process (The Trial), and Das Schloss (The Castle). The term Kafkaesque has entered the English language to describe situations like those in his writing.

Kafka was born into a middle-class, German-speaking Jewish family in Prague, the capital of the Kingdom of Bohemia, then part of the Austro-Hungarian Empire, today part of the Czech Republic. He trained as a lawyer, and after completing his legal education he was employed by an insurance company, forcing him to relegate writing to his spare time. Over the course of his life, Kafka wrote hundreds of letters to family and close friends, including his father, with whom he had a strained and formal relationship. He became engaged to several women but never married. He died in 1924 at the age of 40 from tuberculosis.

Few of Kafka’s works were published during his lifetime: the story collections Betrachtung (Contemplation) and Ein Landarzt (A Country Doctor), and individual stories (such as “Die Verwandlung”) were published in literary magazines but received little public attention. Kafka’s unfinished works, including his novels Der Process, Das Schloss and Amerika (also known as Der Verschollene, The Man Who Disappeared), were ordered by Kafka to be destroyed by his friend Max Brod, who nonetheless ignored his friend’s direction and published them after Kafka’s death. His work went on to influence a vast range of writers, critics, artists, and philosophers during the 20th century

Darkest Hour (2017) – IMDb

Directed by Joe Wright. With Gary Oldman, Lily James, Kristin Scott Thomas, Ben Mendelsohn. During the early days of World War II, the fate of Western Europe hangs on the newly-appointed British Prime Minister Winston Churchill, who must decide whether to negotiate with Hitler, or fight on against incredible odds.

Source: Darkest Hour (2017) – IMDb

What is AGILE?

Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams. Agile methods or Agile processes generally promote a disciplined project management process that encourages frequent inspection and adaptation, a leadership philosophy that encourages teamwork, self-organization and accountability, a set of engineering best practices intended to allow for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals. Agile development refers to any development process that is aligned with the concepts of the Agile Manifesto. The Manifesto was developed by a group fourteen leading figures in the software industry, and reflects their experience of what approaches do and do not work for software development. Read more about the Agile Manifesto.

Source: What is AGILE? | What is SCRUM? | Agile FAQ’s | cPrime

How To Build A Mobile App Requirements Document

Business Requirements

Business requirements are criteria that are necessary to meet organizational objectives. Typically they outline how the product or solution will address the needs of the company and/or its users.

These considerations are commonly included when mapping out business requirements for a mobile app requirements document:

  • What is the purpose of the app or product? What are you trying to accomplish?
  • What is the current problem(s) it will solve?
  • How will it streamline or improve the current process or facilitate a new process?
  • What is the product vision?
  • What aspects are already in place? What needs to be added? Will the app need to be started from scratch or can you leverage existing assets?
  • What should the app be able to do (ie. functionality)?
  • What features will it need?
  • What is the monetization or business model?
  • Are there branding and design guidelines that need to be followed?
  • Is the ask feasible?

Product & Technical Requirements

Screen Shot 2016-03-28 at 3.55.13 PM

Source: Jordan Goms via Slideshare

Product and technical requirements outline the systemic and technical needs in order for the product to achieve the desired features and functionalities.

The following should be determined within the product/technical specifications for your mobile app requirements document:

  • What platforms will the app be built for (iOS, Android, etc)?
  • What should operating system versions support it?
  • What are your current services, servers, databases?
  • What are your maintenance needs? Do you need to support it for the future?
  • How long should the app function before an overhaul is needed?
  • Do you have current API/services documentation?
  • Do you have current Apple, Google, or other developer accounts/credentials?
  • Do you have existing provisioning profiles?
  • Are there other credentials that are needed or already exist (analytics systems, platforms, etc.)?

Dependencies

Dependencies are any aspect that the product or product team relies on in order to meet objectives. These may include:

  • Hardware that the app will run on/communicate with (for example, beacons)
  • Service/API documentation
  • Profile/account/platform credentials
  • Any third-party software your app relies on
  • Any flowcharts, documents, or information related to the product

Assumptions

lean-startup-101-23-1024

Source: Lean Startup 101 via Slideshare

In the early stages of a project, there are assumptions about the product that we believe to be true based on knowledge, experience, or current information. Typically, these include:

  • Assumptions about the user (for example, X% of users will see enough value in the product to become regular users)
  • Technical assumptions (for example, technical requirement A will work on the latest operating system)
  • Business assumptions (for example, we can develop the product in proposed time frame)

Constraints

Constraints are the limitations that teams must work within, typically scope, budget, and time. However, they may also include aspects like risk tolerance, resources/staff, and quality requirements.

Submission

Your mobile app requirements document should include all technical assets and information required for app store submission. Defining these requirements early will significantly expedite the submission process when the product is ready for release. While these will vary depending on the app stores being submitted to, below are the assets and information to include for Apple App Store and Google Play.

Recommended: How To Submit An App To The App Store

General Assets

  • Icons of supported sizes (iOS: @1x @2x @3x images | Android: mdpi, hdpi, xhdpi, xxhdpi)
  • Splash screens of supported sizes (iOS: @1x @2x @3x images | Android: mdpi, hdpi, xhdpi, xxhdpi)
  • Screenshots in correct sizes, in required languages
  • App descriptions in required languages
  • Search keywords in required languages
  • List of supported devices and OS versions

Apple App Store

  • iTunes Connect Account access
  • Company/Entity Name
  • App Store app listing name
  • Search keywords
  • Bundle id / SKU
  • Demo account for reviewers
  • Description
  • Support URL
  • Marketing URL
  • Privacy policy
  • App category
  • Copyright information
  • Contact information
  • App icon (1024×1024)
  • App Store distribution provision profile
  • App Store distribution code signing identity
  • Screenshots (correct sizes based on devices)

Google Play

  • Google Play Developer access
  • Store listing name
  • Paid/free
  • Short description
  • Full description
  • App icon (512×512)
  • Feature Graphic (1024×500)
  • App type
  • App category
  • Content Rating
  • Contact Email
  • Privacy Policy
  • Screenshots (correct sizes based on devices)

Things to Keep in Mind

Above we’ve gone through some of the aspects to include for your mobile app requirements document. When you’re crafting your requirements, you’ll also want to keep the following tips and considerations top of mind:

  • Requirements documents can (and probably should) be high-level, as it’s likely the product will change and evolve as new information and learnings become available
  • Be wary of too much detail. While this may seem counter-intuitive, you want to ensure that your product requirements document allows for a degree of flexibility. Intricately detailed documents that are drawn out before engineering begins will most likely need to be changed as the project progresses, which results in wasted time and resources
  • Also be wary of too little detail. A product requirements document shouldn’t be underspecified. Make sure that all important areas are covered. Run the document by the development team to ensure that nothing is overlooked
  • Don’t build your requirements without input. Your team has a variety of experience and insight; take advantage of it

The ultimate goal of creating a mobile app requirements document is to provide a foundation for a successful product. Mapping out business and technical requirements, dependencies, constraints, assumptions, and submission assets will give your team the ammunition needed to get your project off the ground. During development, questions are bound to come up, even with the most thorough PRDs. If questions are not answered in the document, make sure you add them in order to avoid any miscommunication.

During the process of defining the product, it is important to always focus on delivering superior value to the marketplace. It is easy to get distracted by competitors, vocal customers, and architectural issues, and you do need to understand those needs, but in defining a good product, always remember to focus on the value.

Source: How To Build A Mobile App Requirements Document