Do companies normally develop projects solely through reverse engineering?

I currently work in the IT dept of a small company.
Our team consists of 5-7 people.
We do not have business analysts & our projects are all reverse engineered & started without requirements.

Because of that, we accept many kinds of projects from different fields & I am currently facing a huge issue where our client wants us to build an Accounting Software. So in this case our project manager gives us a sample Accounting Software & we are tasked to study the behavior & gather requirements ourselves in order for us to develop such software.

The issue is that I don’t know accounting at all. I have to spend a lot of time learning & guessing how the given software works. I don’t think I can even make the deadline at this rate. I don’t know if this is the right way to do things.

Our past projects weren’t successful at all & I’m beginning to doubt whether I’m a capable developer myself after spending more than 3 years in this particular company & experiencing such project failures.

So as the title says, do many companies do things this way?

What are some activities/projects I can assign to calculus students from bio/chem/physics majors to…

(This question was proposed during the area51 phase.)

It’s common for chemistry/biology/physics majors to be required to take certain calculus courses. At my school, chem/bio students must take up through Calc II (integration, separable diff eqs, infinite sequences/series) and physics students up through Calc III (vector calc). We don’t have the resources necessarily to develop a separate “Calc for science students” course. Yet, this semester, I find myself with a section of 25 students entirely from other science majors.

I’d like to appeal to the interests of these students and, hopefully, demonstrate that calculus can be both useful and interesting for them. Alas, many textbook applications are somewhat contrived, or don’t represent the way the students will have to handle data/problem-solving in their actual scientific work (i.e. the numbers are too “round”, the modeling function is already given with no motivation as to its applicability/accuracy, etc.), while other application problems are just too difficult to assign, given the range of abilities in the class.

Do you have any in-class activities or take-home assignments that demonstrate a calculus concept/technique in the context of a scientific problem and have effectively appealed to the interests of science majors in your course?

I am specifically curious about activities/assignments you have used before, and would like a description of how you think it was effective (and what could be improved, if need be), and to whom it appealed. I don’t want this thread to be full of “Try something with topic X, that might work.”

Is it a good/industry practice to create both UI and API testing projects in one project?

I’m planning on creating a project to begin test automation for a software. For this task I’m considering following things

1.UI level testing (with Page Object Model)
2.API testing
3.Database testing

So My question is, is it a good practise to create all three in same project or should I create three separate projects or is there any other better solution?
How really companies do this?

Net Neutrality and Recent Telecom Projects

It has come to my attention that the big telecom providers are launching some big infrastructural projects recently (at the time of post, Jan. 2018). I presume by that they mean talking laying cables and related activities. Supposedly this is being at least partially attributed to the repeal of net neutrality.

Question: What is it about net neutrality that would impact the profitability of these projects? Would it be fair to compare this to the price of gold and mining? If the costs to mine gold (per unit) outweigh the trading price of gold (per unit), the miners close up shop; and likewise if net-neutrality hurts the big telecom companies’ margins enough for them to forego big projects?

Or what is really behind the incentives here?

Practical steps to licence Free software and Open Source Projects [on hold]

Several discussions have supported the subject of a software license and the majority are limited to offer explanations or definitions (GNU GPL, EULA, BSD License … etc) without addressing the practical steps to set up a license for software.

In parallel to the many types of licenses (GNU GPL, EULA, BSD License … etc), there are also many organizations like FSF (Free Software Foundation) and OSI (Open Source Initiative) and Copyright.

Normally the software must be legally declared in legal body like FSF or OSI to guarantee the copyrights and the fact of putting a copyright text for license with the source code does not normally complete the licensing process.

Questions:

1 In the case of Opensource, if we put the code in public, the fact of putting a text accompanying the publication of the project does not legally guarantee the authors’ rights since it is possible to modify the code and put a new license for example. What should author do to protect legally their work and what is the legal approach and the organization that must be contacted to accomplish the license and software patents and where should the project be dropped to be secured ?.

2 What is the role of the FSF, OSI, or Copyright if we only limit to put a license text in the Software as for the case of github, we note that it is not enough in practice to limit to the addition of a license file generated by guithub and must concetise the legal approach in reality, so how to apply the license in reality, should us contact OSI or FSF by depositing the source code at them?

3 If we assume that an open source project has been put online, how are the project authors guaranteed their rights, since it is possible to take the code and assigned to other owner and the author loses its intellectual properties ?

4 How to apply the license of apache or MIT for example, all the articles which are carried out around this license are limited to recite the definition and its contents without speaking about the way to apply it. In the reality, must one contact FSF or OSI or Copyright office to translate the formal text of the license into reality ?.

Client Communication Tools For Web Dev/Design Projects

This is in regards usually to the rounds of revisions or edits that come during or post-production of a web project. Most projects do not have many rounds of this because we are very thorough in proofing but recently we had a rash of extremely fickle clients. Of course, we bill for anything beyond scope post-production so that is not an issue. Internally we use Liquid Planner for project management and it works great but these difficult clients made me painfully aware of a weak link in our workflow, communication.

There are plenty of tools out there that do a good job in communication like slack and even some interesting looking paid services like Wunderlist. The main problem though is that in many cases it would require my client to download an app or something. I don’t want to sound like a jerk but many of my clients are not very savvy and asking them to download an app is like asking for one more support ticket and now I’m trying to talk them through how to install something.

As a result we end up using Google Docs because all you really need a google account and a browser. The thing is, they can’t even figure out how to use the commenting on Google Docs. So we end up with these docs that have all these color coded notes. None of it gets time-stamped. Things ends up getting done twice or missed completely. Sometimes even multiple documents get made and it’s just a total mess to put it nicely.

So I’m seeking some software suggestions and my criteria is:

Client has to be able to access as easily and freely as possible. This means probably in the browser. Preferably something we create and share to them, they are notified via email and can access it with a simple link. That part of Google Docs works brilliantly.

It must be “stupid easy” to use. Even asking them to create an account/login is asking a lot but it’s hard to get around at least that so not a deal breaker but if there is a sign up it should be literally no more complex than an email address and password.

Basically the client will want to create a punchlist of things however sometimes it’s a question, not a TODO type task. So a bonus would be a way to quickly identify what type of list item it is even if it’s just like an icon that gets assigned. When they create a new line maybe it asks, is this a question or a task and then assigns a (?) icon to questions. At a glance we would know then which is which.

Timestamp/log tasks and conversation threads under those tasks and tags who is commenting.

A way for use to tag some conversation threads as “internal only” so that the client can’t see some comments if we have to discuss something privately among ourselves.

A way for us to change statuses of list items. For example if something they are asking is out of scope and needs to be quoted as a change order. Will-fix or in-process so they know we’re working on it. Maybe even a schedule date we anticipate the task being done. Closed/Checked off items archive as resolved automatically but don’t just vanish. Kind of like the issue system in bitbucket/JIRA really if you’ve used that.

I’m open to a paid service, we’re a small team though so we probably can’t swing the price-tag on a large enterprise software suite. On our end we would need about 3 or 4 accounts max to manage.

Thanks for your suggestions!