Hot answers tagged analysis
30
Short Version
By adopting Zed Shaw's Programming, Motherf*cker! methodology?
Longer (Serious) Version
While Shaw - despite being a bit overly enthusiatic and (way) over the edge - definitely has a point there, there's a bit more to it than that...
You quite simply need to learn to embrace something similar to a personal productivity ritual or ...
19
First tip: use an IDE (or a very good editor :)) to spot syntax errors, misplaced parentheses and other trivial mistakes.
Second step: Autoformat all code in a format you feel comfortable with. You'd think this doesn't matter much but amazingly, it does.
Don't be afraid to rename local variables if they are poorly named. (If you have access to the full ...
19
People who aren't interested are creating their own obstacles. I can't worry about that.
For those who don't know the path, I suggest:
I find that every OO language I learn makes me a better OO developer. Much can be brought from each language into others, as long as you find the community.
You do learn more from failure than from success, but try to do ...
17
There are certainly cases where it makes sense for a business analyst to understand the technology at least well enough to understand where it makes sense to question a business user about how important a particular feature would be. For example, if the business is accustomed to the behavior of a fat client application while the new application is going to ...
15
Unless you are estimating something very similar to that which you and your co-workers have done before, +/-10% is ridiculously optimistic. Your management either doesn't have a lot of experience with software, or they're not aware of Large Limits to Software Estimation. That paper has some accompanying supporting material, and a lot of punditry can be ...
15
I use both Python (for data analysis ofcourse including numpy and scipy) and R next to each other. However, I use R exclusively to perform data analysis, and Python for more generic programming tasks (e.g. workflow control of a computer model).
In terms of basic operations, say operations on arrays and the sort, R and Python + numpy are very comparable. ...
14
May I say that I think you are taking the wrong approach with this. If folks are turning to you for help with their code, I think you have the responsibility to turn around and say to them to walk you through their code. You can fix their errors for them, and they may learn something (by rote), if they can spot their own errors (with your help) they are ...
13
This is all very hand-wavy, but there is a mathematical reason why we don't use Theta(c) and instead use Theta(1). I'll use Big O notation instead to show this.
It has to do with a property of Big Theta (as well as Big O and Big Omega) notation. If you have a function with growth rate O(g(x)) and another with growth rate O(c * g(x)) where c is some ...
9
Absolutely.
The whole point of scrum is to get the product owners feedback at the end of every sprint to make sure you are building the correct things.
The sales manager should not be interrupting you in the middle of a sprint. But when you do the presentation at the end he should be there and you should be writing defects for each and every one of his ...
9
What exactly is the Cyclomatic complexity saying to me?
Cyclomatic complexity is not a measure of lines of code, but the number of independent paths through a module. Your cyclomatic complexity of 17,754 means that your application has 17,754 unique paths through it. This has a few implications, typically in terms of how difficult it is to understand ...
7
What is the difference between requirements Elicitation and Requirements Analysis in the real world?
Based on my understanding of the English language and trying to be logical about what should be the difference:
Requirements Elicitation = Requirements Gathering. This is asking what are the requirements, what if this, what if that, etc. This is about asking the questions and getting responses. How well are the answers is another matter entirely. This ...
6
What you see as interference might simply be them trying to put over new and/or changed requirements. Your example of the colour issue is a prime example of this.
However, your other examples could be seen as interference - especially the way you've phrased them.
What you need to do is arrange regular meetings to discuss the direction and design of the ...
6
Ideally your requirements should be coming from the customer, but the sales staff is also a valuable source of feedback, and the fact that your sales staff is funnelling their requests through the sales manager (and not just inundating you with individual requests) suggests that they are trying to be helpful to the process, and not merely interfering.
Does ...
6
Classical inheritance inherits the behavior, without any state, from the parent class. It inherits the behavior at the moment the object is instantiated.
Prototypal inheritance inherits behavior and state from the parent object. It inherits the behavior and state at the moment the object is called. When the parent object changes at run-time, the state and ...
6
Those notations are meant to denote the asymptotic growth. Constants do not grow and thus it's pretty equal which constant you choose. However, there's a convention that you choose 1 to indicate no growth.
I assume that this is due to the fact that you want to simplify the mathematical terms in question. When you've got a constant factor just divide by it ...
6
Having worked both sides of this issue I have to agree with the Analyst. I have seen some spectacularly poor designs resulting from lack of understanding of the capabilities of the technology. In some cases, it has been a result of taking marketing hype as truth. In general, the problem has been generating specifications which don't match the technical ...
6
excellent process answers so far, but let me address the question more specifically
if it sells, and the users aren't clamoring for new features (CoolBars, or whatever), then there is no reason to rewrite it
the only issue is the compatibility warning - this is where to start; this is the initial goal (as other have pointed out, it's the only obvious flaw ...
6
Time Boxing
Don't give yourself "as much time as you need" for analysis. Just give yourself a limited amount of time. For example, "by next Friday I will have made a final decision on which UI paradigms I will support." Or, "within 3 weeks I will have implemented a working prototype of the Widgetizer screen".
It is better to have imperfect, working ...
6
I've found that you don't, to put it simply.
A requirements tool is a bit like a bug tracker for specification documents, instead of a spreadsheet of points, you'd store the excel rows in the tool instead. So far, you might as well use a big tracker for this!
Requirements tools then add a lot of complexity to the system, references between requirements are ...
5
There is research into this topic but it will give you a complex answer. You can increase how much a person can take in from a UI if you use different sensory modalities rather than just one. For example using sights and sounds you may be able to pump more information into a user than using just sight or just sound. There are also findings that suggest ...
5
What is the difference between requirements Elicitation and Requirements Analysis in the real world?
Requirements Elicitation is about finding out what customers (and potential customers) say they think they want. It produces a wishlist (well, you might be polite and call it something else, but that's what it is).
Requirements Analysis is about distilling the wishlist to produce a list of actual requirements together with dependencies between them. It also ...
5
I think that in order to fully appreciate the OO model, you must have experience failing miserably with functional programming techniques. You can understand OO inside and out, but to appreciate and respect it, it has to be a shiny new tool that replaces the old rusty one that didn't quite do the job.
I self taught myself for 7 some years before finally ...
5
Recent blog post about JS OO
I believe what your comparing is classical OO emulation in JavaScript and classical OO and of course you can't see any difference.
Disclaimer: replace all references to "prototypal OO" with "prototypal OO in JavaScript". I don't know the specifics of Self or any other implementation.
However prototypal OO is different. With ...
5
Firstly, b is moved 3 times and a is moved 4 times, which gives a total of 4 + 4 + 3 + 4 = 15 copies.
I think the formula should be filled in with n=8: 1*(8/2) (x is copied once) + 2*(8/4) (c is copied twice) + 3*(8/8) (b is copied thrice) = 11. In other words, the formula seems to be missing a "+ log2 n + 1" term in addition to the sum itself.
What would ...
5
If the technology that will be used is known it should be taken into consideration by analysts when creating the design. Different technologies do things differently and a design that doesn't take into account those differences is going to have problems.
However, business analysts shouldn't care about what technology is used, their job is to gather business ...
5
I believe there is a point between the two lines of thought that is probably more realistic. While a high-level design might be best when kept technology agnostic, there must be a consideration of known real-world constraints and requirements that should be incorporated into the design. What level is this design? Do you have sufficient requirements? How ...
5
If time is an important constraint, if I were you, I would rather search for an alternative which requires less or no development.
For example, if you are asked by a customer to build an ordinary website which has nothing extra special, and do it in a week, while in better circumstances, you need at least three weeks, then what about the services like ...
5
All the documents you described will work to describe your system from the perspectives they capture.
A class diagram is to show the structure of your project without needing to see the code, the fact your code is very structured is irrelevant.
A DFD does not need to have a data storage listed, not all systems store data, but its still important to map how ...
Only top voted, non community-wiki answers of a minimum length are eligible
