Adaptivepath: Things to do at the beginning..
The Unplugged
Application’s Architecture
Growing Software Strategies
Development Methodology
Test-driven development (TDD)
Feature-Driven Development (FDD)
Really sloppy FIXINGS
Planning
Siteanalytics
Frederick P. Brooks, Jr.
 
Roadmap: Project VOLTAIRE October 12th bis
Mass article submitter BY JOHN JAN POPOVIC


Roadmap: Project VOLTAIRE October 12th bis
The Project VOLTAIRE Roadmap >
Roadmap, Milestones and Incremental Development
.
The Milestones and Incremental Development process is not only a great way to map out complex functionality, it's also IMPORTANT to test out critical features before they're launched. As part of the our INCREMENTAL DEVELOPMENT process we have made some changes in the application structure in an effort to better organise bug-tracking, development and feature releases.
.
If you have a vague idea of desired software solution, and if you need innovation, problem solving, and higher end architectural help, YOU ARE ON THE RIGHT PLACE, but at REASONABLE and honest price. And do NOT forget, I AM A SOLUTION PROVIDER FLUENT in the same language that you speak.
.
FDD Process is applied for the development of an Overall Model > For 0.1 alfa verson of the software I will start by creating really elementary application, with some simple and already well understood features by reusing previously developed code. And I will try to implement all Data Stuctures relevant for the system repositories, upon which the new features will be developed and deployed in the future.
From the customer wish-list, formal requirements specification will be produced; which will evolve into features list. Then a rough plan is drawn up and responsibilities assigned. Now we are ready to repeatedly take small groups of features through a design and build iteration that lasts from several hours up to couple of weeks in rare cases.
.
For some difficult features I apply a TDD - test driven development methodology. I go forward in small incremental steps, create a Simple Test Case scenario, implement a little code at the time and figure out how I can test it if it is correct; create more difficult Test case and reiterate that process until I have a strong and robust Error reporting system with possible corrective patterns. The point is that you try to see what could go wrong if you insert incorrect input parameters, and if it will be correctly reported or just ignored, or if the system will crush. When I am sure that this feature works fine, and fails gracefully and reports the error correctly; I clean up the code and comment it.

Our approach is adaptable, allowing us to engage and provide testable solutions at any stage in the software development life-cycle. From planning and pre-definition strategy to post-release usability, we blend a variety of methods and best practices on the net. This allows us to create valuable solutions in every stage of the development.
.
CYCLUS ONE
.


.
********************* W E _ H A VE _ B E E N _ T H E R E _ A N D _ D O N E _ T H A T ********************************
.
MILESTONE I.A // Create, Edit and Search... POSTINGs // delivered on October 11th, 2010
- Poster version 0.1a
- In this version will be implemented POSTINGS repository
- POSTING record :: title, content
- In this version will be implemented a rudimentary content editor for TEXT ONLY POSTINGS
- the customer will be able to Create, Delete and Edit the article to be posted
.
.
MILESTONE I.B // Create, Edit and Search.. PROFILEs // delivered on October 11th, 2010
- Profiles version 0.1b
- In this milestone will be implemented PROFILE repository/database
- PROFILE record :: display_name, user_name, password, email, customer_tag
- the customer will be able to Create, Delete and Edit the PROFILE
- there are 5 profiles in the system, but it can be easily extended to more
.
.
.
MILESTONE I.C // Create, Edit and Search.. SITEs // delivered on October 11th, 2010
- Sites version 0.1c
- In this version will be implemented ELGG SOCIAL NETWORKS repository
- SITE record :: site_name, site_url, social_network_type, comment
- the customer will be able to Create, Delete and Edit the SITE record
- there are 200 ELGG sites in the system, but it can be easily extended to more
.
.
.
.
MILESTONE II // the SITEs repository will be initialised from the CSV file // delivered on October 12th, 2010
version 0.2
- the "CSV file upload" feature will be implemented
- once the SITEs repository is initialised, populated xor updated, it will be easily editable and searchable
.
.
.
MILESTONE IIA // Automatized POSTING feature for ELGG // delivered on October 12th, 2010
version 0.2a
- We have the profile credentials valid for a SOCIAL NETWORK based on ELGG software
- We have to test Automatized LOGIN with valid profile credentials *(URL, User, Password)*, valid for a SOCIAL NETWORK based on ELGG software
- We have to test Automatized POST *(Title, Body)* on a ELGG TEST NETWORK only
- The article submitter concept will be tested on small number of manually generated ELGG accounts only, and on a small number of ELGG networks
.
.


