Software Design Description Practise [closed] - software-design

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
How many people actually write an SDD document before writing a single line of code?
How do you handle large CSCI's?
What standard do you use for SDD content?
What tailoring have you done?

I certainly have. Historically and on recent projects.
Years ago I worked in organisations where templates were everything.
Then I worked other places where the templates were looser or non-existent or didn't fit the projects I was working on.
Now the content of the software design is pretty much governed by what I need to describe to get the idea across to the audience.
"before writing a single line of code" there wouldn't be a a lot of detail. The documents I produce before I start coding are meant to get the idea of what we need to build across to the affected teams and senior management so they introduce high level architecture, functionality, technologies, risks and scope. Those last two are really important. The rest is to show other teams where you need to interface with them and to leave managers with a lingering notion that cool stuff is happening.

Most big software companies have their own practices. For example Motorola has detailed documentation for every aspect of software development process. There are standard templates for each type of documents. Having strict standards allows effectively maintain huge number of documents and integrate it with different tools. Each document obtains tracking number from special document-tracking system. They even have system (last time I seen it was in stage of early development) for automatically requirements tracking - you can say which line of code relate to given requirement\design guideline.

I would suppose that most people who write SDD documents and use terminology like CSCI have to be using a specific software development methodology and most likely are working for some serious government customer. They usually tend to take their preparations quite seriously and the documents are ready and approved before any development starts.
In an Agile process the development and the design document could be developed in parallel. It means that there will be plenty of refactoring to be done but it usually delivers very good results in the end.
In more formal processes (like RUP) a SAD document is mostly created during the elaboration/prototyping phase based on the team research.

Related

What is the standard order to develop software features in? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 5 years ago.
Improve this question
For a beginner hobbyist, it seems fairly common to create everything in the order it will be viewed by the user, regardless of its importance, and to intertwine back-end and front-end development.
Obviously, this isn't the most efficient method and would probably be avoided by more experienced developers. I've been exploring different ways to order software development, but I'd like to know if there's a standard that's widely accepted or recommended by the industry.
That is what software development processes are for.
Thing is: there are many different processes; thus there are many different answers to your question.
In 2017, most organisations use processes around the "agile" mindset (or they try to get there), thus your first stop could be Agile software development.
And to give a direct answer to your question:
when you start an agile project, you simply don't know about "all the things the user will view"
instead, you collect requirements
you translate requirements into "user stories"
then the development team and the users (or user representatives) decide on the priority of those user stories
and then, during the development iterations (sprints) a subset of the "most important" user stories is implemented
The key part here: requirements and their priorities are subject to change. The idea to collect everything upfront, to then define an order over all items is simply rejected nowadays.

Simple installed tool for digital Scrum Board [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
I am looking for a basic and simple-to-install digital version of a Scrum board.
I do prefer physical index cards, but in this case logistics makes it hard. Thus, I need to have it on the computer.
No real need to share data between several clients. To us it is enough if it runs on one single machine.
Just need basic functionality. A drag-drop board and a sprint burndown would do fine.
Due to regularly constraints I cannot use an online SaaS, must keep the data local.
Time is short, so simple install and ready-to-go.
Does not need to be free, but of course price is interesting.
I have not had this set of constraints earlier, so I am unfamiliar.
I have done some research and have some general experience. For example VersionOne, Mingle and Hansoft seem to have a good reputation. Anyone can comment on how those fit the above list? Anyone have other recommendations?
This thread is a bit old now, but leaving my find in the hope to help others searching the same topic.
If you are looking for a simple tool for developers to collaborate on a Scrum project, http://trello.com/ is very simple and intuitive. Absolutely no clutter and easily lets a small team manage their cards.
I would have a look at Atlassian Jira with the GreenHopper plugin - it has a nice dashboard.
http://www.atlassian.com/software/greenhopper/
Have a look at Mingle from ThoughtWorks. A really great tool. Wall looks like this
Free download/install for 1 year / 5 users.
Excel (or OpenOffice) spreadsheet? Why do you need a special tool for this?
I had a similar decision to make a year ago and went for Version One Team Edition - which is free.
http://www.versionone.com/Product/Compare_Editions.asp
It's easy to deploy the SQL database wherever you want it - so locally in your case.
Our team found using the software easy and intuitive.
The free version (up to 10 users) has ample features - the sprints/stories/tasks are easy to setup and view. The burndown chart is good.
All in all, I've no regrets with choosing Verison One - it's easy to install, easy to use and free.

How can I manage multiple Scrum Backlogs with Agilo? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 5 years ago.
Improve this question
We have now installed Agilo to manage our Scrum projects, and we have that proble: we can handle just one backlog. How can we have different backlogs?
Thanks for your time!
Maybe you should try other tools? :)
Here are some other tools you might like to try.
Installable onsite are Rally, Version One. I think Thoughtworks' Mingle is available onsite but they prefer to host it for you.
You may also like to try some of the new online Lean tools: LeanKitKanban, AgileZen.
If possible, get one or more big whiteboards and some post-its, then back it up / produce reports etc. electronically. Excel worked well for this for me. Also there's nothing like the tactile and immediate visual feedback from moving post-its around. You can use index cards and holders or blue-tack if the post-its fall off.
You can also represent the multiple backlogs at different scales; for instance, showing whole features, apps or systems completed at a project or programme level while tracking the smaller stories and tasks at a team level.
Do you have multiple products? There should only be one product backlog for each product - having more than one doesn't make much sense.
To break down a product backlog, it often makes sense to add extra columns to the backlog for different categories within that product. That would make it easier to filter and see different areas of the backlog quickly and efficiently.

