Agile software development

Agile software development

 At Cerego Japan we develop iKnow! under the principles of agile software development. We value people and interaction over process and tools, we strive to develop working software over comprehensive documentation and we value the ability to stay flexible and be responsive when there is a change in requirements.

 These changes can come from the a realization of a past mistake, attentiveness to users' needs or requests, a change in the internet landscape, or an opportunity that arises as a result of greater exposure to the internet community.

 In order to release early and release often we have been managing our development process using the concept of an iteration. An iteration is an arbitrary division of time in which a certain set of tasks can be achieved. In the early stages of iKnow! development, iterations would occur every week and some times even quicker.

 Now we have settled into roughly 2 week iteration cycles. In a given cycle features are allocated from the product road map, both in order of importance and according to the estimates of what is achievable within the iteration time frame. Development of these features continues up until the point of the code freeze. At this point all new feature development stops and a final testing begins. Final testing usually occurs over a 2 day period and if everything passes the testing process then the live site is updated with the new code.

 Creative development is present at all stages of the release cycle but is usually most active at the time after the code freeze when the final interface polish is needed before releasing the updated product to the public.

 In the early stages the creative team is involved in pre-visualization for new features in design mock ups that are developed out of wireframes generated by the site planning team. For features that are more agile and occur somewhat spontaneously, interface development and design is initiated by the developers and then revised by the creative team.

Asset management

 In order to manage the different moving pieces of the iteration cycle and to maintain code quality iKnow! is developed using the version control software SVN. Version control when combined with the rails framework allows a team of developers and designers to work relatively independently, both in terms of physical location as well as feature scope.

 Each developer /designer has their own local copy of the entire web application code and a light version of the live data to develop with. When a feature has been developed enough to be tested the local code is first updated with the remote version and any code conflicts are resolved. Then the local files are uploaded to the remote code base and deployed on a development server for testing.

 I highly suggest to anyone who is not using some sort of version control to begin immediately. There are a number of free and paid solutions available to choose from. I use svn to manage all of our design assets, like photoshop files, flash files, illustrator files etc.

 Whilst it is not so great for managing file conflicts, it does provide a familiar and easy way to manage file versions and backup. If you have ever lost a file for whatever reason you will understand why this is important. While there are other solutions available, like Adobe Cue, I prefer the simplicity and versatility of svn.

 Svn is a platform-independent client / server solution. The server is set up on a remote server and new projects are stored there in repositories. The client is installed locally and can access the remote file server via username and pasword. I use a combination of the command line client and a gui version called tortoise.

 The command line is useful for quickly updating or commiting code whilst the gui version is great for managing conflicts in code. Efficient conflict management allows a greater code integrity whilst allowing a number of people to change the same files simultaneously.

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30