Scrum : Different Product owner and Project Manager [closed] - scrum

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
I have created a short document of two authors : Ken Swchaber and Jeff Sutherland. At definition in this document about Product Owner:
The Product Owner is the sole person responsible for managing the
Product Backlog
I see that Product owner is very like to Project Manager in normal software development process.
So, what does a real difference, or just the same.

The Product Owner and a Project Manager are quite different.
On a traditional project, a Project Manager, as the title implies, manages a project.
However, on a Scrum project, the Development Team manages their own work.
The Product Owner, while responsible for maximizing the value of the product and the work of the Development Team, is the sole person responsible for managing the Product Backlog.
Product Backlog Management includes:
Clearly expressing Product Backlog items;
Ordering the items in the Product Backlog to best achieve goals and missions;
Ensuring the value of the work the Development Team performs;
Ensuring that the Product Backlog is visible, transparent, and clear to all, and shows
what the Scrum Team will work on next;
Ensuring the Development Team understands items in the Product Backlog to the level needed.
Hope that helps. More details available in this article on the need for Product Owners

The difference is subtle, because we tend to infer a lot from the phrase "manage the backlog".
While a PM is often responsible for coordinating HOW the initiative should be accomplished, the Product Owner is responsible for understanding WHAT the product show do and works with the team to make sure this is reflected in the list of items (often described in business terms as features) called the Product Backlog.
In Scrum, the Development Team (composed of all skills needed to produce a complete increment in an iteration) is responsible for determining HOW to accomplish the items selected for completion in an iteration.

I think you ask this because you don't understand so much about agile.
Project Manager : he decides EVERYTHING, and tester, developers... often don't talk together, they must talk with project manager, and project manager will give this idea to other. for example : developer says : "I have add this feature A". and project manager will says to tester : "Hey, you should add a unit test for feature A", for example.
Product Owner : yeah, Project Manager can be a Product Owner, or, your customer can be product owner, too. It means : Product Owner : the person who can control the flow how the software is !
More over, product owner : he just looks how you work and give some talk to control the FLOW, not control your activity.

Related

guidance needed for corda Application design

I have a web background majorly with javascript, I have started learning Corda recently for project implementation and need guidance in this regard,
So our application is based on the web, the user signs up with different school name, create question papers, and then want to share either part of it or whole with teachers of some other school in our platform. they can make changes and assign it back to creator and the process goes back and forth, finally signing the paper to be finalized, once finalized it cannot be changed by anyone. I need to store these transactions in Corda application, not sure how to go about it, I did try replicating it using negotiation application in corda/kotlin/sample, but stuck in a bug as I was trying to send a list of objects.
I do have the following questions in mind
Should I use enterprise edition or go with open source as I think I need schema design for this. web db is in postgress
As far as I have seen each node is predefined in the config with username and password,is there a way to create the node while the user signs up.
I have schools and teachers inside the school, do I need a separate node for each school and then create states in each node(not sure if a node can be set up at run time). or do I use the account's library provided for creating the account of each teacher, if yes id there a way to use passwords in it, unable to find password field in it.
how do I send an array of objects to the state, or should I create a separate state for each question, as different questions can be assigned to different teachers, but again multiple questions can be assigned to the same teacher.
These are few questions on my mind any help is much appreciated, as most of the examples gave IOU samples or states with int and string, Please guide me in the right direction.
Alessandro has good advice here, definitely look at the samples repos for inspiration on how to build what you're looking for.
start with open source, it's easier to prototype and you can switch to enterprise later it won't be an issue for you
this depends on design, you wouldn't really want to create a new corda node per-person, you might want to have corda accounts that run on a single node instead. See accounts sdk here: https://github.com/corda/accounts
what you might do is make a corda node for each school and then accounts per teacher like you were already were thinking. That would mean only a couple of nodes based on the number of schools you have.
as long as your state is marked with #CordaSerializable you won't have problems sending arrays of data, I send an array in a state in this sample here: https://github.com/corda/samples-java/blob/master/Advanced/secretsanta-cordapp/contracts/src/main/java/net/corda/samples/secretsanta/states/SantaSessionState.java#L24
https://github.com/corda/samples-java
https://github.com/corda/samples-kotlin

