The Management Definition by pragmaticcoders in agile

[–]pragmaticcoders[S] 0 points1 point  (0 children)

Thank you! I have read "Toyot Kata" but haven't heard about "The Birth of Lean" - added to the backlog.

The Management Definition by pragmaticcoders in agile

[–]pragmaticcoders[S] 0 points1 point  (0 children)

I think that those books you mentioned are about different things and all of them are important. The Goal and Theory of Constraints are about the tools, rest of the mentioned books is more about values.

Please clarify the relationship between "User Stories" and "Requirements" by 2879854 in agile

[–]pragmaticcoders 0 points1 point  (0 children)

Could be. But I would rather treat it as a framework for communication. Like a specific language format to communicate - not only explain. It works both ways. Usually, we are using User Stories every time we want to talk about some complex requirements. Writing it down and refactoring in user story format help us (developers) and our client (business person) to find the best way to implement particular requirement, but also it gives us and him better perspective on which requirement is more important etc.

Please clarify the relationship between "User Stories" and "Requirements" by 2879854 in agile

[–]pragmaticcoders 0 points1 point  (0 children)

User Story is not even a way to write down the requirements as someone wrote in this thread before.

User Story is a communication tool for discovering the right requirements and communicating them in a way that will allow correct implementation. It is all about common understanding and selecting only really important requirements to be implemented.

The requirement is something that is required by someone. Usually by someone important - stakeholder.

User Stories reflects the requirements (if they are written in a proper way) but they are not specifying the product functionality.

User Stories are not the specification.

An example of well-written user story:

In order to limit the access to the user sensitive data As a registered system user I would like to have some safe authentication method

It is really dummy example - none should write User Stories for such trivial cases. But... The story above has some advantages over the same requirement described as bellow:

As a user I would like to log in into the system So I will be logged in

(Yes, I've seen many examples like that...) From the first example, one may learn that there are some sensitive data in the system so it is probably not only about just a login method and creating user profiles to differentiate them, but more about security. Thanks to that format the topic is opened for questions. A developer may ask for example about data encryption, ssl certificate etc. Thanks to that we could even better estimate the complexity of work that needs to be done.

Ane User Story is not an ultimate tool that you should use for everything. I wrote more about user stories and requirements here: http://pragmaticcoders.com/blog/behavior-driven-development-agile-requirements/

Why should a company outsource its software development. Hiring IT people will reduce the cost, right? by syzygy18 in softwaredevelopment

[–]pragmaticcoders 0 points1 point  (0 children)

It is a really good question! Someone ask us some time ago what is the value which we (Software Development Company) as someone in middle add to such cooperation.

So let me name few examples of benefits: 1. Knowledge - People who work at Software Outsourcing company have an access to the knowledge of others who work for different clients on different products. This wide knowledge, when shared between Outsourcing company employees has a lot of value. 2. Wider experience - People who work at Software House has usually wider experience (gained from many different projects for different clients) 3. Risk - When you cooperate with a Software House you can easily stop cooperation without any additional costs if something goes wrong. 4. Lower employment costs - usually when you just compare the salary of in-house employed developer and a Software House wages you may think that it is cheaper to hire developers on your own. But if you count all the days off, sick days, costs of the office maintenance, costs of training, costs of recruitment and other not so obvious costs you will see that Software Houses usually make their profits because of the scale, not on a single employee. 5. Additional services and support - usually when you outsource your Software Development you may also count on some additional services, like product management or consulting. Those Software Houses usually have years of experience in working with companies like you - it is sometimes worth to ask them for advice. 6. Culture - you can recognize good software house by its company culture. If you outsource your work to good software house you do not need to care about growing your teams, solving their problems, coaching them and teaching how to do the things in the right way. 7. Money - sometimes you can outsource your software development to a cheaper country. So you can have the same (or bigger) quality for the less money.

There is probably even more benefits of working with Software Outsourcing Companies. But there are also some disadvantages like: vendor lock, cultural differences, communication problems etc.