Advice for someone who wants to start in Business Intelligence? [closed] - business-intelligence

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 8 years ago.
Improve this question
What advice would you have for someone who wants to start in the BI (Business Intelligence) domain?
I where and what I should start with: Books, Blogs, WebCasts...
What I should pay attention to and what I should stay away from.
Are the Microsoft technologies worth while ?

The MS technology stack is quite good and is by far the most accessible (try to get hold of a copy of Cognos Reportnet for self-learning). Where you will run into trouble (and this is the main barrier to entry for gaining a B.I. skillset) is to actually get experience working with real data. It's quite hard to come up with a realistic toy scenario for this sort of thing.
This means that you have to overcome the chicken-and-egg problem that this poses. One option would be to try to get a job as a B.I. developer somewhere like a government department or other place that has trouble recruiting due to salary constraints. Clear evidence of technical skills and a demonstrated interest in the business might get your foot in the door.
This will be a bit harder in a recession. However there is still an ongoing skill shortage of good B.I. people. The reason is (IMO) not the lack of technical skills (the technology isn't rocket science). Instead, I think it is the aforementioned chicken-and-egg problem and the fact that the B.I. domain involves customer intimacy to do it well. It lends itself to working in an analyst/programmer mode with direct customer contact (one of the reasons I do this type of work). If you like working in this mode it might be a good line for you to get into.
Edit: Someone who's just had a job offer in this space asked whether he should take the job.

I found the "project real" from microsoft really helpful while getting into the bi-world. Its a real world bi project, supported by microsoft, to develop and show best practices regarding to all the areas of bi like etl, data warehouse design, cube design, etc.

Business Objects http://www.businessobjects.com/ are quite a big player in this area and familiarity with their products will also help you break into B.I. roles.
For practise data, I would recommend something like the anonomised search records from aol that came out a couple of years back - http://www.techcrunch.com/2006/08/06/aol-proudly-releases-massive-amounts-of-user-search-data/ This is real world size and is an interesting database with some published search sets.

I would stress you to read this book; might seem kind of outdated but the same theory still applies today. It is probably the best starter for general BI.
The Data Warehouse Toolkit - Ralph Kimball
Regarding Microsoft's BI it is a medium-sized tool that can do the job in your first steps (I have more experience with Cognos though). Haven't used MS tools since 2005 so I can't tell much about it.
In case you happen to be interested in Cognos, I have a few videos which can be of help: Cognos Tutorials
Good luck with your project.

Get the Kimball Books (specially this one http://www.amazon.com/The-Data-Warehouse-Toolkit-Dimensional/dp/0471200247) and for starters you may want to start with the MS BI Framework The Microsoft Data Warehouse Toolkit and the SQL Server Enterprise (MS BI Bundle with the database, ETL and reporting), it's easy a readily available, specially if you are a student with the MSDNAA, you can get the enterprise version for free!!!

For general business intelligence, I found the Kimball Group as a great source for best practices.
If you would like to start building your own project, check out GoodData Platform. We have full BI stack Platform as a Service and you can start for free (evaluation period) with access to all resources and learn from Tutorials on our Developer Portal.

I would say try to find a few classes. Microsoft technologies are worth the time. There are many large companies running on the .Net framework.

We use this to get a feel of Microstrategy: http://www.teradatauniversitynetwork.com/apply-and-do

Related

What are the differents step that we have to go through when developing a website? [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 3 years ago.
Improve this question
Web development is a mess.
This is because we have to interact with a lot of people.
Businness, Designers, Developpers, Leads, etc...
A website is a mixture of a lot of skills which involves programmers, designers, seo experts, business persons, ergonomists, etc...
So, the question is, how do you work to make all those people understand themselves, interact together.
How could I decompose the severals steps leading to a website ?
Because a lot of enterprise sales a design at first, how could you then add the right functionnalities ?
For example, we can decompose a project like this :
Functional scopes (CRUD, Resources, ACL)
Designing the interface
Start development
Write xhtml/css according to the interface with the functionnal requirements
I may have forgotten steps, or disordered them.
EDIT :
For example, here is how I do :
I write a short overview about the project, what is the main goal ?
I try to know which resources (users, articles, products, etc..) are involved.
I write a short CRUD list for each resources which help me to have an overview about the features
I start to design the database (with mysql Workbench for example)
That done, i try to know if there are roles and privileges to rely them with the resources
I start development (+ testing)
Then i insert xhmtml code to respect W3C & web semantic.
I start to insert visual design with CSS
So what about you ? what are you steps to be efficient ?
I would say:
Overall Site Intent
User Analysis (Determine site/application Demographics, User Groups, etc.)
Conceptual Design
Graphic Design
Functional Scope
Interface Design (Prototype, Wireframes, etc.)
Interface Mockups
Development/Unit Testing
User Acceptance Testing
...pick and choose the parts you need. Doing all of them may be overkill, but probably not if you're working on a large team with many groups giving their input. Making sure you don't miss steps gives a chance for everybody to give their input and decide on a course of action.
Web development is different from other types of software development because frequently
there aren't any users among the development personnel. For example, "users" are absent from your list of people involved.
The users exist as a notional bunch of faceless people who are out there (we hope, because that's what the business plan is predicated on). Requirements are gathered and design decisions taken on the basis of assumptions about what the putative users might like or want.
So in many ways web development more resembles opening a restaurant or launching a new political party than rolling out an ERP system.
I don't think there's actually anything unique about web-development here compared to regular software development (with the exception of seo, which is just another technical challenge). I don't think there's anything inherently more "messy" about web-development. Read through the terms in your question again - do any of the terms (excluding seo as mentioned) not apply to general software development (substitute "xhtml/css" for "frontend development")?
Personally, I think any software engineering methodology which you've found works for your team-size/work environment/colleagues/etc is applicable to web-development.
There's nothing magical about the fact that the end-product runs in a browser.
XP and Agile methodologies look at creating teams whose members have all the skills needed for the project, such as Project Manager, developer, business anylist, designer, tester etc.
Having teams means there is better comunication between everyone involed including the client.
The subject is massive so do some google searches on XP, agie, scrum, kanban.
Yup dear you are right, there are several steps in developing a dynamic website however you want to develop a static site then its easy.
the only designing is needed for it and some functionality is added by a designer like email and so on.
but if you are going to develop a dynamic website then its accomplished by these steps.
1. First you make sure about the requirement.
2. Then you decide about its interface and layout.
3. Designer designed all the Form the are needed
4. Then the developer./ programmers will add functionality on froms .
5. After Completing the coding part the project goes to Testing for erros.
6.if any error occurs then it rectified by programmer again it goes to testing this process will going on until all error has not been removed.
7. Finally the web site publishes and then hosted on a server.
A website is a mixture of a lot of skills which involves programmers, designers, seo experts, business persons, ergonomists, etc...
If you're really lucky you will have a team of talented multidisciplinarians who can take on more than one role.
That's when you tend to get the best web products.
Design by committee, which you will always get if everyone only gets to 'wear one hat', rarely produces kick-arse products.

Managing Project Development for Single Programmer? [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 5 years ago.
Improve this question
I am going to be starting a new job in a few weeks where I will be responsible for both the maintenance and development of a couple of existing web applications and the development of new web applications.
As I will be the only developer on the project and the previous developer was more of a hobbyist, no formal project management or planning techniques have been followed. Additionally no bug tracking has been used or if anything has been recorded its just been notes on paper.
I would therefore like to introduce a better system to help resolve some of the issues and help ensure things run more smoothly. I intend to develop using an agile process (likely scrum) and would therefore like to know what all-in-one solutions people could recommend for me to look into further. I am looking for something which will provide at minimum:
Project Planning
Defining new features
Time estimating
Ability to organise tasks by priority
Project Management
Tracking active tasks
Reporting
Bug Tracking
I would also like to let other staff easily submit new bugs in the applications which they find or customers report. Additionally support for them to add new stories / high level tasks would be of use so they can note down other new requirments/features and I can then work with them to outline more detailed tasks and estimates.
So far I have looked at a number of systems including:
FogBugz - Seems great for bug reporting but would need something else for project planning / management
Agile Buddy - This is probably the best solution I have found so far
Trac
Smart Sheets
Pivotal Tracker
However, as I have not actually used any of these systems myself I do not know what ones would be best or whether there is a better solution out there??? So any recommendations you can provide would be much appreciated.
Actually, FogBugz does project management as well. It will even try to learn how accurate time estimates for features are from each user, and give you estimated milestone completion times accordingly, with probabilities of finishing at various dates. I've used it for the bug tracking, and really liked it, but I've also read enough about its project management features to know that it has them, and they're pretty good.
FogBugz feature list
When I was working as a solitary developer, I picked up a copy of Planning Extreme Programming and bought a pack of 3x5 cards and a plastic box for them. I used those in the Planning Game and stuck the ones I was working on on my wall. My boss could walk by and see what I was working on. This worked well and cost little.
We're currently using Zen at work - it's a web-based Kanban board for planning. This is nice when your stakeholders aren't co-located or if priorities/requirements change frequently.
You can enter bugs as user stories with either system, or you could use a separate defect-tracking system.
I'd question if Scrum is suitable for a one-developer shop. It's targeted towards project management. I'd rather not have a stand-up meeting with myself. ;) XP (minus pair programming) works fine for a solitary developer.
For a one-man show, you don't need any tools to speak of.
Tools -- generally -- are for coordination.
If it's just you, what -- precisely -- are you coordinating?
If you want to make things visible, a pair of simple internally-focused web pages built from static content will do.
Bugs.
Burndown for Features.
That's about it. Use the simplest tools you can possibly use. I recommend using docutils to generate the HTML from plain, simple text.
Don't go tool-happy until you have a large enough team that simple text doesn't work any more.

What Project Management software do you recommend for an agile approach? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
At the place I am working we are moving to a more agile approach to project management.
For tool support for project management I used MS Project and Target Process in the past. But I think they both have serious weaknesses:
MS Project is not very intuitive and therefore hard to use especially for novice users. It doesn't really fit the agile approach
Target Process seems only half done. E.g. users can set their own privileges to admin. Size of user stories is measured in hours instead of a unitless size which I think is really a bad idea. The UI feels bloated and overly complicated not really supporting usage by keyboard only.
We are also using Jira for Issue Tracking and I guess one could modify it and add some custom fields/reports to make it an agile project management tool.
So my question is: What software tools do you use for agile project management and what do you like or dislike about it?
Addition: I am aware that physical tools like a whiteboard or post-its are in a sense the perfect tool but if you want to get an overview about what is going on in the complete company it is kind of cumbersome to run from office to office to look at the whiteboards or to force people to copy it in a different kind of document. A similiar argument applies if you are working in a setting where the customer is not on site.
I'll try to list some features I'd consider interesting:
easy accessible by management, customer, team potentially from different sites. This almost requires a web app.
option to configure the app to fit the flavor of agile preferred by the team or company
it should allow multiple people to access it in parallel. E.g. a developer marking a task/story as done, shouldn't block the customer from adding a new task. This pretty much rules out Excel.
Nice usability for keyboard only usage, at least for things like updating a lot of stories or adding a lot of stories
Ability to integrate with Jira (entries there should become tasks or something in the system, changes should get synchronized or at least be impossible if they don't get synchronized) and SVN (commit comments with a story id should appear in the tool)
Ability to integrate with other systems using a Java API.
Mostly we use whiteboards and post-its. If we have to use software we usually use Trac or a simple wiki.
It's our experience that using a project management tool actually makes your project less agile. The tool tends to become the focus point of the whole development process and its data more important than the actual software.
I can really recommend using a physical tool instead of a software one. It keep everybody focused in the same location and is much more public and accessible then even the simplest software equivalent.
There is value in using a tool to provide visibility into your agile project when it is not pragmatic to come to the team room. I would not recommend using a tool other than the big visible charts in the team room in place of the big visible charts. When a person has to go to a tool to pull the information as opposed to see the information continuously visible in the team room, it looses its effectiveness.
Of the tools we have used my comments are as follows
Mingle - Programmable and the most customizable, largest learning curve but you won't be boxed into a corner and the learning curve is quickly picked up by a developer
Rally - Does what you need it to out of the box. Enforces agile practices and has a small learning curve. Reports are good.
Version One - Swiss army knife of agile tools. Easy, full of features, great query tool to extract project data, need to ensure hosted service provides the performance you need
XPlanner - free, basic but non-evolving, easy for the team to use, less capable in the reporting department
Excel - works great, most people start with it and the file can be posted to a WIKI that can be downloaded and viewed by anyone
Consider the licensing. A number of the tools can post results in HTLM which can be read from a WIKI as a dashboard report. If you need to control access to the data then providing a license to the tools or providing a login to the WIKI should meet your needs.
Redmine, it is easy to use and contains enough features.
What specific problems are you facing with your current project management software that you want to address.. What specific flavor of agile are you moving to ?
The first bullet is kind of shaky... in that novice users should not really be doing project management. Other arguments read like 'MS Project should not behave like MS Project'
If you want a simplified tool for a product backlog which seems to be what you're looking for.. use a spreadsheet and see if it works out. If not, move to complex ones.
There's a similar thread in SO ... dupe or does this thread deviate significantly ?
https://stackoverflow.com/questions/426458/recommendations-for-project-management-software-for-scrum
I actually use Atlassian's JIRA for all my Agile project management. And with their recent acquisition of GreenHopper, they fully integrated SCRUM into the project management as well. This is only available in the Beta version right now though.
My team is using Rally. I also used VersionOne a few years ago, but I think Rally is better. I am not an expert in all features, but I think it does most of the things you need.
Don't even try MS project ...
Axosoft's OnTime
CounterSoft Gemini (at least take their 5 user license for free)
There's a new tool - Bright Green Projects. It allows you to capture and prioritize requirements, build estimates, manage iterations, track issues.. etc. Nice interface and really easy to use: http://www.brightgreenprojects.com

Software project manager: what is the best amount and quality of purely technical background? [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 9 years ago.
Improve this question
We are looking at hiring a software development project manager. His job is going to be concerned with running multiple dedicated project teams focused on delivery of software for external customers. He will also need to provide support to our business development unit and oversee post-implementations support of the aforementioned software. What level of hands on development experience should we expect from the applicants? Successful candidate is not expected to do any coding.
Not important. We should be focused on proven project management experience in software area.
None.
Some experience, exact technology does not matter.
Heavy experience, exact technology does not matter.
Some experience involving same acronyms as we use daily over here.
Heavy experience involving same acronyms as we use daily over here.
Some experience, mostly with technologies we do not use.
Heavy experience, mostly with technologies we do not use.
This question is regarding the best level and quality of required technical experience and is not concerned with any other skills and qualifications of a software project manager. Many thanks.
As with any position, you need to assess first and foremost what skills and experience you need on the team for you to be successful. Then hire to fill the gap for the skills that you do not already have on your team.
If you already have a team with strong technical and technical leadership skills then you don't need to hire someone who is likely to compete with the people you already have. If you are missing this, you probably want to hire a technical manager with some project planning and tracking skills.
Great project managers are those that are multidisciplinary - they are most successful where they can bridge the divide between the various stakeholders and team. The primary role of the project manager is to manage risk and facilitate communication and collaboration. As a minimum, you should look for someone that has proven experience in either your industry or with the technology space that you are playing in, otherwise they will be unable to gain the respect of the rest of the team and perform their primary role.
Which brings me to something else you should consider carefully - what is your culture? For example in a previous job, we had development leads that were very strong technically and wilful. Project managers were always relegated to second chair, and pretty much ended up as glorified MS Project admin. assistants. Anyone good did not stay long. What do you need to do to allow the type of skills you want to acquire for the team to flourish?
Most of our project managers have zero technical experience, so I'm guessing the skill sets are different enough that it's not necessary. However, they have to be bright enough to grasp/learn the concepts involved in development -- just not the implementation.
That's not to say that a technical background would be a bad thing -- it could be a "nice to have". Then again, it could possibly get in the way and they could try to control the implementation.
In my experience the very best technical managers I've had had very strong technical backgrounds (and usually were a little reluctant to trade herding code for herding coders). The worst were the the ones that were merely average programmers at best and had more of a management background.
The tentative conclusion I've drawn from this is that while not all programmers are management material, all good technical managers started out as good programmers.
Note that this answer is coming more from the perspective of hiring an engineering lead. For a project manager - someone whose job is to interface between the technical people and the customer - technical acuity is probably less of a requirement.
Some technical skill would be nice, but far more important is that they understand the functional area your company exists in. So if you sell an OS, then you probably want stronger technical skills than if you're writing banking software, for example.
Go with point 1. "Not important. We should be focused on proven project management experience in software area."
Edit: (after re-reading your intro-para) Seems what you want is a product-manager, and in support you need team-leaders on the diverse teams to handle and report on the technical issues. (Also since customer-contact is involved: a little marketing experience won't hurt!)
As an aside:
You are focusing on the wrong skill-set. You want proven administrative skill; proven organizational skill; and above all: proven people skills - (s)he must be able to communicate without antagonizing or patronizing the audience. The technical staff and programming staff will have all the necessary experience in development. (S)He must be able to manage and control these staff members effectitively.
The manager has to be able to communicate with developers. This either requires a decent technical background, although not necessarily with the same technology, or enough humility to know when the developers know more about something than the manager. I've seen both work well.
I think what I'm saying is that having respect for the developers is important, and there's two paths to it: understanding what they do, or understanding that you don't understand what they do.
Answer is "4".
Heavy experience with some technology is critical. I know the mindset is "project manager does not have to understand technology, he just manages people".
Well no, PM does not manage people: he manages project that is supposed to produce some deliverable that is acceptable at least across some desired aspects (capability, performance, reliability, security, maintainability, etc). If he can't understand technology, he's lost. Of course, he does not have to be an expert in peculiar technologies used in a project: but he has to be able to filter BS away, to question programmer's estimates (we know how those go), to feel at least technical risk here or there, to be able to formulate business ramifications of particular technologies.
In some ways I think that PM's challenges re technology are even bigger than those of programmer: he has to be genuinely interested in technology, yet he can't / should not have any technology bigotry, to be actually fair towards them (what they are actually good for and what they are actually not good for).
Read "In search of stupidity" for evidence how non-technical managers drove many tech companies into the ground.
This is excellent summary by Spolsky: http://www.joelonsoftware.com/articles/Stupidity.html
Now, the small print #1: not every programmer will make a good PM, of course. In short, control freaks, toxic personalities, egomaniacs, people who are good at coding but not at negotiating, people who are good at coding but yield to pressure too easily -- will FUBR their projects.
Small print #2: It might be possible that people with very good analytical skills might make up for lack of experience with technology. I've worked with people who were excellent business process and procedure designers, who instinctively understood how UI should be organized and what the software should be doing in this particular place and why and who could detect BS quickly even when served by domain experts but who could not program if their life depended on it.
Most has been answered already, but I'll add this:
Keep the same mindset that you would have when hiring an office manager. While the technology knowledge is important, you'll find that ambition, a will to learn, coupled with a team leader attitude will get you a better manager than looking at mostly technology knowledge. Most projects have some company/industry-specific skills that are involved and a quick learner / great leader will bridge that gap quickly.

How do you organize and keep track of multiple (many) projects [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
As a contractor, out-sourcer and shareware author,I have about 5-10 projects going on at any one time. Each project has a todo list, requirements need to be communicated to other outsources and employees, status needs to be given to clients, and developer's questions need to be answered.
Sometimes it is too much... but then I realize that I'm not very organized and there has to be a better way.
What is your better way?
How do you keep track of requirements for multiple projects, assign work to multiple developers, obtain and give status for multiple projects to multiple clients?
What tools do you use? What processes?
This may sound really old-tech, but a different set of notepads for each project. Now, hear me out.
I know that notepads aren't searchable, and they aren't indexed, etc. But they will have meeting dates and times (if you've been taking notes during meetings, even on the phone), they have the ability of never crashing, and they're future proof in the event of wondering what you did a few years back but can't remember if the old project files made it to your new hard drive.
But the biggest reason is CYA-- logbooks and notepads can be used in the event of someone suing you as legal documents, especially if you've been diligent about dates. It might also work during patent discussions as well, showing a clear date and time of ideas being made. During another life, I worked in biology labs, and electronic record keeping, because it's so fickle, wasn't allowed for the legal reasons of being able to show that the work you did was your own. That attitude has permeated my own project notetaking, and helping to keep track of everything I need to get done.
You should have a look at No Kahuna Easy to use; Free and Pay versions; active, responsive development team.
tools are not the answer, unless you already have the knowledge, organization, and self-discipline to use them well. i highly recommend Getting Things Done
I'm a big fan of http://trac.edgewall.org/'>trac for managing software projects. It provides task and bug management with integrated wiki and source control.
We have been using FogBugz for managing several projects (10+) and clients (20+) for more than 4 years.
We have a project for each product and another project for each client. In this way I can control the requirements for each product and the pending activities related to each client.
Try Omniplan if you're on a Mac. I find it just makes sense. I also find I don't end up fighting the interface and instead concentrate on using it to help me plan better.
Edit: It goes well with OmniFocus and no, I don't work for the Omni Group :)
If you are into Agile methods (or even if not) you could try some of the Agile tools out there. Look in http://www.agile-tools.net/ for some comparisons. I use xplanner at work where we coordinate requirements and work over iterations among several teams. It has its quirks but it generaly gets the work done and allows for some useful agile structure. I am sure some other will have preferences for more mature tools.
Trac (as Mark Roddy mentioned) is also nice, because it integrates a wiki, task and defect management, so it can be an interesting tool if you have none of those already in place.
I should say that we use Mantis now, but I wish it was better. I wish I could use it for customer-facing queries, I with I could open and assign issues by email.
ScrumWorks Pro looks promising, but amazingly expensive for me, with 15 developers.
AccuNote may be an option, but it is new to me
I'm using the customer support, project planning and issue management portions of OpenERP. Having your issues and feature requests, along with the tasks required to get them done on the same CRM that allows you to manage your customers is a big benefit.
I have used SourceGear Vault to manage all our software projects. Our business nature is very much driven by project basis - typically I have 5 active projects running at one period of time.

Resources