What is the best way to break down and follow project progress? [closed] - project-management

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
Hi
When i wanna start a new project, I have enough details to just start it. And as all programmer needs, I need to analyse that project to understand how to write codes and classes and relations between them...
Normally, I do it on so many papers and its really annoying and also I can't consentrate so good (in huge projects).
I wanna know, what is the best way (or tool) to write implementation and designing steps to analyse, break down and follow project progress?
Thanks

I strongly recommend PowerDesigner from Sybase.
You can build requirements documents and link each requirement to classes. You can generate a physical data model straight from your class model. It supports a wide variety of RDBMS's. There's a 15 day fully functional trial at the link above.
If the project is huge, there's plenty of budget for this tool. It's a lifesaver. The ROI is self-evident.

i suggest VS 2008 > Class Designer, a handy tool, it writes clases behind class diagram and also has tools to help analyze archtecture.

This is incredibly easy. Use yellow sticky notes on a white board or large sheet of white cardboard.
Treat each sticky note as a seperate process. For decisions trun the sticky note so it looks like a diamond. This way you can move them around until it's right.
You can also split a complicated sticky not into two or three sticky notes. If you know that something needs to get done but don't know what that something is simply write "Process goes here ask (Marketing or Compliance)"
I've used this many, many times and it's very cost effective.

Related

Is it the norm to develop multiple apps at once? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I have 5 apps that I want to make right now, but creating them one by one seems inefficient. It seems like a better idea to make them all at approximately the same time in order to share segments of code where applicable. What are your thoughts on the most productive way to create a long list of moderately complex apps? For comparison, let's put them all on the difficulty level of a familiar & simple app - SnapChat.
Even though it sounds more efficient this sounds like a surefire way to either at best waste time or at worst (and most likely) get a lot of half written apps that never get to production. Unless this is a white label app where instead of 5 separate apps there is one app with 5 different skins you will likely never finish one of them let alone five. A 'simple app' like Snapchat still requires a lot of development time and testing, user adoption studies, and most of all focus of your effort.
Based on your question you have a good deal to learn about the development process. That is fine, you can do it, but focus on the best idea and put all your effort into that. It will take a lot more time and work than you expect and you will be happy you aren't worried about four other projects.

Is there some reliable way of detecting fake Facebook profiles [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
I believe this could be interesting for many Facebook developers. Is there some reliable way of detecting fake profiles on Facebook? I am developing some games and applications for Facebook and have some virtual goods for sale. If player wants to play more he can create another profile or many others and play as much as he like. The idea here is to somehow detect this and stop them from doing so.
Best Regards!
Put validation on no. of friends.. if no. of friends < A PARTICULAR THRESHOLD, disallow user, else continue. Well.. That's only an opinion, not a solution.. :)
You can try using anomaly detection.
Make your 'features' number of likes/spam/friends/other relevant features you've found helpful, and use the algorithm to detect the anomalies.
Another approach could be supervised learning - but will require a labeled set of examples of "fake" and "real" users. The 'features' will be similar to these for anomaly detection.
Train your learning algorithm using the labeled set (usually referred as training set), and use the resulting classifier to decide if a new user is fake or not.
Some algorithms you can use are SVM, C4.5, KNN, Naive Bayes.
You can evaluate results for both methods using cross-validation (this requires a training set, of course)
If you want to learn more about machine learning approaches, I recommend taking the webcourse at coursera.

When using Jira, how do I ensure each team member has enough work in a sprint? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 5 years ago.
Improve this question
While doing planning sessions using Rapid Board what are some reasonable ways to make sure each person on the team has a decent enough amount of work for the length of the sprint?
e.g. if you have 10 people on the team, how can you quickly see if 1 person only has 2 hours worth of work? Are you supposed to wait for them to speak up or can this be done through Greenhopper somehow?
The best way to make sure that everybody has work to do throughout the sprint, is to let them sign up for work every time they complete the previous task. This means that the members will be "pulling" work, rather than having their work "pushed" onto them.
If you conduct a daily scrum - daily - you will find out pretty quickly that someone is not signing up for new work - that he's either stuck on what he has, or not picking new work. Essentially, if you break up your work into small enough tasks, you will know what is going on within a day.
All this will work for you regardless of which software tool you use to track your sprint.
If you are using Jira, (and your project can afford it) I would suggest looking into the add-on "Green Hopper." It is also made by Atlassian and does a lot of what you are asking for. You can view individuals and see how much work they have as well as how much free time is remaining.
You can also drag the stories (Jira issues represented as virtual index cards) into different iterations (sprints) and onto different people. As well, it will help you to run your daily standup (using it as the scrum board), however YMMV.
m

refactor old webapp to gain speed [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
4 years ago, I've built a webapp which is still used by some friends. the problem with that app, is that now it has a huge database, and it loads very slow. I know that is just my fault, mysql queries are mixted all over the places(even in the layout generation time).
ATM I know some about OO. I'll like to use this knowledge in my old app, but I don't know how to do it without rewriting all the from the beginning. Using MVC for my app, is very difficult at this moment.
If you were in my place, or if you will had the task to improve the speed of my old app, how you will do it? Do you have any tips for me? Any working scenarios?
It all depends on context. The best would be to change the entire application, introducing best practices and standards at once. But perhaps would be better to adopt an evolutionary approach:
1- Identify the major bottlenecks in the application using a profiling tool or load test.
2 - Estimate the effort required to refactoring each item.
3 - Identify the pages for which performance is more sensitive to the end user.
4 - Based on the information identified create a task list and set the priority of each item.
Attack one prolem at a time, making small increments. Always trying to spend 80% of your time solving the 20% more critical problems.
Hard to give specific advice without a specific question, but here are some general optimization/organization techniques:
Profile to find hot spots in your code
you mention mysql queries being slow to load, try to optimize them
possibly move data base access to stored procedures to help modularize your code
look for repeated code and try to move it to objects one piece at a time

Developer Skill Matrix: Useful or Harmful? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
In a big corp, they often ask developers to fill in a matrix of what skills they have at what level. It's generally seen as a bit of a pain but is it actually useful, or another way for bureaucrats to try and reduce developers to a bunch of numbers on a spreadsheet?
Skills matrix are only partially helpful, they are good at giving you a general picture of your current "experience".
However these skills matrix does not include the most important aspect, the ability to learn.
This is the most important skill in IT in my view. And everyone learns at different speeds.
Eg. Throwing guy A into a new technology stack, and how long before he/she is productive?
Since IT/software development is a very wide field I regard skill sheets as quite useful. I used to be a Linux expert and my skill sheet reflected that. Then I shifted into iOS/Mac development and my now-employer asked me to fill out a skill sheet tuned to Mac... and I immediately noticed that I was novice in this field back then ;-) Vice versa, they were able to see whether I can fit into the company and where (in which team).
So of course they can be harmful if you lack the skills, but I think they make choices for employers easier (and I regard a big skill sheet in my CV as the most important part of the CV, even more so than the list of projects done).
The usefulness is totally dependent on what is being assessed. I work in an insurance company and this was done for all staff here. There was no category that I fit into and all the criteria were irrelevant.
I can see the benefit of assessing relevant criteria, it can identify weaknesses and target training, but those criteria need to be defined by someone who knows what you might not know.
Most of all, don't berate the bureaucrat for simplifying a complex object into a manageable set of information. As a programmer that's what you should be doing every day.
I think it is appropiate on big corps, but for small and specialized consultancies I would make a personal interview.
In big corporations if you dont fit in one place you may fit in other... in small teams I rather do personal assessment .

Resources