FOSUserBundle: what is the point? [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 1 year ago.
Improve this question
I've seen many people trying to use FOSUserBundle.
I've been struggling with it for 6 hours now. Just to be able to make a custom user registration form.
The basic documentation is 6 pages long: basic.
Here are all the drawbacks of using FOSUserBundle, from my point of view:
you have to copy paste their views to make inheritance possible
they have their own table on the database: fos_user. So you have to base all your code on your user entity, which a child of BaseUser. If your database follows a convention (like wordpress does, with all tables beginning with wp_) this breaks your convention.
you have to hack all you own views with things like "if the fos_user_content block is empty i suppose there's nothing to display, otherwise i have to re-organize my whole view to display the fos_user_content block (registration, modify user profile and so on)"
and now I see that if you need two different registration forms (for example, one for client, one for partners) it's not possible unless you hack. See here.
So I'm just wondering: what is the point of using if FOSUserBundle?
If I've already done a registration process that follows the very basic things explained in Symfony help (forms, form validation, and sessions) and I just copy paste my code, this is, from my point of view, far faster than installing, configuring, inheriting, modifying and so on the FOSUserBundle.
Knowing what I've done, what are the advantages of FOSUserBundle? What could make me change and take some more hours to make it work with my project, instead of re-using my (forms, form validation, and sessions) from another project?
Well, your question sounds more like a rant, but you got some points.
In my opinion, the main problem of the FOSUserBundle as well as a lot of Bundle in the community, is that they try to make it customizable, generic, re-usable, whatever.
The goal is fair, but in reality it often leads to not human friendly code. Most of the time, you will take much more time to "get it done" using community bundle than making your own (see Sonata bundles).
I don't say they are bad bundles, not at all, but they deserve different purposes.
For me such bundles may help newcomers to have a quick implementation, to get things done, and in the case of a Rapid Application Development, it may be really easy to get a fully working application with all the registration process done.
But most of the time, you realize that using third party codes ties you too much to their own concept and that is wrong.
In comparison, I do like very much the npm community, there are A LOT of little package with one function which you can easily integrate, in the same way, I try, to favor library instead of bundle when I want to release an open source project. The point is the framework implementation is free of any concept or philosophy and easily integrate in an existing project.
I remember some early days where I had to play with Joomla, Drupal, Wordpress, whatever, it was the "plugin/extension/module" fashion, in the same way that we often hear "there is a bundle for that", some people, or company just want to get it done, no matter the quality, the future of the application because it already have been sold.
To conclude, such bundles can greatly help and speed up development process, but be careful, if you have custom requirements, performance implication, etc. don't use them, however if you only want to a quick proof of concept, or a simple application, it is worth.
This is a fiction story based on my own experience and failures using it :)
I know this is an old post but as search engines keep indexing this...
FYI FOSUserBundle has been discontinued and is of no use in Symfony 4 and 5...
Sources
No Longer Maintained Message On Documentation #2874
Is this project maintained? #2996
Comment with alternatives by Caedendi on 10 Jan 2020

To CRM or not to CRM (MS)?

