Do BDD/ATDD stories replace the need for traditional requirements? [closed] - bdd

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 1 year ago.
Improve this question
From what I can tell from online forums and posts, one of the main focuses of BDD/ATDD seems to be on discussion and ensuring that the customer, developers, testers and other relevant parties are involved in the understanding what the system must do.
Question 1: Do BDD/ATDD stories replace the need for traditional requirement specifications, such as the those captured using the Volere Template?
Because the traditional requirement specifications are one of the key inputs for developers and testers, traditional requirement specifications tend to be comprehensive.
Question 2: Should BDD/ATDD stories also be comprehensive enough to allow a system to be fully tested?

Question 1: Instead of looking at this question as a black-and-white situation, we should better understand how these two requirements capture methods get along with each other. Writing a story in the BDD/ATDD methodologies, or in Scrum for example, does not imply removing the templates like volere off the table. If we take a look at the volere requirements specification here, we can see that most of the information regards to project-related issues, and the shell used for functional requirements is far from being different to a story. They just have different information, not exclusive one.
Question 2: Here we have the advantage coming from the methodology itself. BDD comes from TDD, we can more or less rely on the test-first oriented process to allow the team to test the system. But, as I mentioned in question 1, making a BDD/ATDD story more comprehensive is not a sin, and wouldn't compromise the general idea of the story. This would also prove useful when interacting with more experienced clients.

Related

build developer guide for iPhone application [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
Is there any standard way to build developer, just making the developers understand the code easily after delivering, if you have sample it's better
If you want to know how to make your code better, you need to read about SOLID and other object-oriented design patterns.
There are no official Apple developer programming style guides.
I.e.: no official "Programming Standards" exist.
Standard only exist in terms of UI, external appearance of your application.
Normal software development criteria apply:
commenting
using software patterns appropriately, as pointed out in another answer, SOLID makes a lot of sense. Just in order to understand Apple Frameworks you need to know software patterns: delegation, visitor, proxy, etc.
document requisites and change requests, api and architecture if the app is complex
don't rely too much on bug tracking, these tend to be abused (change requests marked as bugs) and might add too much complexity of their own (JIIRA).
your organization may adopt an existing programming "quality standard" and adapt it to iOS development. ITIL is and ISO are usually overkill.
Sometimes it makes no sense to over-optimize and over-engineer everything, including your code and programming standards.

Is Erlang a good choice for a booking system backend? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I need to write the backend for an event ticket selling system. Some companies would connect to the service in order to check for ticket availability in certain venues, book tickets and so on.
Reading about Erlang I though it could be a good choice since the system will have to support high concurrency, high availability but I don't know If it's a good choice for this problem domain.
Any help would be really appreciated. Thanks!
Erlang could be a good choice, yes, it sounds like something it would do a very good job.
But it's going to be hard for anyone here to be of much value for your decision, as you should also consider the knowledge level of the team, time & budget constraints, etc.
Ultimately, the best people to help you make this decision are the people in your team.
I suggest you take a look at OTP's finite state machines as I think it suits perfectly a ticket booking system.
I believe you can find a lot of examples either in the doc or on the web.

What approach/methodology are you using for one-man software development [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
You can find thousands of questions out there about how you develop software and which methodology is the best one. But mainly these are targeting medium to large teams, with people having different roles and responsibilities.
What I'm interested in is what methodology are you using for your one-man-shows? What steps are you doing, what documents are you creating to get the things you want to develop clear and document it well, to share it with the community?
Especially, I’m interested in the following questions:
_Are you using a structured approach even you’re developing on your own or no at all?
_What phases are you using?
_Which documents are you writing before and after coding?
And if you have “your” standardized approach, can you share templates which you are using?
Thanks in advance,
cheers
Gerry
Personally I think it is a matter of making decisions when it comes to the development process (solo). In my case I wouldn't recommend setting up a massive development process but I would pick elements which prevent problems that I have earlier had. My approach for small applications (in the right order):
Always write down what you are going to make and what you are not going to make (define a scope) - Think of functional requirements (Functional Design)
(OO only) Make a class diagram that displays relations between classes. (Technical Design - Sequence diagrams, while usefull, take up massive amounts of time to make)
Write your program according to what you have just written down (or part of it).
Refactor and redesign your application (once in every X hours, write this one down)
Repeat step 3 to 4 until the result is what you wrote in the Functional Design.
Walk through every corner of your application to find every single path and write this down in a testdocument. Identify possible problems in the paths and test them.
When it comes to big applications however (or assignments for someone else) I prefer using the "medium to large teams" approach. Which almost brings a guarantee that you will not be meeting most problems.

What process do i take to understand an existing system for a very large hospital for example? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I've been asked to study and document the existing system for a tertiary hospital. The hospital consist of administrative (Accounts, Admin, Engineering,...) and clinic units (Pharmacy, The process by which a patient gets in and out of the hospital,...).
I would need to understand how data flows in and out and the business process.
It's a large hospital. How do i systematically analysis and document this system?
While i have this task, i have a generic system that can be implemented for the hospital and would like to tailor the system to their needs from my findings.
I need a plan in other to make this process a success. Can someone help me with a guide please?
Edit #1:
I found this helpful link
How To Define and Outline Your Business Process Workflow
Edit #2:
I have come up with a few question i think is necessary to start with. Please contribute to them and challenge them please.
What function are peformed by your department?
What Information comes into your department?
What Information do you send out from you department?
How do you use each information that comes in?
What do you do with them?
How do they flow?
How the information that leaves the department are generated or gotten?
How does each of this information flow?
What information do you generate?
What do you do with these information generated?
Don't know if this will really help you, but you could make yourself familiar with a methodoly like BPMN or use case modeling.
EDIT: the name for the game you are going to start is requirements analysis. Perhaps it is sufficient for you to go along the lines of that Wikipedia article, at least, it might be a starting point.
I would draw mind maps bit by bit when understanding unclear requirements. It may be helpful to you.

Best practice to start with the development of a web app [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
We (a group of 4 students) are planning to create a web-app on Ruby on Rails. I have done some web app projects in the past and one thing I have learned is the initial time devoted to design the app, which was very less, I just start coding with some basic things in my mind.
So, this time, I don't want to do the same mistake and want to plan the app (high level design). But again, sometimes I feel it might be an overkill for a student project which might span for 6 months.
So, what should be the best approach in this case?
My reqs are:
A plan which guides us through the development.
Should the plan be a text doc, a block diagram or what?
Should be clean, crisp and concise.
Would be great if you point me to some sample doc, template etc. Which is not an overkill but effective.
Start making a clone for stackoverflow. Dont go for a full deep functionality for initial stage.
Divide the whole functionality in 4-5 different phases.
Decide your phases.
You can use basecamphq(30 days free) or Fogbugz for planing, to-dos and lighthouse for bug tracking.
EDIT
Just think about the basic minimal functionality SO has:--
Sign-up. (Normal + open-id)
Ask a question, answer a question
Comments on question and answer
Votes on question and answer
tag a question
Question stats like question views, Unanswered question etc
Points
Badges etc
Make a list and divide them in various phases. Don't try to make exact thing in one go. Just start from basic things.
Like for the first phase.
Sign up
Ask question, with tags
answer a question
comments on them
Basic profile page.
For next phase:--
Add ajax for comments (Good for learning ajax)
Votes, Not points
Add things like Unanswered questions. (initial dont try to find the logic how SO is listing unanswered questions, Just do something like unanswered questions means question having no answer.)
Question views
then next phase and next phase. and finally you have a clone. :-)
Ask Jeff to review it. (Kidding)

Resources