Code Roller FAQ
Q. What is Code Roller?
A. Code Roller is the only collaborative software development project lifecycle management solution that uses time tested, best of breed deliverables and workflow for the entire lifecycle of your software development project.
Q. Why should I use Code Roller?
A. To get more out of your custom software development effort. To develop software more efficiently thus making it more affordable. To develop more relevant software more quickly by reducing the discovery time.
Q. What is discovery time?
A. That is the time it takes to discover what the software really needs to do. People treat the original set of specs as some kind of gospel truth but that is rarely the case. Only frequent customer involvement through mutliple iterations can you discover the most relevant features of the proposed application.
Q. How does Code Roller reduce discovery time?
A. By accelerating all the phases of development so you can see the results of what you asked for more quickly. This reduction in the feedback loop between feature requests and final code facilitates quicker learning. Therefore reducing discovery time.
Q. In your white paper, it sometimes refers to Code Roller but there is also mention of this CLICKS PPM. Are they the same thing?
A. Code Roller is the name of a web application. CLICKS PPM is an acronym representing the set of best practices that Code Roller implements. You could say that Code Roller is CLICKS PPM compliant.
Q. What does CLICKS PPM stand for?
A. Collaborative Lifecycle Intelligent Cybernetic Knowledgable Software Product Project Management
CLICKS PPM and Agile Methodology
Q. You claim that Code Roller is Agile friendly yet my understanding is that you're not supposed to produce documentation in the Agile methodology. All the deliverables in the Code Roller workspace are documents. Doesn't this make Code Roller incompatible with Agile?
A. No. With the Agile approach, you do not bother to create and maintain complete documentation of the application outside of the code itself. The Code Roller workspace deliverables should not document the application. Rather, they document the work needed to be performed on the application.
Q. I thought that it was only the requirements that documented the changes that need to be made. Aren't use cases, designs, and test plans really just documenting the application?
A. No. Requirements are raw, unfiltered needs or wishes. Use cases are analyzed versions of the requirements. Management needs the analysis in order to make intelligent decisions on which requirements to implement and in what order. Designs document what needs to happen in order to implement the requirements. Code Roller designs are not the design of the application but a work plan for carrying out the changes. In a similar vein, Code Roller test plans describe a work plan for verifying that the changes are acceptable.
Q. Doesn't the Agile methodology allow for last minute changes, I mean, it's all about agility right? You're supposed to be quickly responsive when your customer changes his mind. Code Roller has a change management based workflow where the proposed change must be frozen before it can be approved. Doesn't that make it incompatible with Agile?
A. First of all, the Agile methodology employs a concept called time boxing when it comes to managing change. Basically, it goes like this. If you want to throw something new into a frozen release, then you need to be willing to take something else out. Code Roller supports this. Here is another important tip. Code Roller supports an Agile methodology but it doesn't enforce an Agile methodology. If you want to use Code Roller in an Agile way, then each release of your project should cover only about a week's worth of work.
Q. The Learning SDLC section lists requirements, analysis, design, development, testing, and deployment. That sounds like the waterfall model to me. Isn't waterfall the antithesis of Agile?
A. Both Agile and waterfall understand that these are the various activities of software development. The difference is that, with waterfall, those activities are kept in distinct, separate, and sequenced phases. With Agile, those activities are going on all the time. What is distinct, separate, and sequenced with Agile are the iterations which is what Code Roller calls releases.
CLICKS PPM and Software Product Lines
Q. Both Code Roller and software product lines share the same goals of improved efficiency and productivity. Is Code Roller a kind of software product line?
A. Not really. Software product lines achieve these goals by exploiting strategic reuse through basing multiple applications on a domain specific application engine whereas Code Roller achieves these goals through process improvement.
Q. Could you use Code Roller to manage a software product line where the engine and each application are all separate projects?
A. You could but there is currently no way to interconnect those projects such as a repository for searching core assets to solve a particular business need.
Q. One of the benefits to software product lines is the amortization of the cost of authoring the deliverables across multiple products. Does Code Roller achieve any amortization benefits?
A. Not as much. The only artifacts that get amortized in Code Roller are use case actors, design persona needs, and content taxonomies.
Q. They both approach development in an iterative and incremental way. Why didn't you incorporate more software product line functionality into Code Roller?
A. Software product lines have a longer time to market since the core assets must be developed before any applications but it is the application that the paying customer wants. Also, a higher burden is placed on the software architect with software product lines due to the goal of increased reusability as a necessary criteria for success.
Q. They both seem to be based on best practice recommendations. Are there any other differences between software product lines and Code Roller?
A. Yes. Software product lines are pattern oriented whereas Code Roller is work flow oriented.
CLICKS PPM and Software Factories
Q. Both Code Roller and Software Factories share the same goals of improved efficiency and productivity. Is Code Roller a kind of Software Factory?
A. Factories achieve these goals through component based reuse as a sort of software supply chain whereas Code Roller achieves these goals through process improvement.
Q. Could you base your Code Roller deliverables on the templates taken from a software factory?
A. Yes but Code Roller is not software factory aware and won't enforce nor incorporate these templates into the GUI.
Q. They both introduce patterns of industrialization into the SDLC so how is Code Roller different from software factories?
A. One big difference is that software factories typically offer templates as plug in components to an IDE whereas Code Roller is a management solution only.
Q. They both identify requirements, analysis, design, development, testing, and deployment activities. Are there any other big differences than the user experience difference that you just described?
A. With factories, all deliverables are assets of the software. With Code Roller, only the source code files are considered software assets.
Q. How are they different when it comes to clearly articulating deliverables at each phase of development?
A. Factory schemas specify these deliverables at the conceptual, logical, and physical view points. Code Roller makes no distinction between view points and takes a stand by fixing some of these deliverables (e.g. work flow model and role definition) on industry standard best practices.
Q. How do software factories and Code Roller compare and contrast with software product lines?
A. Software factories are product family aware whereas Code Roller is not. To put it another way, think of Code Roller as a software factory that specifies the deliverables and process for the product family known as business applications.
CLICKS PPM and the Capability Maturity Model
Q. Code Roller has so many deliverables and such an elaborate work flow and review system. Isn't this too much for less mature organizations who just want to kick butt and write code?
A. Actually, CLICKS PPM plays best to the middle of the road when it comes to CMM. So, it is a natural fit for Code Roller to work well in what is known as level 3 or defined CMM. Here is a tip for companies that are less mature to take advantage of Code Roller. Once a new deliverable (i.e. use case, design, or test plan) is created, the project leader is tasked to assign that deliverable to a change control. Less mature organizations should assign that deliverable to the same change control as the release. More mature organizations should assign each deliverable to a different change control. You can also chunk groups of related, interdependent deliverables to the same change control. It all depends on how many management decisions you want to make and the granularity of each decision.
Q. My company is small and new. We need to hit the ground running hard and fast. We don't have time or the personnel to write a lot of documentation. We are an XP (i.e. eXtreme Programming) shop. How can Code Roller help us?
A. Even XP believes in user stories so that is your requirements right there. From the display requirements page, you can click a link to add this requirement to a use case. There are links on the display use case part page to add this to a test plan and to a design. After clicking any of these links, you are popped into edit mode on the newly created use case part, detailed design, or test step where you make a few tweaks and you're done. Remember to keep it simple. Even a small company can achieve a lot of documenation quickly using Code Roller.
Q. My company is a level 3 (i.e. defined CMM) company. What features of Code Roller can help us?
A. You will most probably be interested in the Content Management System whose records and compliance management features make it a good fit for a knowledge repository.
Q. My company is a level 4 (i.e. managed CMM) company. What features of Code Roller can help us?
A. In addition to the level 3 features, you will most probably be interested in Function Point Analysis and the burn-down charts.
Q. My company is a level 5 (i.e. optimized CMM) company. What features of Code Roller can help us?
A. In addition to the levels 3 and 4 features, you should benefit from the predictive market capability of the ratings and endorsements system.
Nuts and Bolts Questions About Using Code Roller
Q. What is this Code field that I keep running into? Why should I care about it?
A. The value of that field is what appears in a drop down list to select the item that you are currently editing. You are allowed to enter your own codes so that you can use something easily recognizable to you. The code will be automatically generated if you leave it blank.
Q. Why do you bother with this Recently Visited box when I can just use the back button on my browser?
A. There are times when you want to add something but realize that you need to add something else first so that you can select it in the drop down list. The browser back button won't help you there.
Q. I found a bug. How should I report it?
A. This blog entry explains what to do.
Q. Where is the project manager functionality?
A. Project managers will get tasks that direct them to their change management functions. Most of the project and product management functionality can be found on the display release page. Click the Change Control link to freeze, approve, or reject the release. The Unanalyzed Requirements link lets you go through the requirements that don't have use-cases yet. The Requirements Report shows you a printer friendly report of this release with all of its requirements. The Burn-Down Chart and the Gantt Chart will be interesting once this release is in its coding phase.
Q. I tried that Requirements Report but it didn't show all of the requirements.
A. Each requirement has to be associated with a design persona through at least one need in order for it to show up on that report.
Q. Are these all of the reports?
A. No. Use-cases and designs also have report links available on their display pages. There is a plan in the works for a similar report for test plans.