We use MS Dynamics 4.0 at work for our CRM. This handles all contact management, marketing, resource sharing w/ sharepoint integration, workflow management / collaboration and essentially is used by every department in the firm in some way or another.
We have requirements from business for a new application that we have a tight timeline on. We have only just started rolling out CRM, and most of the custom development was done by a consulting firm.
We need a relatively simple application that we need to track some data for sharing for a specific group. Some of this information already lives in our 'company' and 'client' CRM entity.
This new project would require us to add around 26 fields - we don't want to bloat our already large company entity - especially since only around 5% of our companies would use these extra fields.
We are basically debating a design right now - hybrid solution (create our own ASP.NET app that looks like CRM and communicates to it via web services and store all the 'supplemental' fields on our own database, possibly living on the same DB server as our CRM DB so we can easily write queries). The other alternative is to do it 100% in CRM.
I'm just looking for advice for people who have done something similar to this. Would you recommend doing a hybrid solution such as this or should we do 100% CRM? Our deadline is tight and the developers working on the project have limited CRM knowledge; this is why it's a bit of a debate. For those working with MS Dynamics - how would you typically handle a project like this, where we need to add many fields (and even sub fields with parent->child relationships of their own) that would only apply to a very small percentage of our main 'company' entity.. something to note: we are already having performance issues when people load up this company entity as is (it could take 5 seconds for the page to render) and the same goes for advanced finds.
Last thing to note - this portion of the application is only for storing the data. In the end, the user will be opening a VBA Excel workbook, pushing a 'pull down data' button, that will pull this data from wherever we wind up storing it. We just aren't sure where we should store/manage this data/UI.
Thanks very much for any advice.
EDIT: How can I create 2 list boxes next to each other with 2 buttons in the middle where one listbox is a lost of 'my foos' and the other is 'all foos' and you add/take away from 'my foos' list box??? the classic 'i have these foos as part of me' UI control with 2 list boxes and 2 arrow buttons... Should/can I use jquery for this? and does anyone happen to know of any jquery control that already does all of this out of the box? This is such a common control I'm sure it must be out there somewhere. I've browsed some toolkits and controls and some threads on here and seen some really awesome, even more complicated controls but not this particular one..
EDIT2: After doing more research, it seems like keeping the UI all in CRM would be more complicated then just making an ASP.NET app for that portion and putting it in an iframe or modal popup in CRM.
We can still setup all the data fields and relationships in CRM - and have the ASP.NET do the CRUD using Webservice calls.
It seems we would wind up having to do the same amount of work to get the functionality needed in CRM - except it would be more hackish and done in javascript. At what benefit? Keeping the UI in one place??? Not that much of a trade off IMO...
so far we are leaning towards keeping all data in CRM but putting the UI in ASP.NET
Any advice is greatly appreicated. Is what I'm saying sane? Thanks
I agree, you're better off going with 100% CRM.
If (and I stress if) you find the performance impact is significant, consider using a related entity to hold the additional fields.
CRM doesn't provide a 1-to-1 relationship type so you'll have to manage that yourself. Make your company entity the N side of the relationship so the related entity appears as a lookup.
Alternately, if the related entity lookup is too abstract for your users, add a tab with an iFrame to the company entity form. Use javascript to show/hide the tab and also to set the src of the iFrame to the url of the related entity.
I'd use CRM to store the data. You can stick the new fields in a separate pane in the UI so that it won't clutter. You can even add some Javascript to the UI to hide pane/fields from users who are not part of the group that requires them. I know this sounds a little hacke-ty, but it's a lot less work than coming up with an entirely different app and users will get a consistent experience. Having the data in one place is also a boon for reporting and such.
I can't say for sure, but I don't think adding a few columns to an entity (which already has a bazzilion columns) will deteriorate performance much further. I'd go over the installation and check for the usual performance pitfalls.
Creating ASP.NET applications to create a complex UI in an iframe is a simple solution that I use frequently for MS Dynamics CRM 4.0 applications.
Keeping all of the data in CRM makes a lot of sense, but make the UI however you want it.
The iframe calls your ASP.NET application with a Querystring containing the entity's GUID so that you can use web services to pull any related information.
You can both modify the fields showing on the form with JavaScript, directly update the database or both for consistency. Frequently it is easier just to hide the fields being updated in the ASP.NET application so there is no confusion.
An example from a long time ago was a loan morgage calculator that I built for an iframe of an opportunity that a sales representative would have up. It would find all of the customer's related loan balances and calculate different options that the sale representative could then turn into a quote. Click a few check boxes, and press a button and they were done without having to rekey a lot of information. Data was written to a number of CRM entities, emails were generated and the autodialer list would be modified not to call that customer again.
Learning to use MS CRM as a big development toolbox is the first step to being able to do some serious business process automation.
If you have any questions let me know.
I know that this doesn't fit your situation as you are deep in MS CRM, but there is a good article by Neal Ford that was recently posted to IBM Developer Works (http://www.ibm.com/developerworks/java/library/j-eaed10/) that discusses COTS vs home grown software. Here's a snippet.
One of the common questions that arise in big companies is the decision whether to build or buy: for the current requirements, should we buy COTS (Commercial Off-the-Shelf Software) or build it ourselves? The motivation for this decision is understandable — if the company can find some already written software that does exactly what's needed, it saves time and money. Unfortunately, lots of software vendors understand this desire and write packaged software that can be customized if it doesn't do exactly what the client needs. They are motivated to build the most generic software they can because it will potentially fit into more ecosystems. But the more general it is, the more customization is required. That's when an army of consultants shows up, sometimes taking years to get all the custom coding done.

