Posts

Difference between a User Story and a Use Case?

What is a User Story?  Simply put, written from the context of the user as a simple statement about their feature need. They should generally have this format. "As a -role-, I want -goal/desire- so that -benefit-" How is a User Story different than a Use Case?  While a use case is highly structured and tells a story, the User Story sets the stage by stating the need. A User Story is the prelude to the use case by stating the need before the use case tells the story. How does the User Story fit into the process?   User Stories are great as an activity in collecting and prioritizing the high level features. Getting this initial feedback from the customer is a simple way of trying to get all of their needs identified and prioritized. The User Stories will then morph themselves into the   business requirements   and use cases. USE CASE Template-  Use Case Element Description Use Case Number ID to represent your use case Application Wha...

5 key Coaching tips for Scrum Masters

Listen deeply. " Consider what it feels like when you’re trying to convey something important to a person who has many things on his mind. Contrast that familiar experience with the more luxurious and deeply validating one of communicating with someone who is completely focused on you and actively listening to what you have to say with an open mind and an open heart." Ask, don’t tell.- " Open-ended questions, not answers, are the tools of coaching. You succeed as a coach by helping your team members articulate their goals and challenges and find their own answers. " Create and sustain a developmental alliance. " Follow-up is critical to build trust and to make your coaching more effective. The more you follow through on supporting your employees’ developmental plans, the more productive your coaching becomes, the greater your employees’ trust in you, and the more engaged you all become. It’s a virtuous cycle." Focus on moving forward positively....

Bug Lifecycle

Image
http://www.softwaretestinghelp.com/bug-life-cycle/

Characteristics of Agile Team

● They are self-organizing rather than role- or title-based. ● They are empowered to make decisions. ● They truly believe that as a team they can solve any problem. ● They are committed to team success vs. success at any cost. ● The team owns its decisions and commitments. ● Trust, vs. fear or anger, motivates them. ● They are consensus-driven, with full divergence and then convergence. ' ● And they live in a world of constant constructive disagreement. —the characteristics of high collaboration and, thus, high performance (adapted from Tabaka 2006): 

Tester involvement in Scrum planning and in Estimation

A tester on an Agile team should not just be doing testing after implementation, but should be actively involved all the way through development.  They can spot testability problems and other gaps from the very beginning, help the developers design the implementation with testability in mind, and define the tests before and during development to help the developers hit the right target.  As this is the case, the tester really needs to understand the whole story, not just the testing aspects. Quality is the responsibility of an Agile team, not any one individual. Offloading quality tasks to Tester people is a handoff that decreases the responsibility as well as the agility of the team.  Offloading will not increase quality in the long run nearly as much has collaborating. These people should be integrated, which means they need to collaborate with the rest of the team on quality tasks as well as collaborate with the team on other tasks (including story pointing). ...

Story point --- Velocity----> Business Value

The purpose of velocity is to calibrate the current local value for a story point in order to facilitate planning for the near future.  This allows us to continuously deliver value and steer a project without having to put a lot of time and effort into estimation.  Estimation does not deliver any value, so the less time and effort we can get away devoting to it, the more time and effort is available for actually delivering value.  Just estimating story points and moving on without worrying much about precision is the fastest way to get on with doing the work.  The alternatives that would seem to create more order and precision to estimates never actually produce a sufficiently better outcome to justify the otherwise unnecessary time and effort required to do so.  There is, however, an alternative that even makes the little bit of time and effort required for story pointing and velocity calculation unnecessary. Just always split all stories into the approxim...

How to get started with new Agile Team

Problem Many teams start out with good intentions and then have quality erode as people go through the motions due to burn out or just no longer having fun.  Solution 1. For sustainability, the team really should own and evolve their standards instead of them being handed a bible. 2. Also, it is more critical to get early momentum through delivery of working software and feedback on that software than to get bogged down in the minutiae of a specific standard.  3. I suggest starting with the minimum that the team reaches a quick consensus on as necessary from the beginning and then add/subtract from it as feedback and experience indicates to the whole team. The standards can and should change over time. The key is clarity , testability , extensibility and maintainability of the code itself.  4. It is also important to establish from the beginning that the code base is shared by the whole team. No part of the code should be understood and maintained by only one tea...

Continuous Delivery - An Example

An example of an idealized, modern software delivery pipeline might look like the following:  • Plan user stories and manage issues with a project management tool like JIRA.  • Collaborate on code via GitHub pull requests or a code review tool.  • Kick off a build in a CI system like Jenkins or Bamboo.  • Automatically run unit and functional tests with open source testing tools like xUnit and other testing frameworks, and automation tools like Selenium and Appium.  • Deploy with an IT automation tool like Puppet or Chef, or using a PaaS.  • Monitor performance and impact on business metrics with systems like New Relic and Mixpanel.

Retrospection meeting using Fishbone diagram

Image
Step 1: Identify the Problem Step 2: Work Out the Major Factors Involved Step 3: Identify Possible Causes Step 4: Analyze Your Diagram Depending on the complexity and importance of the problem, you can now investigate the most likely causes further. http://www.mindtools.com/pages/article/newTMC_03.htm http://www.techrepublic.com/blog/tech-decision-maker/create-fishbone-diagrams-with-the-xmind-open-source-tool/

Set Up Continuous Integration with Team Foundation Server

Image
TFS infrastucture  For PROD, you may like to have Nightly Builds, for Development you want to have a build triggered at every check-in and so on…  These builds require a build server.  You can use 1 build server for all the builds or you can have a separate build server for each Repository, or you can share build server between 2 repositories. The decision to use one-build server or more depends on the peak-load, expected build queue, h/w infrastructure and a lot of other parameters.  If you do not want build services, you do not need to configure a build server at all. http://www.codetails.com/2013/11/23/team-foundation-server-understanding-the-architecture/   Set Up a Dedicated Build Server Installs the build service on the team's build server Set Up the Drop Folders A folder where the Team Foundation build service can drop the builds. Give the folder permissions to the server that runs the build service Create the Continuous-Integ...