
User Story
Introduction
As the name suggests, user stories are a description of the requirements and needs of the users in an Agile Software Development. The user story is a high-level definition of the requirements put together in minimum words sufficient enough for the developers to make a quick but reasonable estimate of the efforts required in order to meet the requirements of the user case. It usually consists of one or more sentences that convey what the user of a system or the end user does or is required to as part of his everyday job. User stories can also be said to be a reminder to conduct a just-in-time-analysis that might prove helpful.
Some Considerations While Writing a User Story
As the user story is quite short but highly definitive so it needs to be written with extreme caution to convey the correct message. Here are some considerations you need to keep in mind while writing it:
• Only stakeholders can write user stories
Writing user stories is not a very complex task so they are mostly written by the domain experts who are the stakeholders and not the developers.
• Using simplest tools is beneficial
The user story needs to be written using the simplest tools such as index cards so that they are easy to work with and become an inclusive modeling technique.
• Nonfunctional requirements also need to be kept in mind
A user story has a variety of requirements so it is mandatory to include all kinds of requirements in it whether they are functional or nonfunctional.
• Indication of the Estimated Size
It is important to indicate the estimated size in your user story as it will help the developer have a more precise idea of how much efforts and time would be required to implement the concerned story.
• Indication of Priorities
It is important to set your priorities right while implementing a user story. The stakeholders usually indicate their priorities in a user story. The priorities can easily be distinguished on a scale of highest to lowest so that developers know what to go for first. The priorities are also likely to change over time but that is not a negative aspect as it helps motivate teams to work in an entirely different direction at any point.
• You can also include a unique identifier
It is also advisable to include a unique identifier in most user stories as it helps in traceability between user stories and other artifacts.
Conclusion
User stories are essential elements of the Agile Software Development as it affects the planning phase of teams as well as are functional throughout the different phases of the lifecycle of an Agile Community. It can have an impact on different levels of planning like scheduling or estimating depending on the priorities and size of a user story. Similarly, its impact can easily be noticed on the different phases of an Agile Life Cycle especially the three main phases where the user story makes a change are the inception phase, the construction phase as well as the transition phase.
–Slimane Zouggari
MoSCoW – DSDM
Image

Scrum-but
A few years ago, the word “scrum-but” became quite popular. This phrase referred to the gap between just using Scrum and creating amazing products with the Scrum software. In Scrum circles, this term is very common and points out teams using the Agile Scrum software but skipping out some aspects of it for one reason or the other. Some common examples include:
• We’re using Scrum, but the retrospectives are not as effective, so we only use them on a monthly basis.
• We’re using Scrum, but our stakeholders are a bit too busy to come at Sprint Reviews, so we stopped using them.
• We’re using Scrum, but we cannot get everything done in a couple of weeks so now we just allow all our Sprints to run as long as they want to.
Using Scrum – while not using Scrum – is like being on full-fat-cheese-only diet. It won’t reduce your weight; instead it will only increase it. So you are basically going against the concept of dieting.
Most Scrum experts have an objection to Scrum-buts because they almost always cover up an impairment which could easily be removed or fixed to improve things. Some examples relating to the above examples are as follows:
• The retrospectives are quite commonly thought of as ineffective since no one does anything about all the issues raised. So it’s more probable that the teams need better retrospectives instead of fewer retrospectives.
• When interesting and essential new results are being displayed, while the team is responsive to the stakeholders input, the Sprint Reviews can be really productive and fun. Most probably, the team is working on topics which the stakeholders do not value or that they are not related to the needed changes.
• The most important part of Scum’s software is to hit the project deadline as top priority. Having a shorter deadline every couple of weeks will give the team practice on how to do it. It is most probable that the teams are missing out on important knowledge about what’s holding them from success.
These are the reasons why all the Scrum experts are so against Scrum-buts. They are just proof for why they are not able to get the complete benefits of Scrum by not using it properly. Instead of choosing to fix problems, they start avoiding them which leads to further problems on a larger scale.
Even though only using some benefits of Scrum may be helpful for some people and may satisfy them more, if one complies with buying the Agile Scrum software, it is important to follow out all the rules and regulations in their suggested methodology to ensure you get the maximum possible benefits which have been claimed for. Most people face a bit of problem in understanding what Scrum is about but learning about it will definitely be of huge value for you. So if you choose Scrum to help you, make sure you use it properly and do not become a Scrum-but.
–Slimane Zouggari
Project variables
Image

