Search
Related Projects
- Aquabu.com - Noah Thorp's Blog
- Computer Music Tech Meetup
Rixiform Software Consulting Services
Rixiform offers scalable software development and project management for your needs.
Contact us for:- Needs assesment
- Ruby on Rails development and rapid prototyping
- Web 2.0 development: ajax, web services, social technologies
- Audio related web, mobile, and desktop applications
- Semantic web applications
We believe that great software goes hand in hand with great project management, and we adapt project management processes to fit the project – typically using practices from XP, SCRUM, and other agile methodologies.
Our approach emphasizes:- Clear communication in comprehensible language
- Speed of development balanced with testing and best practices
- Working together to identify and prioritize important features
Contact Us About Your Project Today
The best way to get clarity about your project is to discuss it directly. Contact Noah Thorp, Rixiform’s founder and development director, to gain clarity on the path forward:

Software Development Strategy
Rixiform Inc, led by Noah Thorp, leverages the advantages of small highly skilled teams to produce high quality software through agile and accountable business practices. Teams typically vary in size from one to five based on the velocity requirements of the project. Expert and appropriate team members are selected by Noah based on specific project needs. These teams are scheduled in one week blocks of time and features (called sprints or iterations) for focused scalable development.
To get an in depth sense of how Rixiform operates, let’s look at some key software development challenges and how we address them. These areas include: managing creativity and complexity; scope creep; communication and accountability.
Creativity and Complexity
Software development is a creative and complex task with changing requirements, extensive implementation options, and real world budgets. The keystone of delivering a useful product is staying focused on business need. Each software feature completed should be in direct support of a business need, prioritized by its cost and return on investment avoiding superfluous and expensive features. But business needs are a moving target. As the project progresses a deeper understanding of business needs, market state, underlying technological shifts, and development challenges emerges. Strategies that rely too heavily on upfront planning do not respond adequately.
In response to these facts, Rixiform adopt’s an empirical approach to project management to track changes in requirements and the resources available to satisfy those requirements on a daily basis. By providing daily feedback on the project through management tools and direct communication, you (the client) are able to make decisions on how to prioritize development, react to market forces, and spend your budget wisely. To support this we:- Gather business needs (called stories in agile terms) in one master list.
- Prioritize these needs and schedule them based on priority.
- Use test driven development to verify that specific business needs are satisfied by code and that this functionality is maintained in the future as that code is modified and extended.
- Run all tests before new code is added to the master code repository to keep your software continually deployable.
Defeating Scope Creep
Another critical factor in software development is scope creep. Scope creep occurs when new requirements are added to an existing project lengthening the timeline and increasing cost. What causes scope creep? The primary factor is the unknown. Often you don’t know what you really want until you see it and use it. And often you don’t know what your customers really want until they use the software. Also, developers frequently do not know what complexity is hidden in necessarily new permutations of code (if the permutations were not new, old libraries could simply be reused). Small requirements can have complex interactions with existing infrastructure and frameworks; changing market forces can make implementation of features unnecessary; and what seems simple initially is often merely because a high level view of complex territory is being taken. This is the reality of software development: unknown factors make for a highly variable environment that can increase or decrease project size dramatically.
How do we address scope creep? First lets summarize how scope changes:- Scope increases when complexity and new requirements are added or discovered.
- Scope decreases by simplifying approach, clarifying business needs, and eliminating lower priority features.
- Estimates improve as unknowns become knowns.
- Base all actions on highest priority business needs.
- Look for the simplest solution that satisfies the business requirements.
- Provide daily feedback to support re-prioritization.
- Revise estimates regularly as knowledge increases.
- Release early and often for greatest feedback.
Communication
The complexity of software development requires a level of communication, which exceeds that of other industries. In this area, small teams of experts have a great advantage. This is because, as team size scales, the number of relationships between team members scales non-linearly ( n(n-1)/2 ) and communication becomes increasingly difficult. For example, a 3 person team represents 3 discreet relationships and a 10 person team represents 45 discreet relationships. By using small development teams of experts with an ideal maximum size of seven, miscommunication is reduced and productivity is increased.
To support communication we put together a communication plan for stakeholders and developers that provides regular feedback to keep the development process on track. Typically, a daily phone check in is scheduled with the primary business stakeholder on each development day. Code contributing team members have a short meeting each day that is focused on expediently answering the three questions “What did you do since last time we met?”, “What are you going to do before we meet tomorrow?”, and “Is there anything blocking you?”. This communication plan keeps everyone informed, development priorities current, and enables quick responses to new information.
Accountability
Finally, there is the challenge of accountability. This comes down to getting and knowing what you are paying for. Besides daily communication and agile response to changing business need, our invoicing is explicit. Each invoice is accompanied by a breakdown of hours, their cost, and which business need it is related too. In this way you can clearly understand where your money is going and what your ROI is and respond accordingly.
Accountability occurs in an environment where clients and contractors can clearly see the full technical and financial landscape of costs, risks, and rewards. Through our processes we strive to maintain this high feedback environment to enable accountability for all team members.