********************* on October 12th, 2010 W E _ W E R E _ H E R E ****************************************************
.
MILESTONE IIB // BULK PUBLISH feature for ELGG
version 0.2b
- Here the user will be able to BROADCAST the selected POST at the list of ELGG SOCIAL NETWORKS only
- One of 5 profiles in the system, may be selected to perform MASS PUBLISHING of the selected article, as well you may select the CUSTOMER_TAG before picking the profiles
- Mass article submitter concept will be tested on small number of manually generated accounts only
.
.
MILESTONE III // BROADCAST the selected POST to the list of ELGG SOCIAL NETWORKS with a RANDOM profile
version 0.3
- Here the customer will be able to test the concept of RANDOM profile posting (random selection of five)
. there are 5 profiles in the system, but it can be easily extended to more
.
.
MILESTONE IV // YUI3 content editor (WYSIWYG and plain html mode)
version 0.4
- In this milestone will be implemented a YUI3 content editor (WYSIWYG and plain html mode)
.
.
MILESTONE V // SPINTAX feature
version 0.5
- In this version will be implemented a SPINTAX feature to generate various article permutations
- SPINTAX enables you to write a single article, then re-word certain areas of it to read differently, but have the same SEMANTIC meaning.
.
.
MILESTONE VI // FLICKR MASHUP TAG feature
version 0.6
- In this version will be implemented a flickr hook in order to auto insert a flickr MASHUP based on TAG in the content page
.
.
MILESTONE VII // ELGG accounts auto-registration
version 0.7
- In this milestone will be implemented ELGG accounts auto-registration
- The virtual user accounts must be created automatically (using proxies - user agent customization) for ELGG
DATABASE METRICS:
- we have from 200 to 1000 ELGG social networks
- we need multiple profiles for one network: 5 to 10 profiles per network
- typically 5profiles * 200 networks = 1000 captcha crackings
- In total we do not need more than 10 HUMAN REALISTIC, but fake profiles in our System, they should look respectable and like REAL PERSONS FROM THE REAL WORLD

.
MILESTONE VIII // decaptcher and proxy support
version 0.8
- In this version will be implemented the features such asdecaptcher and proxy support
- Cracking captcha via http://www.decaptcher.com will be implemented
- DeCaptcher CAPTCHA solving will be processed by humans, if automated captcha solver failes
.
.
MILESTONE IX // accounts maintenance
version 0.9
- In this milestone will be implemented CHRON JOB for the monitoring of the each account PROFILE status on each network (typically 5profiles*200communities status records)
- It will periodically check if accounts are still live and perform re-registration process for deactivated ones, if necessary
.
.
MILESTONE X // LOG posting report file
version 1.0
- In this version will be implemented monitoring of the Error/Success status report for entire batch job posting transaction
.
.
Software strategic planning is the process by which the customers and developers envision the future together and set the necessary procedures and operations to achieve the desired software solution.
.
We think that tracking development milestones is a great way to monitor development progress and see which parts of the software are being developed, improved or fixed.
.
We can also see which parts of the software have not been planned, designed, coded and tested yet. The hardest single part of building a software system is deciding what to build, and how to approach to difficult problem, decomposing its complexity, by maintaining high development standards.
.


.
In the next MILESTONE CYCLUS will be implemented VOLTAIRE BulkArticleSubmitter for the other social-networks such as:
mediawiki,
openwiki,
tikiwiki,
macosx server - MediaWiki,
jisko,
hiku,
revou,
mahara
statusnet( laconica),
bloghoster,
lifetype


.
PLEASE NOTE: The planning process can be viewed as a somewhat spiral flow of topics and action steps, where the results from one step initiate study and action in the next step.
.
  However, the development process does not necessarily always flow in one direction.   Issues that arise in a particular solution may cause the planning team to go back to an earlier step to do additional work and implement new feature or refine the application functionality.
.
  If desired, the order of the MILESTONES can even be altered to suit the particular needs of the planning team.  The implementation step also does not end the planning process.  Analysis of results could easily result in additional analysis or a change in strategic direction.  Also, it is recommended that the plan be reviewed periodically, sometimes even on a daily basis in order to verify that all the base assumptions are still valid and that the implementation plan is progressing according to expectations.
.
.
REFINEMENT OF THE PRODUCT REQUIREMENTS
“The hardest single part of building a software system is deciding what to build. No other part of the conceptual work is as difficult in establishing the detailed technical requirements, including the interfaces to people, to machines, and to other software systems. No other part of the work so cripples the results if done wrong. No other part is more difficult to rectify later. Therefore, the most important function that the software builder performs for the client is the iterative extraction and refinement of the product requirements.”
—Fred Brooks