eXtreme Programming
Extreme Programming: What is it and basic principles?
Extreme programming is an agile development methodology that is primarily aimed at increasing productivity when developing a software project. Priority to jobs that give a direct result and in which the bureaucracy that may exist in the work environment is reduced.
BASIC PRINCIPLES
We have 12 basic principles that are grouped into 4 different categories:
• Feedback.
• Continuous process rather than blocks.
• Shared intellectual property.
• Shared understanding.
FEEDBACK
Test principle: the first thing you should do is set a period of acceptance testing program, in which the inputs and outputs of the system will be defined. Basically it defines what should the software developed. As if it was a black box.
Planning: The clients (or his representative) write needs to define precisely the activities that the system must perform. At this stage a document containing user stories that form the release plan, which defines the delivery time of the application in order to receive feedback from the client will be created.
In-situ client: the client (or his representative) should be part of the development team. You will be given the power to determine the requirements of the application define the functionality and prioritize certain things. Thanks to this, there will be a strong interaction with programmers, thus reducing communication time and the amount of documentation to write. The customer will be with the team throughout the project development process.
Pair-programming: These points with the above are the most radical of this methodology. It is to write code in pairs sharing a single machine. According to the experiments already carried out on this method, better and more consistent applications at equal or lower cost occur.
ONGOING PROCESS IN LIEU OF BLOCK
Continuous integration: is gradually implementing new software features. Instead of creating stable versions according to a schedule previously performed, programmers meet your code and rebuild the project several times a day if necessary.
Refactoring: by constantly removing duplicate code and / or inefficient programming teams improve the system design. The code is continuously evaluated to provide the highest possible quality.
Small deliveries: the product is tested in a real environment by placing a simple production system which will be updated quickly, ie, every 2 weeks (maximum 3) the software will be put into production.
SHARED UNDERSTANDING
Simple design: the best program is one that meets the requirements and simpler. It is important to provide software that meets the needs of a client. No more no less.
Metaphor: expresses the evolutionary view of the project and defines the objectives of the system through a story.
Collective ownership of code: the code has shared ownership. Nobody owns anything, even what he has developed. All programmers are “owners” of all the code. According to this methodology, the more programmers is working on a piece of code, fewer errors will.
Programming standard defines the rules for writing and documenting code, and how the different pieces of code developed by different teams communicate. The aim of this is that it seems that the code has been written by a single person.
–Slimane Zouggari
Daily stand-up: the Dilbert way (2)
Image

7 wastes of lean manufacturing
The Seven Wastes of Lean Manufacturing are:
–Slimane Zouggari
Be agile vs Do agile
Image

Scrum: Sprint Retrospective
Michael Jordan hаѕ a rаthеr famous quote аbоut teamwork thаt basketball fans аnd non-basketball fans alike mау bе familiar with. Thе quote is, “Talent wins games, but teamwork аnd intelligence wins championships.”
A compelling thought, раrtiсulаrlу соming frоm a player whоѕе individual sports prowess iѕ renowned аѕ оnе оf thе mоѕt famous historically. In Scrum, retrospectives аrе оnе ѕuсh thing thаt helps thе Scrum team.
Aѕ wе know, thеrе аrе thrее purposes fоr thе Scrum retrospective. Broadly, thеу аrе to: inspect thе lаѕt sprint whilе rеgаrding diffеrеnt factors, identify аnd order major items, аnd create a plan fоr improvements. Putting in a half effort аnd nоt realizing hоw critical thе retrospective iѕ mау givе уоu a decent short game but it will nоt bring you, уоur Scrum team, оr thе company tо thе championships.
Learning frоm members оf thе Scrum team during thе inspection process will аllоw fоr mоrе efficient problem solving in thе future. Taking a closer lооk iѕ nоt оnlу uѕеd fоr discovering сurrеnt problems but preventing future problems. If Scrum team members run intо difficulty performing сеrtаin tasks аnd thеу share thiѕ it аllоwѕ thе team tо identify whеrе еxасtlу thе problem is. If thе problem iѕn’t identified thrоugh communication оr inspection, thеrе iѕ nо wау itѕ gоing tо bе fixed. In combination with identifying thе problem iѕ ordering it. Sоmеtimеѕ if уоu solve thе big problem firѕt thе small оnеѕ аrе worked out. In оthеr instances, if уоu dоn’t fix thе small problem уоu саn’t move оn tо thе big problem. Onlу уоur Scrum team knоwѕ hоw tо order аnd resolve problems specific tо уоur team; уеt аnоthеr rеаѕоn whу it iѕ essential tо communicate. Gathering аll оf thiѕ information аnd creating thе adaptive game plan tailored tо уоur scrum team iѕ whаt will make thе difference in thе end. Yоu саn identify аnd inspect аll уоu likе but if уоu dоn’t apply it iѕ nо use.
Helping уоur team thrоugh thiѕ ceremony will bе necessary. Dо nоt fall intо thе pattern оf letting thе retrospective go. Mаnу a team hаvе made thiѕ mistake. Thе retrospective iѕ аn opportunity fоr thе team tо improve. It serves tо kеер thе team focused. A focused team will produce muсh faster.
Alѕо kеер in mind thаt retrospectives аrе nоt оnlу fоr teams, thеу соuld hеlр thе owners оf thе process. Thе Agile retrospective helps managers move thе agile deployment in thе direction оf itѕ baseline.
–Slimane Zouggari
You must be logged in to post a comment.