{"id":301,"date":"2017-08-21T02:11:44","date_gmt":"2017-08-21T02:11:44","guid":{"rendered":"http:\/\/www.remotedevelopment.co.uk\/cms\/?page_id=301"},"modified":"2017-08-21T12:01:20","modified_gmt":"2017-08-21T12:01:20","slug":"software-architecture","status":"publish","type":"page","link":"https:\/\/www.remotedevelopment.co.uk\/cms\/methods\/how-we-operate\/software-architecture\/","title":{"rendered":"Software Architecture"},"content":{"rendered":"<p>Software Architecture has evolved from large systems into combinations of independent components that can interact with each other.  This increases reliability, tunability, and adaptability of your ideas into an application that works.  <\/p>\n<h3>Clients<\/h3>\n<p>Clients need an effective low-risk way of developing software predictable but updatable cost projection.  We aim to provide an environment in which a team of developers can engage with a client.  We use agile processes and work to 10-day sprint cycles, with a focus on delivery of new features completely integrated and tested at the end of each sprint, providing value to clients.  <a href=\"\/about\/clients\">More about clients<\/a>.<\/p>\n<h3>Sprints<\/h3>\n<p>Initial sprints can either deliver a working but not necessarily final published staging website which can be made live when and if the client approves it.  At the end of each sprint, a presentation of work completed on the staging site allows a separation for new work and accepted work to always be maintained.  Only once the sprint has been accepted, can planning for the next sprint commence. <\/p>\n<h3>Components<\/h3>\n<p>Small projects and large, these days, are built from discrete components which run independently and can talk to each other.  The Agile method enables software development to allow the addition of new functionality, atomically.  Of course, there are limits as to what you should add to successful web business.  You may continue adding to a project or preserve it and fork off your project into a new branch, you could even change its design or swap out functionality, stage your new site so the client can review it and decides when updates are approved.<\/p>\n<h3>Multi-site Configurations<\/h3>\n<p>Multi-domain interconnected sites are possible as well as load balancing servers.  Our Cloud services are hosted in computer memory rather than shared hard <\/p>\n<h3>Agency Commission<\/h3>\n<p>We work with Recruitment intermediary businesses often. Agencies can connect with our members if they wish as members will invite other members to join a project, creating a natural synergy for client growth and developer connection to progress.  Your project is owned by one developer.  The Client and the Developer sign a contract, or we connect you via an agency.  The client and developer utilise our services to make a connection.  We only allow organic growth between developers, at least that is the goal.  <\/p>\n<h3>Production Releases<\/h4>\n<p>Development of your new site may become frozen at the end of any sprint, it is up to the client. We do not start planning a new sprint until the current one has been completed and paid.  A client may be asked to make a deposit for the first such payment with Remote Development.  This can be relayed to the developer when we are happy to present their work.  When the sprint is paid for, the client owns the code and can publish it from the repository.<\/p>\n<p>The developer works for the client, maybe via an agency.  We provide an environment and cloud server configuration. If for some reason your developer becomes unavailable, we can provide another or do it ourselves.  Or if a client hires the developer, then they can continue the project as the client owns it.<\/p>\n<h3>Software Upgrades<\/h3>\n<p>When your website is finished, we tag a release version and then if you wanted to add, say at a later date, new software components, services or functionality, we work from a working version.  Upgrades to a software package can be tricky <\/p>\n<p>If these conditions are strictly met software upgrades become practical.  <\/p>\n<p>1. The software has a strong concept of where it is eventually going to be complete, even if this is later extended, there is always a goal.<\/p>\n<p>2. Each component and revision must be atomic.  That means that it works when it is released.  Each step or feature is implemented before another is started.  It is possible that certain components may be held back, it is the main developer&#8217;s responsibility to ensure each released component does work on the staging server and the code be recovered from our shared private repository.<\/p>\n<p>It can then be augmented with interconnectivity.  Each step must be completed before a new step starts.  It is essential there are no conflicts as they are merged into a staging release.  This requires Pull Requests and Feature Branches in the git process.<\/p>\n<h4>Developers<\/h4>\n<p>Developers probably have had at least five years or so recent PHP contracting experience.  <a href=\"\/cms\/developers\">Developers &#8211; more information (requires registration)<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Software Architecture has evolved from large systems into combinations of independent components that can interact with each other. This increases reliability, tunability, and adaptability of your ideas into an application that works. Clients Clients need an effective low-risk way of developing software predictable but updatable cost projection. We aim to provide an environment in which &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.remotedevelopment.co.uk\/cms\/methods\/how-we-operate\/software-architecture\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Software Architecture&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":295,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"jetpack_post_was_ever_published":false,"footnotes":""},"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/P8yghz-4R","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":695,"url":"https:\/\/www.remotedevelopment.co.uk\/cms\/methods\/how-we-work\/product-guide\/","url_meta":{"origin":301,"position":0},"title":"Product Guide","author":"Nicholas","date":"October 24, 2017","format":false,"excerpt":"Product types We offer clients three distinct products delivery paths: CMS: Content Management System websites for those who want to update their own content CMS and Intro packages E-commerce package Full Stack Development to implement your online business application or idea. Microservices architecture CMS products are based on Wordpress with\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":92,"url":"https:\/\/www.remotedevelopment.co.uk\/cms\/methods\/how-we-operate\/remote-developers\/engaging-developers\/","url_meta":{"origin":301,"position":1},"title":"Engaging developers","author":"Nicholas","date":"March 20, 2017","format":false,"excerpt":"When you wish to engage RemoteDevelopment.co.uk to create software professionally on a limited term contract there are terms and conditions to benefit and protect both the developers and the end client. These will be updated from time to time for new contracts. Here are basic terms: In regular Sprints, Remote\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":441,"url":"https:\/\/www.remotedevelopment.co.uk\/cms\/methods\/how-we-work\/clients\/terms-of-trade\/","url_meta":{"origin":301,"position":2},"title":"Terms of Trade","author":"Nicholas","date":"August 23, 2017","format":false,"excerpt":"We invoice at the end of each sprint. Client settlement can be immediate or due to an advance we can carry on with the next sprint. As we work with other developers, must ask clients to either run their sprints against an initial deposit, or pay on invoice for continuity.\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":459,"url":"https:\/\/www.remotedevelopment.co.uk\/cms\/methods\/how-we-work\/clients\/development-clients\/","url_meta":{"origin":301,"position":3},"title":"Development Clients","author":"Nicholas","date":"August 24, 2017","format":false,"excerpt":"Procedures Clients review each 2-week sprint and we facilitate recorded comments about changes to the plan. Sprint planning is conducted away from Client at the end of each sprint by the team, while the project and development issues are in in the frame it is far better and easier to\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":505,"url":"https:\/\/www.remotedevelopment.co.uk\/cms\/methods\/how-we-operate\/software-architecture\/predictable-software-design\/","url_meta":{"origin":301,"position":4},"title":"Predictable Software Design","author":"Nicholas","date":"August 27, 2017","format":false,"excerpt":"People may want simple off the shelf application builds and the Wordpress CMS is a very good way to do this, with API links to a smart business services API. Smart businesses who can sense a good deal and want to setup an independent and brand new project. They did\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":17,"url":"https:\/\/www.remotedevelopment.co.uk\/cms\/methods\/how-we-work\/projects\/your-project\/","url_meta":{"origin":301,"position":5},"title":"Your project","author":"Nicholas","date":"March 14, 2017","format":false,"excerpt":"We deliver Full Stack projects online. That means backend (databases) and front-end (UI) working together. We communicate via Slack and meet with you via Google Hangouts or Skype on a regular basis. \u00a0We maintain a\u00a0Project Management Board for you and work in a 2-week delivery Sprints deliver complete update stages\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.remotedevelopment.co.uk\/cms\/wp-content\/uploads\/2017\/03\/9.jpg?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.remotedevelopment.co.uk\/cms\/wp-content\/uploads\/2017\/03\/9.jpg?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.remotedevelopment.co.uk\/cms\/wp-content\/uploads\/2017\/03\/9.jpg?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.remotedevelopment.co.uk\/cms\/wp-content\/uploads\/2017\/03\/9.jpg?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.remotedevelopment.co.uk\/cms\/wp-content\/uploads\/2017\/03\/9.jpg?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.remotedevelopment.co.uk\/cms\/wp-json\/wp\/v2\/pages\/301"}],"collection":[{"href":"https:\/\/www.remotedevelopment.co.uk\/cms\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.remotedevelopment.co.uk\/cms\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.remotedevelopment.co.uk\/cms\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.remotedevelopment.co.uk\/cms\/wp-json\/wp\/v2\/comments?post=301"}],"version-history":[{"count":9,"href":"https:\/\/www.remotedevelopment.co.uk\/cms\/wp-json\/wp\/v2\/pages\/301\/revisions"}],"predecessor-version":[{"id":319,"href":"https:\/\/www.remotedevelopment.co.uk\/cms\/wp-json\/wp\/v2\/pages\/301\/revisions\/319"}],"up":[{"embeddable":true,"href":"https:\/\/www.remotedevelopment.co.uk\/cms\/wp-json\/wp\/v2\/pages\/295"}],"wp:attachment":[{"href":"https:\/\/www.remotedevelopment.co.uk\/cms\/wp-json\/wp\/v2\/media?parent=301"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}