From user story ...+
User stories are part of an agile
approach that helps Tim to talk about requirements instead to write requirements. All agile user stories include a written conversations about the desired functionality. User stories are short, simple descriptions of a feature told from the perspective of the person who desires the new funstionality, usually a user or customer of the system. They typically follow a simple template:
As a < type of user >, I want < some goal > so that < some reason >.
User stories are often written on sticky notes, stored in a box, and arranged on walls or tables to facilitate planning and discussion. Usualy that wall or board we call Kanban
board or a backlog. As such, they strongly shift the focus from writing about features to discussing them. In fact, these discussions are more important than whatever text is written.
Software design process+
Software design is the process of envisioning and defining software solutions to one or more sets of problems. One of the main components of software design is the software requirements analysis (SRA).
SRA is a part of the software development process that lists specifications used in software engineering. If the software is "semi-automated" or user centered, software design may involve user experience design yielding a storyboard
to help determine those specifications.
If the software is completely automated (meaning no user or user interface), a software design may be as simple as a flow chart or text describing a planned sequence of events. There are also semi-standard methods like Unified Modeling Language and Fundamental modeling concepts. In either case, some documentation of the plan is usually the product of the design. Furthermore, a software design may be platform-independent
, depending upon the availability of the technology used for the design.
After SRA phase, our team of experts prepares SRS - Software Requirement Specification, in which we try to simplify the process for our developers. We try to cover all user stories with good database engineering. Also, we like to include customer directly to Wireframing and Mockups of future product.
Agile Software Programming+
We feel best when we are using best core agile programming practices:
- - Test-first programming (or perhaps Test-Driven Development),
- - Rigorous, regular refactoring,
- - Continuous integration,
- - Simple design,
- - Pair programming,
- - Sharing the codebase between all or most programmers,
- - A single coding standard to which all programmers adhere,
- - A common "war-room" style work area.
Such practices provide the team with a kind of Tai Chi flexibility: a new feature, enhancement, or bug can come at the team from any angle, at any time, without destroying the project, the system, or production rates.