How to support your software and customers in a one man shop? [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 8 years ago.
Improve this question
Background
I'm a one man shop (a micro-ISV). A week after putting my product online I get a mail from one of my customers about a bug. It was an obvious fix and I fixed it in 5 minutes but I realize that the reason why the bug was reported so late is because the only contact I have with my users is through mail.
I feel I need something more but I have difficult time finding the right solution.
I was checking out some solutions, but I would like some feedback from the community
Question
What do you use for a micro-ISV (both online and built into software) when you want to give good quality service and support to your clients?
Have an issue-tracking system that your customers can use through a web page. (You do have a web page, right?) Alternately, if your software is interactive, have a menu entry "Submit Bug Report" which will email you what the user says, and perhaps other useful things (users very frequently omit things like software versions, OS versions, that sort of thing). Or both.
Also, your customers are likely to feel happier if they have a standard way to report problems.
If you want to go beyond the "email us" link, you might consider putting up a bulletin-board or even wiki-style forum on your site for your clients to use. Make your own list of Frequently Asked Questions the first post. I'd recommend using an off-the-shelf package, instead of rolling your own. A pre-existing solution should include the spam-filtering and moderation tools that you'll need.
Another idea would be to start a company blog, and invite users to leave feedback.
You fixed it in five minutes? Sounds like you're already giving good quality service / support. But if you really want a tool, I would check out if Unfuddle.com has a public bug report feature. I love that site.
This is a subject I've thought a lot about (since I'm contemplating doing just what you're doing), and there's considerable precedent for how you could proceed.
Set up a feedback page on your website
Set up a dedicated email account for your website
Set up automated opt-in bug reporting and crash reporting for your software
Set up a twitter account; and conduct twitter searches for your software name
Set up a Google Alert to track when a website or user references your product, and respond to them.
Set up a Uservoice account for your software/website (it's free for a 'small' company).
For a start, you can ensure your website is clear, and has useful sections like FAQs and How-Tos.
Make sure your customers can get in touch with you easily, and that you respond to them in a reasonable amount of time.
If you out and don't have a Blackberry enabled phone you could have your software send you an SMS of the fault.
A well designed website with a forum for news, updates, user discussions is probably a good start. It's worth paying someone to do this for you if you want to spend more time designing and coding good software. The more information you can put out there, the less time you'll spend dealing with customer issues.
In addition to giving your users more options on how to report a problem, your site should also be logging a fair amount of information. Such as, who, when, and what they did.
Further, ANY failure should be logged and automatically be reported back to you. Most clients simply won't say there is a problem and will just move on.
Just basic logging will also give you usability information. What pages do they use the most, which ones are used least, what is different about them. Are there features no one cares about?
Finally, engage your customers by asking them what they would like to see. Quite often their vision is different from yours.
I use ontime as a customer portal and help desk / bug tracking tool. It's free for a one person license. Which is great for me since I'm a one man shop as well. I'm the only full-time employee and have one to two part-time 1099 contractors here and there as work comes and goes.
There are also lots of open source out there. However, I've found the ontime to be dead simple, free for a 1 user license and cheap for 5 user license.
Split your time between development and customer support. If you focus too much on support, new functionality will suffer, and if you focus on development, customers will suffer.
So find a balance and plan portion of your time for development and another part to support.
Also keep in mind that solving the bug is just the first step.
You need to test (preferablyseveral configurations)
create a new installation
possible update manual and help files (and don't forget the translations if it's multi lingual).
Add a new version number (every deliverable must be identifyable).
Update website...
So it often takes several days to ship a single bugfix.
Besides, most customers are happy with a few updates per year. And ocasionally an urgent hotfix if the customer is in serious need of a bugfix.
I have a few systems. My main system is through a fogbugz account with buttons built in to my application that create emails for users so that they can then submit comments / bug reports etc. I also run a wiki as the documentation for my application, although I am the main contributor to the wiki and it does take a lot of effort to keep up to date. Again, there is a menu item in my application that takes users directly to the wiki. I have a built in crash reporter using an open source framework, which again submits emails to fogbugz. Finally I do online video and text based tutorials on my applications website, although I'd like to integrate them more into the application.
One (free) product that I know uses Yahoo Groups (and also a Google Group).
It acts as a mailing list: so if you report a bug, that's seen by other users as well as by the group's owner/moderator (i.e. you).
It also acts as a weblog/archive: so users can search it for known issues/answers before they submit a new message.
Have you tried Casengo? Its a free solution (for 1st agent) for handling email, chat and social media . It might be of interest to you. url: http://www.casengo.com
I am using Casengo for several weeks and is very easy to use.
Jeremy

What are the legalities of repackaging other's RSS feeds into a new presentation? [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
I know that services like my.yahoo.com allow you to add content from RSS feeds to your personal page, but in general they are links which draw the user to the site which provided the feed. What are the legalities and implications of using RSS feeds as a data source for a site which repackages the data so as to be unrecognizable that it came from said source.
Does credit need to be given? It is a copyright violation? What is ethical?
What if credit is stated? Does this change your opinion? Does permission need to be granted?
Of course it's ethical! What on earth is RSS for if not for syndication, into as many varied and wonderful forms as developers can think up?
Permission, of course, must be asked for - in the form of a "GET /feed/ HTTP 1.0". And it must be granted in the form of a "200 OK" - or denied in the form of a "403 Forbidden".
Screen scraping is at least morally ambiguous, since perhaps the author only wants humans, and not programs, to view the content (assuming you believe it's within the rights of the author to make that distinction). But RSS? Seriously? No one forces anyone to make a syndicated, easily-mungable format of their content. It's not just useful for new presentations, it's meant for it.
In my opinion it depends on the data source company as to whether they allow it in their terms and conditions.
It probably also depends on where your servers are located (i.e. Which legal framework they fall under.)
Unless it is allowed explicitly or you have written consent I don't think it's ethical.
It also depends on how big your legal department is.
I would say publishing someone else's work without giving them credit will definitely lead to lawsuits or at least strongly worded cease and desist letters (followed by lawsuits).
Well, legalities aside it isn't ethical to not give credit to the source. The AP for example wants credit
The difference between what you are proposing and services like my.yahoo.com, Netvibes, Bloglines, Google Reader, etc, is that you are the one choosing the feeds, whereas with those other services the user is specifying the feed, and is therefore aware of it's original source.
Even though content is being published in feeds, and is therefore expected to be used with services like the ones I mentioned above, the publisher still retains the copyright over their content, and would usually expect it to be republished as-as. It is also customary to provide the link back to the original source of the content and republishing content without it would be frowned upon at the very least.
I've wondered the same thing for a while and am very hesitant to republish RSS feeds FeedForAll says there is no inherent right to reproduce content. You're asking whether it's ok to mangle the content, I'm pretty sure it's not alright to even reproduce the content. I think it would be like putting
<iframe src='www.stackoverflow.com'> </iframe>
on my website.
BTW. This is not a subjective question and this it is important. I'd re-ask this question or edit the title and get more relevant feedback.
Talk to your lawyer.
From AP's RSS site...
AP provides these RSS feeds to individuals for personal, noncommercial use under the following terms and conditions. All others, including AP members or Press Association subscribers must obtain express written permission prior to use of these RSS feeds. AP provides these RSS feeds at no charge to you for your personal, noncommercial use. You agree not to associate the RSS feeds with any content that might harm the reputation of The Associated Press. AP provides this content "as is" and AP shall not be held liable for your use of the information or the feeds. TO THE FULLEST EXTENT ALLOWED, AP DISCLAIMS ALL WARRANTIES INCLUDING WARRANTIES FOR MERCHANTABILITY, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. You agree to use the RSS feeds only to provide headlines, each with a functional link to the associated AP story that shall display the full content immediately (e.g., no jump pages or other intermediate or interstitial pages). You further agree not to frame or otherwise control the browser window (if any) in which the AP content opens, including limiting the size or position of such window. You agree to provide proper attribution to The Associated Press in reasonable proximity to your use of the RSS feed(s), and you agree that you will not modify the format or branding of the headlines, digests and other information provided in the RSS feeds. The RSS feeds may not be spliced into or otherwise redistributed by third-party RSS providers. No content, including any advertisements or other promotional content, shall be added to the RSS feeds. AP reserves the right to object to your presentation of the RSS feeds and the right to require you to cease using the RSS feeds at any time. AP further reserves the right to terminate its distribution of the RSS feeds or change the content or formatting of the RSS feeds at any time without notice to you. By accessing the RSS feeds or the XML instructions provided herein, you indicate that you understand and agree to these terms and conditions. Note: If you do not qualify to use the RSS feeds under this license or are an AP member or Press Association subscriber and wish to uses these feeds, please contact AP Digital.link text
From Reuters RSS site...
Reuters offers RSS as a free service to any individual user or non-profit organization, subject to the following terms and conditions:
Use will be for non-commercial purposes.
Use is limited to platforms in which a functional link is made available allowing immediate display of the full article or video on the Reuters.com platform, as specified in the feed.
Use is accompanied by proper attribution to Reuters as the source.
By accessing our RSS service you are indicating your understanding and agreement that you will not use Reuters RSS in contravention of the above conditions. Reuters reserves the right to discontinue this service at any time and further reserves the right to request the immediate cessation of any specific use of its RSS service.
If you would like Reuters news for your commercial website, please visit
about.reuters.com/media.

Resources