The term "software engineering" is often used without fully being considered. Since the field is relatively young compared to other mature professional disciplines, the definition is arguably still be worked out, and at the very least it is often understood differently by different populations despite being "defined" by IEEE or the like....
What is TDD (Test Driven Development)
Please include both benefits and drawbacks, as well as tools for your taste....
//Yes, Virginia, there is a wikipedia.
What I'm asking here is what you've found unit testing to be in your own practice. It would be helpful to know the pros, cons, obstacles to introducing unit testing, flaws in the unit testing process, value gained by unit testing, and so on that the developers here have observed in their day to day...
Does anybody have some good templates (or links to) that they use for software lifecycle documents (feasibility, concept, requirements, architecture)?
I've taken some old ones I've had from school and slimmed them down a bit since none of the current projects that I work on are to that scale, but they always feel somewhat clugey. Sadly...
There are numerous Agile software development methods. Which ones have you used in practice to deliver a successful project, and how did the method contribute to that success?
...
I'm working toward a software engineering major, (business) management minor, and technical communication minor, and I was wondering: What kinds of non-technical courses should I try to take before I graduate that I might not get as part of my major or one of my minors?
If you prefer to think about it this way, a more general question w...
Do you participate in code peer reviews or practice pair programming, or both?
Have you been able to demonstrate an increase in software quality using these practices?
What benefits and drawbacks have you observed in the course of practice?
What hurdles to implementation did you face?
In my own case, our development team pursued...
As I was looking through some job offerings I saw that many of them require a software engineer, some a programmer and some a developer.
Is there any difference between a programmer and a software engineer? Or are they all looking for the same guy that can "write code"?
...
In my organization, people believe lightweight CMMI is a myth, despite evidence to the contrary. What are your experiences with lightweight CMMI? Have you done it and is it working well for you?
...
How do you go about the requirements gathering phase? Does anyone have a good set of guidelines or tips to follow? What are some good questions to ask the stakeholders?
I am currently working on a new project and there are a lot of unknowns. I am in the process of coming up with a list of questions to ask the stakeholders. However I ca...
Do you follow a process at all? If so, which ones? If not, how do you manage the development cycle?
...
I have found the MIT Open Courseware to be a great resource for free computer science college courses. Every software engineer should be required to take the Structure and Interpretation of Computer Programs class. Berkeley and Carnegie Mellon also provide some great online courses. Are there any more colleges that offer quality compu...
When designing and writing code, after "make it work" what are your top design considerations?
...
Coming from a Mac background, I've never really spent much time tinkering with / assembling / tweaking my own computer beyond occasional RAM upgrades and swapping out hard disks. I feel like I have a good grasp on how a computer works at a conceptual level, CPU, bus, memory etc, but I haven't really got much practical experience in putti...
If you're familiar with the phrase "build one to throw away", well, we seem to have done that; we’re reaching the limits of version 1 of our online app. It's time to clean things up by:
Re-organizing code and UI
Unifying UI processes
Adding more functionality
Building for the future
Modifying our database structure to handle all of the...
Choosing the correct lifecycle and methodology isn't as easy as it was before (when there weren't so many methodologies, this days a new one emerges every day).
I've found that most projects require a certain level of evolution and that each project is different from the rest. That way, extreme programming works with for a project for a...
So.... we have a much better tool kit of design advice these days....
Design patterns have been around for years
Agile TDD/Refactoring processes have helped hone pragmatic OO skills
Domain Driven Design offers great advice on understanding a problem space
Polygot programming allows OO / functional / Dynamic allows appropriate ways of so...
My biggest concern is ease of use, and nothing beats a google spreadsheet or document (Except maybe Office). At some point, the free-form nature of the formats starts to cause a problem.
Specifically, I have the same conceptual data split up between two documents. This is done because both provide useful views of the data. (Note that th...
I've just finished reading Domain Driven Design and I'm enchanted with some of the ideas covered in it. Do you know any companies that implement ubiquitous language in their projects?
...
I'm trying to learn Agile Software Development principles in a hurry and don't have time to wait for a book to arrive.
What would you recommend as the best free online tutorial on Agile Development methodology?
Edit: I agree with the answers that learning things in a hurry is not the way to go about it but as one poster guessed, I'm tr...