Scrum backlog excel templates [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
I'd like to try scrum with my team. Studied a lot of posts about scrum tools here, but i think it's all superfluous and excel file is ok for product and sprint backlog. But it's problem to fing a good template. Maybe somebody could share excel template he is using for scrum backlog? Thanks.
Excel is really an extremely powerful tool and is very appropriate for the product backlog (and it has my preference if suitable: just share the product backlog on a network drive and there you go). I have used the following templates successfully in the past:
Henrik Kniberg's Index Card Generator and a wall for the sprint backlog
Petri Heiramo's advanced product and sprint backlog template (video tutorial here)
You can browse my personal collection for more of them but I recommend the two above.
Don't have any templates, but what tool you use for scrum is indeed whatever works for you, so excel could be just as good as any other. Just so long as it's quick and easy for all to use.
I was taught scrum techniques using physical props. Sticky notes and meeting drawing boards. The idea is you use that for a while, and then see if you can fit it into technology after if it doesn't hinder the scrum process.
I'd just try and knock up an excel template that fits for you, starting from a blank worksheet and just build up whatever seems to work.
Though for backlogs it may be better to have a tool that manages it if you are going to have a lot of items, and especially if you will have many stakeholders inputting into it. Maybe a bug tracking kind of tool. Plenty of good open sources ones about. Don't know how they fit into scrum, but always thought the likes of bugzilla could work but haven't tried it.
I'll say it is a good idea to start for a couple of sprints on paper.
It will let you understand the process before having to fight against the difficulties in using the software tool.
On the other hand, scrum can be used for projects of different nature, and not in all cases will have computers available.

Scrum as a software development methology [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 5 years ago.
Improve this question
Which organisations are best suited for use of Scrum methodology and why?
Scrum is not a development methodology, it is a project management methodology. Scrum is about managing workload and resources, and removing impediments to progress, and surfacing results at regular intervals to the whole team (including stakeholders).
Think to yourself:
could your dev/project teams benefit from a daily or bi-daily catchup meeting?
when you have design or project meetings, do the wrong people hog all the attention?
do you need to draw a distinction between various stake holders in a project?
could your team benefit from an iterative process, where "releases" are done frequently (i.e. every 3 or 4 weeks), and bugs and features are carefully prioritised against each other by the product manager?
The smallest team we have that uses something scrum-alike consists of 3 devellopers (2 full, 1 part-time), the stakeholder and the scrum-master ('secretary'). It works very well and we are planning to switch other small project teams to this method soon.
There are some 'points' you have to keep in mind:
We have the project status in an excel table under revision control, that is updated at least after the very short daily meeting.
The review and planning meeting is scheduled biweekly on a given day and will not be moved until all participants agree.
In all metings we break down the tasks from backloglist to smaller ones of max. 2 days of work, depending on the task type (concept, prototype, product etc). This proved to be the most valuable means to get reliable estimations!
If the stakeholder needs an status update or needs to adjust priorisation he can have a look at the excel table and change it, so even if he's not participating the planning meeting he has enough impact on project devellopment
The most important influence on management style is that you have evidence on what a given change would cost and what you can achieve until a given date (thing of a release date or a fair trade).

Resources