Product Strategy.
The first step in building any software product is to identify a “cohort” of people or organizations with a common need or problem that you believe you can uniquely address. How do you take that idea and begin shaping a plan?
Things rarely go according to plan, so the plan has to be built to change: a product strategy, user personas, wireframes, a journey map, a story map and estimates that everyone understands are commitments. That work is how a release date becomes something a team can keep.
The first step in building any software product is to identify a “cohort” of people or organizations with a common need or problem that you believe you can uniquely address. How do you take that idea and begin shaping a plan?
Every software product is intended to address the needs of one or more “cohort” of users — people with similar needs. A user persona is a fictional character defined to represent a cohort.
As the saying goes, a picture tells a thousand words. Wireframes are the pictures of your product.
A user journey map is a means of visualizing the flow a user takes to achieve a goal using a software product. A software product may have anywhere from a few to dozens of journeys. Journeys are invaluable in helping the development team envision how software may solve problems for users.
Story mapping is the process of translating user journeys into unique features and functions — user stories — and organizing them into groups of related functionality — epics — and into version releases.
Despite the dictionary definition of the word, an “estimate” usually becomes a commitment. Some believe that accurate estimates are a myth. Although they are never perfect, experience improves them. Most software firms might estimate a couple of releases a year. CodeStringers estimates dozens.
The service
Below is a taste of CodeStringers’ expertise in agile release planning and development. For more on the types of agile methodology, check out our blog post.
A user story is the definition of a software feature to be built. User stories have a specific format that includes four fields (three illustrated in the picture above):
The term “user persona” simply means a description of the prototypical user of the feature. Software products may have a single or multiple user personas.
Acceptance criteria are typically use cases. One use case is the “happy path”: what happens if the feature works as expected. The others are “negative use cases”: what happens when the software doesn’t do what the user wants. For example, take a “login” feature:
Estimation of user stories is done by assigning a numeric value to each story called “story points”. Story points are an abstract concept but an important one in terms of the psychology of a development team.
Prior to Agile / Scrum, development team members were all asked to provide estimates in time for everything they did. This was often referred to as “man-hours”. The problem is that each feature built could involve multiple team members, each one having to provide an estimate. Consider building a web application. You have a UX/I designer, a frontend web developer, a backend API/service developer, a database architect, a manual quality assurance tester, and a test automation engineer. Each one must complete work for a given feature to meet the acceptance criteria.
How much time would it take to get estimates from each team member so that you know the total effort? How do you know if those estimates are accurate? What culture does it create when team members give estimates that are wrong (low) and are later criticized for the inaccuracy?
Story points are a numeric value that the team collectively assigns to each story in the backlog and does so using “relative” estimation. Rather than each individual answering the question, “how many hours will this take?”, the team together is asked, “what stories that we built historically is this larger than and which ones is it smaller than?’
Most development organizations use Fibonnacci numbers as their story point values: 1, 2, 3, 5, 8, 13, 21, 34 and so on.
The team looks at a given story and realizes it is larger in effort than one story built recently and smaller than another. The first of those took 13 points. The latter took 5 points. So, the estiamte for this story is 8 points. And move onto the next story.
Why is this method valuable?
#1 – Speed. Ask people for time estimates and they’ll spend time trying to make sure they’re not low in their estimate.
Ask people for time estimates and they’ll likely estimate high on purpose because it’s better to “under-promise and over-deliver”. Problem is that this may get to the point that estimates are so high they are of no value. Worse, once people are told that an estimate is accepted, they may find ways to actually use all of the time they’ve been given to deliver (i.e. they don’t work hard).
Asking individuals for estimates creates a individualism culture, which is the fastest path to a low productivity product organization possible. As the saying goes, “There is no ‘I’ in TEAM.” When you ask teams to estimate together, no one person feels politically exposed. If the team is wrong, we learn from it. In the case where a person is wrong, blame is assigned.
Velocity Explained. The term “velocity” refers to a unit of measurement in Scrum that illustrates the average number of story points completed in sprints. It is hugely important for a few reasons:
It’s important to plan sprints such that the volume of points planned is slightly higher than velocity. Why? Because you always want your team to have goals that push them to increase velocity but not so much greater than velocity that the team feels defeated.
Scrum as a methodology does not discuss release planning, but the reality is that few if any product versions only require one sprint to complete. Releases typically include multiple sprints.
Businesses need predictability. How do you plan sales and marketing activities if you have no idea when a product version will be released? How do you forecast revenue and profitability? You don’t.
As such, velocity allows teams to estimate product version release dates early in the release development. Here’s how it works.
The team completes a few sprints to establish a velocity of 50 points (per one-week sprint). The team then estimates everything remaining in the product backlog (for that product version) to sum to 2,000 story points. Divide the sum of the backlog estimates by the velocity: 2,000 / 50 = 40 sprints/weeks.
Now decisions can be made. If the organization needs the release in 30 weeks, it may be possible to add resources to increase velocity. Moreover, the organization can now track progress sprint-by-sprint to ensure that the team continues to track to the release date and adjust as needed. No surprises at the end of a cycle.
Data analysis, machine learning, automation and web backends on Django and Flask.
Component-based front ends and single-page applications for web products and internal tools.
Event-driven backends, REST APIs, real-time features and content systems in server-side JavaScript.
The capability these pages belong to: how we build custom software, and when we do not.
We write your systems’ configuration as code and let AI apply it: fields, picklists, layouts, workflow rules, integrations, read back and verified after every step, so a build that took weeks of clicking takes days.
Because the work is programmatic, we quote the outcome, not the hours. The estimate is guaranteed and discovery is no-risk.
Our own CRM rebuild in October 2026: 21 shared picklists, 3 modules, 88 fields, 7 layouts, 23 workflow rules and 16 actions, built through code in 22 verified runs, every step read back.
The same tools that configure your systems today are what run our agentic solutions tomorrow: one surface over the systems you already own. See the agentic solutions
"Something isn't working." "We're outgrowing our tools." "We're afraid to make the wrong move." No-Risk Discovery is a short, practical conversation that gets you clarity before you commit to anything big. We'll tell you if we're a fit. If we're not, we'll tell you that too.