Fog Creek Software
g
Discussion Board




The 'Holy Grail' of software revisted.

We ask the question, how do you develop, 'really good' software, and typically, the answer includes an approach with requirements documents, design, testing, coding, on and on.  But every time, I read these solutions, I think 'wow' these solutions are very general, not very specific. 

In any case, there are schools and books devoted to such a question and it is not an easy question.  But I do propose for future posts on this thread and posts on 'comp.software-eng' to included specifics.

How many people worked on gathering 'requirement docs'?

How long did it take to develop the requirements?

How long did you spend on 'design'?

How many people make up your development team?

How many people make up your test team?

What versioning software do you use, CVS, SUBVERSION, etc?

How big was your project, SLOC?

How industry was your project in?

People comment on how well 'linux' is documented, and it is true, I wish there were similar FAQ style webpages out there for software engineering and project management?

just my 2 cents

Berlin Brown
Sunday, May 23, 2004

> How many people worked on gathering 'requirement docs'?
> How long did it take to develop the requirements?

None.

We do not have formalized requirements docs. We use agile planning, which means that the developers are really only focusing on what's coming in the next few weeks.

The customer representative contains the overall system requirements in whatever form they wish. They aren't an issue until implementation time.

> How long did you spend on 'design'?

A couple percent, at the most. We generally only designed the complex system-level pieces of the system. The rest fell out during implementation.

> How many people make up your development team?

3, to start. A 4th hired on about 3 months ago.

> How many people make up your test team?

We don't have a dedicated test team.

> What versioning software do you use, CVS, SUBVERSION, etc?

Subversion 1.0

> How big was your project, SLOC?

I don't believe these measures have any value in the questions you're asking. There are approximately 500,000 lines of code in our application suite.

> How industry was your project in?

Marketing

Brad Wilson (dotnetguy.techieswithcats.com)
Sunday, May 23, 2004

> How many people worked on gathering 'requirement docs'?

1 or 2

>How long did it take to develop the requirements?

typically two hours to about a week, then minor revisions back and forth

>How long did you spend on 'design'?

Around 25% of total project time on average, then 45% code and implement (and unit tests), and rest on integrating, bugfixes and formal qualification testing.

>How many people make up your development team?

50-60 in our department, with 4-15 on each project, typically. But there is overlap since the core group (~5 people) kind of work on all projects simultaneously.

>How many people make up your test team?

3-5

>What versioning software do you use, CVS, SUBVERSION, etc?

Sourcesafe

>How big was your project, SLOC?

We don't use LOC, so who knows, but it takes around 8 hours to compile on a 2.4Ghz P4 (the source files are 2GB on disk).

>How industry was your project in?

Aerospace

>I wish there were similar FAQ style webpages out there for software engineering and project management?

There are tons of books, check your local bookstore.

Ron
Sunday, May 23, 2004

How industry was your project in?

and I apologize for not previewing my post

What industry are you in? -- sounds a lot better.

Berlin Brown
Sunday, May 23, 2004

> How many people worked on gathering 'requirement docs'?
> How long did it take to develop the requirements?

Same answer as Brad really. We do document some complex features in order to make sure the original concept behind them is valid. And we will spec out large changes to the system (i.e. changing our inventory management system) to make sure we're not break everything else during implementation. But that amount to maybe 40 hours a year at most.

> How long did you spend on 'design'?

Around 10-15% depending on the feature. Again, the more complex the concept the more attention paid to the design. But it is hard to really quantify because we design as we develop (it isn't a multi-stage process).

> How many people make up your development team?

2 with a 3rd being added soon.

> How many people make up your test team?

The entire company (down to the receptionist) is used for testing. We eat our own dog food and are always running 1 or 2 versions ahead of the live code.

> What versioning software do you use, CVS, SUBVERSION, etc?

SourceGear Vault

> How big was your project, SLOC?

300,000 or so (hard to tell really, there are a lot of plug-ins that are not part of that line count). The project is about 60% done.

> What industry was your project in?

Automotive Service

Marc LaFleur
Monday, May 24, 2004

Good information, thanks.

You can also be creative too, you may have some creative solutions that helped you in your project.

Me specifically, we are using custom code generation and other templates to create a lot of our code.

Berlin Brown
Monday, May 24, 2004

>> How many people worked on gathering 'requirement
>> docs'?
>> How long did it take to develop the requirements?

>>None.

>>We do not have formalized requirements docs

>Same answer as Brad really.

Son of a gun. Agile. I don't think so. At some point in the development, whatever it is that is being put together, there will be a test. How will the client know whether he got what he ordered? Will he just feel it? How will the supplier know whether he delivered the right thing? He and the customer will commune and feel it's good or not?

Requirements will be there whether you admit them or not.

Honestly, sounds like development with a Ouija board.

me
Tuesday, May 25, 2004

Did you miss this sentence?

"The customer representative contains the overall system requirements in whatever form they wish. They aren't an issue until implementation time."

I think that's pretty clear. Any "formalized requirements documents" would be the province of the customer representative, not the development team.

In our planning process, the requirements are given to the developers is the form of a customer story. The customer accepts or rejects the implementation of the story at the end of the iteration.

It's not random, and it's not a Ouija board. But it's not heavyweight formal requirements documents, either.

Brad Wilson (dotnetguy.techieswithcats.com)
Tuesday, May 25, 2004

*  Recent Topics

*  Fog Creek Home