Tag Info

New answers tagged

0

The way we work with Epics, Stories and Features is as follows Early in the project cycle, we come up with Epics. These are very high-level, almost marketing-centric, bullet-points of functionality. The sort of thing that you can use in an executive summary, such as, Our new web site will allow customers to browse products, view availability and ...


0

I don't see these necessarily as opposites. I think of over-engineering as providing options or provisions for capabilities that are not yet or not yet know to be necessary. For example, and method parameter that only has one value that is ever used; an abstract class that has only one subclass. These things add complexity to maintenance and cost time ...


1

One possible solution: Upon execution, create a temporary file and store the status in it. Useful to keep logs as well. Delete the file every time new execution starts and you no longer need it.


1

"over engineering" means improving a solution when the cost of improving it is higher than the benefits of improving it. And "under engineering" means not improving a solution, when the benefits of improving it would outweigh the cost. Now guess what "right engineering" means... Since a "simple" solution was mentioned, and was somehow correlated to ...


0

I call the two extremes described "under-engineering" and "over-engineering" They seem to refer to the sentence in the link above: In my experience there are two developer character type extremes: the ones that always seek and settle with the simplest solution, and the ones that seek the perfect solution, perfect in terms of efficiency, readability ...


7

When you're doing too much design to solve a basic problem, you're over-engineering. For example, when you're using an abstract factory pattern “just in case” in order to create a very simple object where the business logic is easy enough to fit in four-five LOC, you're over-thinking the design (and violating KISS and YAGNI). Note that it doesn't ...


0

Continuous Integration is a process of continually integrating new changes with other peoples changes. The goal being to eliminate merge problems developing over time when many developers are changing the code independently in different directions. It is fashionable in commercial environments to have a centralised source control with an automated build ...


1

The set of all values of some type is either finite or countably infinite in the set theoretic sense (that is, there is a bijection with the natural numbers). For example, there are only 2^32 single-precision floats, and this there is a unique successor float: The smallest representable value that is larger. I've personally written a function that computes a ...


1

Wikipedia has a suitable definition for Middleware. It says: Middleware is the software that connects software components or enterprise applications. [It] is the software layer that lies between the operating system and the applications on each side of a distributed computer network. Typically, it supports complex, distributed business software ...


4

Automated testing would be a term for just running the tests every day, even if you only merged the code into a complete state once a month, or never. Arguably a bad idea, because if you keep different strands of development in different long running branches you will be merging the tests and code at the same time. And if the features interact in any way, ...


10

The gist of CI is to avoid any kind of long-term branches. If you have a team working on a product, a model opposed to CI is to pick a new requirement for a feature to develop for the product. Then the team creates a feature branch in the VCS, apart from the "trunk" or "master" branch, they develop and test the feature for several days in isolation, ...


1

Concurrent execution is the generalized form of parallel execution. For example parallel program can also be called concurrent but reverse is not true. Concurrent execution is possible on single processor (multiple threads, managed by scheduler) Parallel execution is not possible on single processor but on multiple processors. (One process per processor) ...


6

The term you're looking is for is function composition, although I'm not sure if there's a more specific term for the special case of a function composed with itself.


1

One thing I have always associated with "sprint" is that it encourages the attitude of putting the head down and pushing to the end of the sprint without as much concern for what happens beyond the sprint, or for changing environments during the sprint. It is my opinion that this mindset is actually more important for management than it is for the ...


37

In other words it's not sustainable. Right. You don't run a sprint for months at a time in most Agile (well functioning ones, I'm sure some "we wanted buzzwords so we're an Agile waterfall shop" do), you have short sprints, followed by new planning/retros/etc. That's the point. Why do Scrum teams use the word "Sprint"? It appears to me to ...


2

I would assume it's because in a sprint, you know where you are and you know where you need to get to, and it's a fairly linear path to get there. It's not sustainable over the long term, but sprints in software development are not very long before you plot out your next destination. Similarly, you could run a short sprint each day (in workout terms, I ...


4

The idea is that between sprints, you have meetings to communicate project status, fix pressing issues, and generally regroup. In Agile terminology's mixed metaphor, you can imagine sprints are separated by rests (meetings, planning, etc).


1

The difference beween XQL and XQuery is that XQL is dead. It was pretty well stillborn. It influenced the design of XQuery but it was never significant in its own right.



Top 50 recent answers are included