Writing specifications for the project, the traditional route

What are the general, traditional steps / steps in software development or, more specifically, writing specifications?

I know concepts such as the waterfall method, collecting specifications, use cases, etc. But I want a more formal explanation.

+6
project-management specifications
source share
5 answers

I also found companies:

  • Do not follow specifications.

  • Have a spec template. Each specification looks like everyone else (that is, "standard") - they all have the same sections.

I do not like it either. Each specification is different. Trying to make it a suitable rigid template is how to write a book for a template - a children's book is different from a book for adults, different from a cookbook different from ...

Some specifications require technical details (for example, in file formats), but others are excellent if they are presented from the point of view of users (a button that makes x when clicked).

The best specifications I've seen are those that I can take and do what it is, without having to ask the specifier any questions. If I have to ask questions, then I believe that the specification did not work. The spectrum should answer all my questions.

When I write a specification, I always print it out and read it (I find more errors when printing it). Then I leave it for one day and read it again. If I find errors or think about something that I missed, I update the specification, print it out and read it and leave it for one day. I keep doing this until I find nothing wrong.

The specification should be easy to read. Once I was handed a 120-page specification without a table of contents and page numbers. I asked the author of the play to announce the content, and her answer was "no, I want people to read the specification in order to find what they are looking for, since then they will read more." I spent a lot of time studying this specification, which was looking for material. It was a bad specification.

No matter what method you use to write the specification, it doesn't matter - the result is an important thing. The spectrum should be easy to read and answer all questions.

+4
source share

Joel has a series of articles on this topic, his advice, which I agree with, is to write short, clear specifications for important functions and pass them on to developers for work.

What you may not want to do is try to talk about the whole project when you start. Adhere to the characteristics of a higher level and proceed to more detailed information when you are ready to implement the function. Thus, you should not have so much overhead for documents, and you do not have much chance that your specification will become obsolete before development (if you did this several weeks or months ahead of schedule).

+2
source share

What type of specifications do you mean? The correct specification for you will depend on your team, which will use the specification and any requirements for project documentation.

Specifications should be tailored to the target audience and should take into account the expected life of the document. I used functional specifications and specifications. For the functional specification, the main target audience was the client, and for the technical specification, the target audience was the developers and the IT team (for deployment).

Functional specifications were usually not supported after development began. Typically, a functional specification was built before the start of the project and was used to estimate the size of the project. One architect I worked with wrote a kind of functional Spec in Power Point. He took it to all his meetings, technical and non-technical. It was full of easy-to-read diagrams and dotted pages, which we used as mission assignments for the project.

Technical specifications were sometimes maintained throughout the project. If it is updated, it can be used as a reference for maintenance.

+2
source share

I agree with @Dan that each specification is different, and may look very different. It’s important for me to have a consistent process that your stakeholders are interested in, and any tools (such as BRS templates) that make life easier.

The following is a small hack to a similar question .

The steps that I see are as follows:

  • Business Requirement Statement (BRS)
  • Functional Specification
  • Data sheet

BRS covers business challenges and requirements for solutions, testing, security, reliability and delivery. This determines what would make a successful decision.

The functional specification details what is needed, how it should look, how long the fields should be, etc.

Details of the technical specifications from which the data comes, any complex code that may need to be considered.

The customer owns the requirements. Developers own technical specifications .. and a functional specification is an intermediate environment. Testing is carried out in accordance with technical specifications (usually unit testing), and then against functional specifications (usually system testing), and then against requirements (UAT).

An important part of this is that developers still need to provide a functional specification and, most importantly, original business requirements. In fact, BRS is the god in all of this, and the functionality and technical specifications are just for clarity.

+2
source share

We use a basic template for our specifications, but we have some flexibility regarding whether to include all parts. I usually include a table of contents and, if necessary, a number table (for screenshots, error messages, etc.).

Sometimes we start with a feature or improvement, write down the full specification, and then do the encoding. In other cases, we will start coding, and then go back and set the specification after the fact. Both approaches work for us. Often our specifications describe how the function will work from the user's point of view, although we sometimes include technical details, such as new table definitions or changes to existing classes / modules / forms.

I agree with Dan, if the end result is useful to those who read it, then this is a good specification. I think it's good to have some kind of consistent format, so you can quickly find certain types of information when viewing several specifications.

0
source share

All Articles