views:

67

answers:

2

I have been tasked to provide an overview of requirements for the setup of a development environment for a relativity new business unit within a financial services institution.

I had initially put together some aspects that focussed on doing some Requirements analysis and focussed on Infrastructure, Software and Processes and Procedures

We have been told the MS stack is the preferable choice and will becoming an institute standard in the future so that was the obvious choice.

In terms of requirement software and tools, I broadly categorised them as

  • Source Control Systems
  • Bug Tracking and Task Management
  • Continuous Integration(CI)
  • IDE
  • DBMS

Visual Studio, .Net 3.5, SQL 2008 together with TFS were recommended be used to satisfy the above categories.

Moving along, six months later, I now have been asked to provide a list of public domain software for the above (which I read as we are cutting costs) but o be more precise "a complete list of everything that is out there, development environment, team development environment, languages, dbms, etc"

My initial thoughts went along the lines of ... (not suitable for this post).

The list I have prepared is as follows (not extensive as I am still working on it):

  • Source Control Systems : SVN, Git, Mercurial (I understand the difference of the above listed items)
  • Bug Tracking and Task Management: Trac, TaskFreak,
  • Continuous Integration(CI): Cruise Control (Java) / Cruise Control .NET, Draco.NET, AthillPro (Proprietary), Maven, ANT, NANT

  • DBMS: Postgres, MySql

  • IDE: Eclipse

  • Languages: "A complete list of everything that is out there" (actual quote)

Can the categorisation above be considered a 'minimum requirements checklist' for creating a development environment when taking into consideration the 'variety' of languages? What additional areas can be added? Am I approaching this in the correct manner?

Assuming multiple 'languages', what would the best stack be? (I know that this is like asking "how long is piece of string?", but I am looking for any help I can get)

A: 

You need to specify the kind of software you want to develop, the differences between doing web-based dumb forms, rich internet GUI's or desktop apps make a huge difference in the tools selection.

I notice you have not listed any user interface or application frameworks. I'd put that as an "additional area".

If you want to work with WPF or Silverlight, whilst in theory you can do so just using the Platform SDK and its free compilers, in practice it would be a considerable saving on time to use Visual Studio and possibly Expression Blend.

Another possible additional area would be "quality assurance tools" which could cover test automation, unit test frameworks, static analysis tools... The majority of these are commercial tools.

Andy Dent
@andy - I agree with the first point, however at this point I am just in the dark about whether it will be web-based or desktop-based.
Ahmad
A: 

The final result which seemed to be the one accepted.

alt text

Ahmad