c# adobe pdf reader control : Add page numbers to pdf document in preview application SDK cloud windows wpf .net class ScrumAndXpFromTheTrenchesonline07-312-part1822

H
OW WE DO PRODUCT BACKLOGS 
| 11 
For the same reason, we don’t place this document in the version control 
repository; we place it on a shared drive instead. This turned out to be the 
simplest way to allow multiple simultaneous editors without causing lock 
or merge conflicts. 
Almost all other artifacts, however, are placed in the version control 
repository. 
Additional story fields 
Sometimes we use additional fields in the product backlog, mostly as a 
convenience for the product owner to help him sort out his priorities. 
Track – a rough categorization of this story, for example “back 
office” or “optimization”. That way the product owner can easily 
filter out all “optimization” items and set their priority to low, 
etc.  
Components - Usually realized as “checkboxes” in the Excel 
document, for example “database, server, client”. Here the team 
or product owner can identify which technical components will 
be involved in implementing this story. This is useful when you 
have multiple Scrum teams, for example a back office team and a 
client team, and want to make it easier for each team to decide 
which stories to take on. 
Requestor – the product owner may want to keep track of which 
customer or stakeholder originally requested the item, in order to 
give him feedback on the progress. 
Bug tracking ID – if you have a separate bug tracking system, 
like we do with Jira, it is useful to keep track of any direct 
correspondence between a story and one or more reported bugs. 
How we keep the product backlog at a  
business level 
If the product owner has a technical background he might add stories such 
as “Add indexes to the Events table”. Why does he want this? The real 
underlying goal is probably something like “speed up the search event 
form in the back office”.  
It may turn out that indexes weren’t the bottleneck causing the form to be 
slow. It may be something completely different. The team is normally 
better suited to figure out how to solve something, so the product owner 
should focus on business goals.  
Add page numbers to pdf document in preview - insert pages into PDF file in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Guide C# Users to Insert (Empty) PDF Page or Pages from a Supported File Format
add multi page pdf to word document; add page to pdf online
Add page numbers to pdf document in preview - VB.NET PDF Page Insert Library: insert pages into PDF file in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Easy to Use VB.NET APIs to Add a New Blank Page to PDF Document
add and remove pages from a pdf; add pages to pdf in preview
12 | S
CRUM AND 
XP
FROM THE 
T
RENCHES
When I see technically oriented stories like this, I normally ask the 
product owner a series of “but why questions until we find the underlying 
goal. Then we rephrase the story in terms of the underlying goal (“speed 
up the search event form in the back office”). The original technical 
description ends up as a note (“Indexing the event table might solve 
this”). 
C# Create PDF Library SDK to convert PDF from other file formats
offer them the ability to count the page numbers of generated document in C#.NET using this PDF document creating toolkit, if you need to add some text
add page numbers to pdf in preview; adding page numbers pdf
C# Word - Word Create or Build in C#.NET
also offer them the ability to count the page numbers of generated using this Word document adding control, you can add some additional Create Word From PDF.
adding page numbers to a pdf in reader; adding a page to a pdf in preview
How we prepare for sprint planning 
OK, sprint planning day is coming at us quickly. One lesson we 
learn over and over is:  
Lesson: Make sure the product backlog is in shipshape before the sprint 
planning meeting. 
And what does that mean? That all stories have to be perfectly well-
defined? That all estimates have to be correct? That all priorities must be 
fixed? No, no, and no! All it means is: 
! The product backlog should exist! (imagine that?) 
! There should be one product backlog and one product owner (per 
product that is). 
! All important items should have importance ratings assigned to 
them, different importance ratings. 
o Actually, it is OK if lower-importance items all have the 
same value, since they probably won’t be brought up 
during the sprint planning meeting anyway. 
o Any story that the product owner believes has a remote 
possibility of being included in the next sprint should 
have a unique importance level. 
o The importance rating is only used to sort the items by 
importance. So if Item A has importance 20 and Item B 
has importance 100, that simply means B is more 
important than A. It does not mean that B is five times 
more important than A. If B had importance rating 21 it 
will still mean the exact same thing!  
o It is useful to leave gaps in the number sequence in case 
an item C comes up that is more important than A but 
less important than B. Of course you could use an 
importance rating of 20.5 for C, but that gets ugly, so we 
leave gaps instead! 
! The product owner should understand each story (normally he is 
the author, but in some cases other people add requests, which 
the product owner can prioritize). He does not need to know 
Free Online Version. 
Support this work, buy the print copy: 
http://infoq.com/minibooks/ scrum-xp-
from-the-trenches
C# PowerPoint - PowerPoint Creating in C#.NET
offer them the ability to count the page numbers of generated in C#.NET using this PowerPoint document creating toolkit, if you need to add some text
add a page to a pdf in acrobat; add a page to pdf file
C# Word - Word Creating in C#.NET
offer them the ability to count the page numbers of generated document in C#.NET using this Word document creating toolkit, if you need to add some text
add page numbers to pdf; adding page numbers to pdf document
14 | S
CRUM AND 
XP
FROM THE 
T
RENCHES
exactly what needs to be implemented, but he should understand 
why the story is there. 
Note: Other people than the product owner may add stories to the product 
backlog. But they may not assign an importance level, that is the product 
owner’s sole right. They may not add time estimates either, that is the 
team’s sole right. 
Other approaches that we’ve tried or evaluated: 
! Using Jira (our bug tracking system) to house the product 
backlog. Most of our product owners find it too click intensive 
however. Excel is nice and easy to direct-manipulate. You can 
easily color code, rearrange items, add new columns on an ad-hoc 
basis, add notes, import and export data, etc 
! Using an agile process support tool such as VersionOne, 
ScrumWorks, XPlanner, etc. We haven’t gotten around to testing 
any of those but we probably will. 
C# Excel - Excel Creating in C#.NET
also offer them the ability to count the page numbers of generated in C#.NET using this Excel document creating toolkit, if you need to add some text
add and remove pages from pdf file online; adding pages to a pdf document in preview
How we do sprint planning 
Sprint planning is a critical meeting, probably the most important event in 
Scrum (in my subjective opinion of course). A badly executed sprint 
planning meeting can mess up a whole sprint.  
The purpose of the sprint planning meeting is to give the team enough 
information to be able to work in undisturbed peace for a few weeks, and 
to give the product owner enough confidence to let them do so. 
OK, that was fuzzy. The concrete output of the sprint planning meeting is: 
! A sprint goal. 
! A list of team members (and their commitment levels, if not 
100%). 
! A sprint backlog (= a list of stories included in the sprint). 
! A defined sprint demo date. 
! A defined time and place for the daily scrum. 
Why the product owner has to attend 
Sometimes product owners are reluctant to spend hours with the team 
doing sprint planning. “Guys, I’ve already listed what I want. I don’t have 
time to be at your planning meeting”. That is a pretty serious problem. 
The reason why the whole team and the product owner have to be at the 
sprint planning meeting is because each story contains three variables that 
are highly dependent on each other.  
Free Online Version. 
Support this work, buy the print copy: 
http://infoq.com/minibooks/ scrum-xp-
from-the-trenches
16 | S
CRUM AND 
XP
FROM THE 
T
RENCHES
Scope and importance are set by the product owner. Estimate is set by the 
team. During a sprint planning meeting, these three variables are fine-
tuned continuously through face-to-face dialog between the team and the 
product owner.  
Normally the product owner starts the meeting by summarizing his goal 
for the sprint and the most important stories. Next, the team goes through 
and time-estimates each story, starting with the most important one. As 
they do this, they will come up with important scope questions – “does 
this ‘delete user’ story include going through each pending transaction for 
that user and canceling it?’” In some cases the answers will be surprising 
to the team, prompting them to change their estimates. 
In some cases the time estimate for a story won’t be what the product 
owner expected. This may prompt him to change the importance of the 
story. Or change the scope of the story, which in turn will cause the team 
to re-estimate, etc, etc.  
This type of direct collaboration is fundamental to Scrum and, in fact, all 
agile software development. 
What if the product owner still insists that he doesn’t have time to join 
sprint planning meetings? I usually try one of the following strategies, in 
the given order: 
! Try to help the product owner understand why his direct 
participation is crucial and hope that he changes his mind. 
! Try to get someone in the team to volunteer as product owner 
proxy during the meeting. Tell the product owner “Since you 
can’t join our meeting, we will let Jeff here represent you as a 
proxy. He will be fully empowered to change priorities and scope 
of stories on your behalf during the meeting. I suggest you 
synchronize with him as much as possible before the meeting. If 
you don’t like Jeff to be proxy please suggest someone else, as 
long as that person can join us for the full length of the meeting.” 
! Try to convince the management team to assign a new product 
owner. 
! Postpone the sprint launch until the product owner finds time to 
join the meeting. In the meantime, refuse to commit to any 
deliveries. Let the team spend each day doing whatever they feel 
is most important that day. 
H
OW WE DO SPRINT PLANNING 
| 17 
Why quality is not negotiable 
In the triangle above I intentionally avoided a fourth variable quality 
I try to distinguish between internal quality and external quality 
• External quality is what is perceived by the users of the system. A 
slow and non-intuitive user interface is an example of poor 
external quality.  
• Internal quality refers to issues that usually aren’t visible to the 
user, but which have a profound effect on the maintainability of 
the system. Things like system design consistency, test coverage, 
code readability, refactoring, etc. 
Generally speaking, a system with high internal quality can still have a 
low external quality. But a system with low internal quality will rarely 
have a high external quality. It is hard to build something nice on top of a 
rotten fundament. 
I treat external quality as part of scope. In some cases it might make 
perfect business sense to release a version of the system that has a clumsy 
and slow user interface, and then release a cleaned up version later. I 
leave that tradeoff to the product owner, since he is responsible for 
determining scope. 
Internal quality, however, is not up for discussion. It is the team’s 
responsibility to maintain the system’s quality under all circumstances 
and this is simply not negotiable. Ever.  
(Well, OK, almost never) 
So how do we tell the difference between internal quality issues and 
external quality issues? 
Let’s say the product owner says “OK guys, I respect your time estimate 
of 6 story points, but I’m sure you can do some kind of quick-fix for this 
in half the time if you just put your mind to it.”  
Aha! He is trying to use internal quality as a variable. How do I know? 
Because he wants us to reduce the estimate of the story without “paying 
the price” of reducing the scope. The word “quick-fix” should trigger an 
alarm in your head... 
And why don’t we allow this? 
18 | S
CRUM AND 
XP
FROM THE 
T
RENCHES
My experience is that sacrificing internal quality is almost always a 
terrible, terrible idea. The time saved is far outweighed by the cost in both 
short and long term. Once a code base is permitted to start deteriorating it 
is very hard to put the quality back in later.  
Instead I try to steer the discussion towards scope instead. “Since it is 
important for you to get this feature out early, can we reduce the scope so 
that it will be quicker to implement? Perhaps we can simplify the error 
handling and make 'Advanced error handling' a separate story that we 
save for the future? Or can we reduce the priority of other stories so that 
we can focus on this one?” 
Once the product owner has learned that internal quality isn’t negotiable 
he usually gets quite good at manipulating the other variables instead.  
Sprint planning meetings that drag on and on
The most difficult thing about sprint planning meetings is that: 
1) People don’t think they will take so long time 
2) ... but they do! 
Everything in Scrum is time-boxed. I love that one, simple, consistent 
rule. We try to stick to it.  
So what do we do when the time-boxed sprint planning meeting is nearing 
the end and there is no sign of a sprint goal or sprint backlog? Do we just 
cut it short??? Or do we extend it for an hour? Or do we end the meeting 
and continue the next day? 
This happens over and over, especially for new teams. So what do you 
do? I don’t know. But what do we do? Oh, um, well, usually I brutally cut 
the meeting short. End it. Let the sprint suffer. More specifically, I tell the 
team and product owner “so, this meeting ends in 10 minutes. We don’t 
have much of a sprint plan really. Should we make do with what we have, 
or should we schedule another 4-hour sprint planning meeting tomorrow 
from 8 am?”. You can guess what they will answer... :o) 
I’ve tried letting the meeting drag on. That usually doesn’t accomplish 
anything, because people are tired. If they haven’t produced a decent 
sprint plan in 2 – 8 hours (or however long your time-box is), they 
probably won’t manage it given another hour. The next option is actually 
quite OK, to schedule a new meeting next day. Except that people usually 
are impatient and want to get going with the sprint, and not spend another 
bunch of hours planning. 
H
OW WE DO SPRINT PLANNING 
| 19 
So I cut it short. And yes, the sprint suffers. The upside, however, is that 
the team has learned a very valuable lesson, and the next sprint planning 
meeting will be much more efficient. In addition, people will be less 
resistant when you propose a meeting length that they previously would 
have thought was too long. 
Learn to keep to your time-boxes, learn to set realistic time-box lengths. 
That applies both to meeting lengths and sprint lengths. 
Sprint planning meeting agenda 
Having some kind of preliminary schedule for the sprint planning meeting 
will reduce the risk of breaking the timebox. 
Here’s an example of a typical schedule for us. 
Sprint planning meeting: 13:00 – 17:00 (10 minute break each hour) 
• 13:00 – 13:30. Product owner goes through sprint goal and 
summarizes product backlog. Demo place, date and time is set. 
• 13:30 – 15:00. Team time-estimates, and breaks down items as 
necessary. Product owner updates importance ratings as 
necessary. Items are clarified. “How to demo” is filled in for all 
high-importance items. 
• 15:00 – 16:00. Team selects stories to be included in sprint. Do 
velocity calculations as a reality check.  
• 16:00 – 17:00. Select time and place for daily scrum (if different 
from last sprint). Further breakdown of stories into tasks. 
The schedule is by no means strictly enforced. The Scrum master may 
lengthen or shorten the sub-time-boxes as necessary as the meeting 
progresses. 
Defining the sprint length 
One of the outputs of the sprint planning meeting is a defined sprint demo 
date. That means you have to decide on a sprint length. 
So what is a good sprint length? 
Well, short sprints are good. They allow the company to be “agile”, i.e. 
change direction often. Short sprints = short feedback cycle = more 
frequent deliveries = more frequent customer feedback = less time spent 
running in the wrong direction = learn and improve faster, etc.  
20 | S
CRUM AND 
XP
FROM THE 
T
RENCHES
But then, long sprints are good too. The team gets more time to build up 
momentum, they get more room to recover from problems and still make 
the sprint goal, you get less overhead in terms of sprint planning meetings, 
demos, etc.  
Generally speaking product owners like short sprints and developers like 
long sprints. So sprint length is a compromise. We experimented a lot 
with this and came up with our favorite length: 3 weeks. Most of our 
teams (but not all) do 3 week sprints. Short enough to give us adequate 
corporate agility, long enough for the team to achieve flow and recover 
from problems that pop up in the sprint.  
One thing we have concluded is: do experiment with sprint lengths 
initially. Don’t waste too much time analyzing, just select a decent length 
and give it a shot for a sprint or two, then change length.  
However, once you have decided what length you like best, stick to it for 
an extended period of time. After a few months of experimentation we 
found that 3 weeks was good. So we do 3 week sprints, period. 
Sometimes it will feel slightly too long, sometimes slightly too short. But 
by keeping the same length this becomes like a corporate heartbeat which 
everyone comfortably settles into. There is no argument about release 
dates and such because everyone knows that every 3 weeks there is a 
release, period.  
Defining the sprint goal 
It happens almost every time. At some point during the sprint planning 
meeting I ask “so what is the goal of this sprint?” and everybody just 
stares blankly back at me and the product owner furrows his brow and 
itches his chin.  
For some reason it is hard to come up with a sprint goal. But yet I have 
found that it really pays to squeeze one out. Better a half-crappy goal than 
none at all. The goal could be “make more money” or “complete the three 
top-priority stories” or “impress the CEO” or “make the system good 
enough to deploy to a live beta group” or “add basic back office support” 
or whatever. The important thing is that it should be in business terms, not 
technical terms. This means in terms that people outside the team can 
understand.  
The sprint goal should answer the fundamental question “Why are we 
doing this sprint? Why don’t we all just go on vacation instead?”. In fact, 
Documents you may be interested
Documents you may be interested