 |
| Home | Delivery Model | Portfolio | About Us |
 |
 |
 |
 |
| |
Links to Agile and Scrum sites
|
|
 |
 |
 |
HimalayanTechies defines its best practices within the construct of agile software development. The Internet is full of information on this topic so we won’t go into great detail. Here is a short description and an explanation of our specific agile choices.
The core concepts of agile software development are:
- Close collaboration with the client/product owner;
- Short work iterations of one to four weeks, each more or less a complete project;
- Potentially releasable increments of function resulting from each iteration.
In particular we like that close collaboration and short iterations eliminate the need for complicated contractual risk allocation and change control procedures. Less paperwork; greater productivity.
|
|
 |
 |
The Scrum Process |
 |
| |
We chose Scrum for process facilitation (aka project management) and wrap it around several agile development techniques. Scrum has gained such wide acceptance that it is now used by software giants Google and Microsoft, as well as thousands of smaller organizations.
Scrum – named after the rugby scrum – is often depicted as follows: |
|
|
 |
The Product Backlog is a list of features, frequently shifting in priority, needed in the product. The Product Owner and Team select a set of features to which they commit the Sprint Backlog for the next iteration. During that iteration, the Team meets every day to identify:
- What they accomplished yesterday
- What they intend to accomplish today
- What obstacles might impede this work
The ‘Scrum Master’ ensures that identified obstacles are removed. At the end of the Sprint the process begins again. Bugs become backlog items, prioritized along with new function. |
 |
Close Collaboration |
 |
| |
Ok, we admit it. Collaboration can be tough when separated by half a world. So we’ve chosen communications tools and protocols that promote dialog and information sharing while minimizing undue documentation. Our goal is to have ‘just enough’ written down so that we’re all always on the same page. |
|
|
 |
 |
 |
| |
Other Scrum Info and Graphics
|
|
 |
 |
 |
|
|
 |
| Agile Development Practices |
At HimalayanTechies we use two core agile development practices to quickly deliver incremental business value.
- We test continuously.
- We build early and often.
The combination produces very low-defect code. And we all know that finding and fixing a bug early is exponentially less expensive than the ‘code and fix’ technique. |
 |
 |
Testing Continuously |
 |
| |
HT uses a coding technique called test-driven development (TDD) within a unit testing framework . In TDD a developer writes a failing test and then writes and refactors code until it passes the test. TDD does not replace traditional testing; rather, it defines a proven way to perform effective unit testing and, as a bonus, the tests form much of the design of the product. Though it may sound more time-consuming, it has been proven to be extremely cost-effective.
We can include QA in any Scrum team to also perform functional testing. |
|
 |
 |
 |
| |
Links to Sites and Articles on Testing
|
|
 |
 |
 |
|
 |
 |
Building Early and Often |
 |
| |
HimalayanTechies builds your complete product daily or even more frequently. This is supported by state of the art version control and continuous integration. End result—you get clean code to test and use early and often.
There are a many repository and integration tools available. Generally we use Subversion and Perforce but are comfortable with most of the other choices. Depending on how our relationship is structured, we can host development on our US-based servers or you can choose to make your own hosting arrangements. |
|
 |
 |
 |
| |
Links to Sites and Articles on Continuous Integration and Frequent Builds
|
|
 |
 |
 |
|
 |
 |
 |
© HimalayanTechies 2000 - 2008, All rights reserved Tel: +977.1.555.1007  |
| |