Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
For small-to-large teams developing software together, what tools are used to form a comprehensive team development framework?
Specifically, I'm looking for a comprehensive list of all the individual functions involved (e.g. source control, bug management, testing tools, project management), not specific product recommendations. I'm also not restricting the list to a particular methodology (e.g. Scrum).
Source control (obviously) including branch management
Issue tracking (features and bugs), possibly with task reassignment and forwarding, and often things like screen recording
Individual task management, sometimes integrated with the issue tracking system
Communication software. Some teams use emails and IMs even within the same building or tweets. There are some tools that integrated within the code so you could "chat around a piece of code". Screen and application sharing are also useful.
Good build tool.
Distributed pair programming tools if applicable, shared editors otherwise.
Similar support in case tools.
Less commonly used but promising tools (from academic background), some now have IDE based versions.
Real-time awareness (prevent nerge conflicts by letting you know somebody is working on the same file before you actually write code)
In-code social tagging, useful for bootmarking specific items
In-code contract communication tools (e.g., make a caller aware of special expectations in the invoked method as a way of avoiding errors).
You've hit the major ones in your post:
IDE (Integrated Development Environment)
Coding Guidelines (sometimes looked over, but it still helps tremendously)
Source Control
Testing Suite (Unit Testing, Test Case/Test Script Management and Tracking)
Issue Tracking/Bug Reporting
Build Management
...I'm sure I'm missing something obvious, but somebody around here will correct me.
And the one I missed...
Diagraming software (I.E. Rational Software Modeler, etc.)
A few more:
Requirements management software
Code review software
Continuous integration tool
Documentation repository - e.g. Wiki
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I am using Oracle as a database. We have decided to use another database and need to use ETL tool to transform the data from Oracle to that database.
I have never worked in any ETL tool and also didn't know about it. After doing some web searching, I found some tools like Pentaho, Clover, Talend etc. But, even after reading on these, I am not able to decide which one to use.
Which is the better tool to get start with, easiest to use, and has good performance?
It's impossible to answer your question without arguing on the migration requirements. Generally speaking, however, the tools your cited are all nice and focus on a particular capabilities set which could help you during the choice:
Talend: it's eclipse-based; this means that it's really powerful, stable and customizable (creating custom components or even entire eclipse plugins, if you want) and standard (ie. the project structure follows the eclipse stack). It's quite-well embeddable, as it produces java code, but this could be an hassle for the newcomer anyway. The drawback is the learning curve: if you don't manage java at all, your learning curve will be VERY steep, but if you have a java developer in your team, Talend would be a great choice.
Penthao: it's another well-estabilished solution. Its ETL tool (named Kettle) is just a component of their wider Business Intelligence open platform, which is really good if you need reporting services, OLAP, data mining and so. It's java-based, but the language is completely hidden, so you don't need to be a java developer to use it efficiently. The major drawback is that Kettle is much harder to extend than Talend. This means: poor connectors/components out-of-the-box, few community-made collections. Integration with existing java application would be REALLY a pain in the neck, too!
CloverETL: I don't use it very often, as it's mostly the younger brothers of the others. Its major advantages are: it's light, easily embeddable and easy to learn. But it's really much less powerful than Talend and even than Kettle.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
Are there any software platforms out there that can be used to run scripts that monitor stock market activity?
I would like to write a script to send myself alerts when certain market conditions occur. Ideally it would also have the ability to execute trades.
I'm not looking for anything super complicated and I do not need expensive real time data. I'm looking to do simple stuff like:
If "SDY" drops to 5% below the DOD, then sell 50% of "DOD" to buy SDY
Edit
Looks like ETrade Offers an API. Not as simple as I'd like ideally, but here is is for anyone else who is interested in this question:
https://us.etrade.com/e/t/activetrading/api
From what I've seen, Tradelink does it all and supports multiple bourses, though it might be what you'd consider super-complicated. Possibly their most active API is for Interactive Brokers.
Other solutions appear to be brokerage-specific or not free.
For TD Ameritrade you might like their free StrategyDesk win32 downloadable; its simple trade automation is awesome. I don't even remember how I stumbled upon it since it's pretty well hidden or unadvertised in favor of their more modern platforms (all of which seem to lack trade automation though).
Even more defunct but equally useful might be Trade-Ideas, able to trade stocks based on rules and technical-analysis signals. It runs as a module of the ancient QuoteTracker or even stand-alone. In demo mode the signals are shown with 20min delay, but you can still place orders based on them in realtime...sweet! They support TD Ameritrade accounts and maybe also Scottrade, since ScottradeELITE software bundles in their Trade-Ideas module.
On the fringes, OptionsXpress has Xecute which basically links your account to a choice of investment advisory services to manage your portfolio for you, for a monthly fee.
Both OptionsXpress and TD Ameritrade offer developer API's which I've used, but still found their websites to be more feature-rich. So like with Scottrade I've actually written my own programs to drive their websites (nowadays using Ruby libraries Mechanize and Watir-Webdriver/Selenium) and perform live trades based on analysis and rules like yours my other programs prepare earlier.
Interactive Brokers has an API: http://individuals.interactivebrokers.com/en/main.php
RightEdge ( http://www.rightedgesystems.com/ ) is a framework, among others, that leverages that API.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I'm beginning a new project of about 1 year of development (for the first version) done with multiple developers, testers, etc.
I'm wondering if something exist that could help me do the following:
List all user goals
Associate functions to these user goals
Associate requirements to these functions
Associate design activities to these requirements
Associate development tasks to these requirements
Associate tests to these requirement
Qualify tests (system test, regression test, developer test, automated or not)
This way, I could:
Track if the program developed fulfill all user goals
Track if all functions are tested
Do a test matrix traceability to know if each requirements is tested
Track tests to do if a function is to be changed
Track the time needed to develop a function (it can serve later to estimate the time needed to modify it or to add a similar function to the program)
List all system tests to do when a new version is shipped
List all regression tests to do
List all developer test to do when there is a change in the function
List all automated test, this way we could know what is the percentage of the functions that are automatically testes.
etc.
You can suggest open source or commercial programs.
The Atlassian suite of software would seem to be a good fit and is very cheaply priced for a few users ($10 for up to ten users). I've direct (and good!) experience of using JIRA and find it very simple to use and flexible enough for my needs. Another alternative would be FogBugz, but I've no first-hand experience of using this.
re FogBugz, it is well worth having a look at the processes behind it, having worked on many non software projects I believe it is a universally sound methodology (even if Joel is a little quirky in his thinking.....).
I use SmartSheet because it is simple, but still has heirachial tasking, as you have set out in the question. It is good at dealing with people, unlikely it is good at manageing code, whereas FogBugz presumably does that.
A key feature of SS over Atl and others is additional users cost nothing.
One decision you have to make is do you want the project plan to be output in a simple way which many stakeholders can understand, or detailed so you can track much activity. Obviously the detail will require effort.
You have made a good start by setting out the issues, your culture of management may well be more valuable than the tool you choose.
ciao
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
Is there any website specifically for sharing and accessing actual software development processes implemented in software organizations?
There are lots of resources that give advices and descriptions for implementing these processes. They are very useful. But I think having actual example process definitions would be very useful as well. Specifically, I am now looking for an example process definition in CMMI. I overviewed several books but none of them presents any specific example implementation.
I think the authors are probably concerned that the readers might just copy these process definitions without understanding specific customization decisions in them. They are very rightful in this concern. But anyway, I think this is an important need for general software community. Understanding and interpreting an example document properly should be the responsibility of the reader.
If you don't know any good resource that shares specific implementations of the processes, what do you think about this need? Don't you think that we, software engineers and developers, should share our process definitions as we share our code?
There is a good wikipedia article with a lot of resources. Also searching for "UCM Workflows" on IBM Rational web would lead to good examples, I'd rather not deep link into their page. The question is how far into detail you want to go into the process. Most resources available will only give you a rough overview of basic development processes.
What you mean by examples is probably going into the details of specific implementation of such development process. For larger and established software development companies their development process will most likely not be readily reusable, because it will involve many custom made tools and configurations and the process itself could be in some cases considered proprietary, giving the company a competitive edge over others. Going into details about the process could also pose a security risk, because it would reveal a lot about the company infrastructure. So I don't think you would find much in form of examples from successful software development companies and what you find is either too general or written by theory-crafters.
This is a field of special interest for me for almost a decade now and I only ever found bits and pieces published about specific processes used by major software corporations. I would certainly welcome a forum to share experience with other professionals in this field.
Try looking at EPFC - Eclipse Process Composing Framework, there are some example processes, tools and best practices to develop them.
There are merits in providing some sample templates which would assist someone getting started. The limitation is that it could force the user to adopt the templates without thinking about the application.
Most methodologies adopt a 'guideline' approach with some tailoring. For example, the RUP system, promoted by Rational (now IBM) traditionally suffered from the assumption that it was only applicable to large scale projects. This prompted discussion on how RUP can be applied to a one person project. Of course it takes work and effort and if you are a small project team sometimes tailoring the methodology could overshadow the project; i.e are you trying to build a methodology or a product ?
As for samples some examples are:
Agile Unified Process - gives good examples of both process, artifacts and also commentary on the process and it's application,
Open Unified Process - again samples, artifacts and easily navigated system.
I do not know of such a "process repository". I only see general description like this one.
Note: While the CMMI implementations I have come across are quite tailored for a specific enterprise/environment, I found them truly effective when evaluated/challenged.
In that regard, the study Six Sigma and CMMI interesting, not so much as a practical example of CMM, but rather as a way to put CMM in perspective.
The OPEN Process Framework Repository Organization's web site contains an online repository with over 1,100 method components.
It doesn't contain final methods because, according to method engineering precepts, you must compose your methods from these components depending on your product, project and organisational needs.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
Background
I recently joined a small start-up after working at a large company.
I'm not a professional system administrator, however, because of my programming and systems knowledge I am now the internal person managing our servers and infrastructure.
In the past, I never needed to document our system information: passwords (for servers, databases, routers, switches, etc), which servers were running which applications (both homemade and installed), server IP addresses, configuration file locations, etc...
The professional system admins always did this work, freeing me to focus on other areas.
Event that triggered urgency
I'd been a bit casual about moving this forward until I discovered that I didn't know where my main subversion configuration file was in /etc/apache2 (not to mention that the config file isn't under version control or backed up!) I realized that this needs to be addressed quickly.
Next step
I now have to figure out how to document all of this in a sane, elegant, access controlled manner.
I've heard of runbooks, but I don't know the best way or tools to manage them. My first thought was an excel/openoffice spreadsheet under version control.
Is there a good guide to maintaining runbooks? Good software? This must be a fairly common problem, how do you handle it?
I've actually had good success with a Wiki. Use something where you can control logins easily — Mediawiki is okay, but requires some PHP hacking — and build some templates for processes, inventories, and so forth.
Update
Actually, I must have needed coffee. Trac is pretty nearly ideal; better access control, integrated issue tracking, and a somewhat stronger text model. You can even tie it directly to your subversion repository so that you can hook actual scripts to their runbook pages.
Wikis are indeed a good approach. You can set up sharepoint for that and get nice features like update history, links that always point to current information and such.
If you use something like Puppet, (or Chef, or CFEngine, etc.) to build and manage your machines, then most of the runbook contents can live inside the puppet config, leaving you with a lot less stuff (just the location and password for the puppetmaster, if you take it to extremes!) to put in your wiki.