Folksonomy | Software Development is a structured repository of digital culture and creative practice. en-au Creative Commons License: (cc), Simon Perkins Fri, 19 Sep 2014 15:04:24 +1000 Fri, 19 Sep 2014 15:04:24 +1000 Constellations 2.0 60 Agile Software Development what we ve learned at Forty The general idea behind Agile is that instead of arguing about the wording of a requirements document written three months earlier with little perspective into the current situation it s often healthier to acknowledge that the project is going to be flexible and evolving and put processes in place that allow it to be that way Barely over 200 words that manifesto become the foundation for a movement that has changed the world of software development forever Endless writing and speaking has explored the various ways the manifesto could be interpreted and many specific frameworks and methodologies such as Extreme Programming Kanban Lean and Scrum have been developed to formalize its principles A whole Agile industry has emerged with successful companies offering tools training consulting certification and other products and services The economic engine behind the Agile movement as a whole is massive On the surface it seems like design and Agile should magically work together but there are some underlying philosophical issues you have to wrestle with before figuring it out Design is all about big ndash picture thinking planning strategy working out all the details thinking everything through making it perfect etc Eric Karjaluoto called it the masterpiece mentality Agile on the other hand is more often about doing the basics and saving details for later iteration minimum viable products perfect is the enemy of done etc Those two worlds don t blend smoothly together at least at first Agile developers can get frustrated with designers for over ndash thinking things Why can t they just let it go We can get to that later while the designers get discouraged by the perceived low standards of Agile developers Don t you want it to be good Don t you want the user to be happy In both cases though the problem comes from a misunderstanding of each other s perspectives as problems often do The designer isn t being obsessive they re just trying to do right by the user And the developer isn t being lazy they re just following a process that actually gets things done with minimal navel ndash gazing Both sides could learn some important lessons from each other James Archer Forty Fri, 19 Sep 2014 15:04:24 +1000 Scrum iterative and incremental agile software development Scrum is a management framework for incremental product development using one or more cross ndash functional self ndash organizing teams of about seven people each It provides a structure of roles meetings rules and artifacts Teams are responsible for creating and adapting their processes within this framework Scrum uses fixed ndash length iterations called Sprints which are typically two weeks or 30 days long Scrum teams attempt to build a potentially shippable properly tested product increment every iteration Michael James Wed, 18 Jun 2014 15:08:08 +1000 Trello online just-in-time project organisation software Trello is a collaboration tool that organizes your projects into boards In one glance Trello tells you what s being worked on who s working on what and where something is in a process Sun, 15 Jun 2014 22:48:44 +1000 Propel Object-Relational Mapping ORM for SQL-Databases Mon, 26 May 2014 07:12:10 +1000 Design conceptualisation through reverse engineering abstraction 2 1 Abstraction Levels An abstraction for a software artifact is a succinct description that suppresses the details that are unimportant to software developer and emphasizes the information that is important For example the abstraction provided by high level programming language allows a programmer to construct the algorithms without having to worry about the details of hardware register allocation Software typically consists of several layers of abstraction built on top of raw hardware the lowest ndash level software abstraction is object code or machine code Implementation is a common terminology for the lowest level of detail in an abstraction When abstraction is applied to computer programming program behavior is emphasized and implementation details are suppressed The knowledge of a software product at various levels of abstraction undoubtedly underlies operations regarding the maintenance and reuses the existing software components It is therefore natural that there is a steadying growing interest in reverse engineering as a capable of extracting information and documents from a software product to present in higher levels of abstraction than that of code The abstraction as the process of ignoring certain details in order to simplify the problem and so facilitates the specification design and implementation of a system to proceed in step ndash wise fashion In the context of software maintenance 3 four levels of reverse engineering abstraction are defined implementation abstraction structural abstraction functional abstraction and domain abstraction Implementation abstraction is a lowest level of abstraction and at this level the abstraction of the knowledge of the language in which the system is written the syntax and semantics of language and the hierarchy of system components program or module tree rather then data structures and algorithms is abstracted Structural abstraction level is a further abstraction of system components program or modules to extract the program structures how the components are related and control to each other Functional abstraction level is a higher abstraction level it usually achieve by further abstraction of components or sub ndash components programs or modules or class to reveal the relations and logic which perform certain tasks Domain Abstraction further abstracts the functions by replacing its algorithmic nature with concepts and specific to the application domain Nadim Asif 2003 Nadim Asif 2003 Reverse Engineering Methodology to Recover the Design Artifacts A Case Study International Conference on Software Engineering Research and Practice SERP 03 Las Vegas Nevada USA Volume 2 Fri, 18 Apr 2014 12:49:17 +1000 An Introduction to the Federated Social Network To understand how federated social networking would be an improvement we should understand how online social networking essentially works today Right now when you sign up for Facebook you get a Facebook profile which is a collection of data about you that lives on Facebook s servers You can add words and pictures to your Facebook profile and your Facebook profile can have a variety of relationships ndash it can be friends with other Facebook profiles it can be a fan of another Facebook page or like a web page containing a Facebook widget Crucially if you want to interact meaningfully with anyone else s Facebook profile or any application offered on the Facebook platform you have to sign up with Facebook and conduct your online social networking on Facebook s servers and according to Facebook s rules and preferences You can replace Facebook with Orkut LinkedIn Twitter and essentially tell the same story We ve all watched the dark side of this arrangement unfold building a sad catalog of the consequences of turning over data to a social networking company The social networking company might cause you to overshare information that you don t want shared or might disclose your information to advertisers or the government harming your privacy And conversely the company may force you to undershare by deleting your profile or censoring information that you want to see make it out into the world ultimately curbing your freedom of expression online And because the company may do this governments might attempt to require them to do it sometimes even without asking or informing the end ndash user How will federated social networks be different The differences begin with the code behind online social networking The computer code that gives you a Facebook profile is built in a closed way ndash it s proprietary and kept relatively secret by Facebook so you have to go through Facebook to create maintain and interact with Facebook profiles or applications But federated social network developers are doing two things differently in order to build a new ecosystem First the leading federated social networking software is open ndash source that means that anybody can download the source code and use it to create and maintain social networking profiles for themselves and others Second the developers are simultaneously collaborating on a new common language presumably seeking an environment where most or even all federated social networking profiles can talk to one another What will that likely mean in practice To join a federated social network you ll be able to choose from an array of profile providers just like you can choose an email provider You will even be able to set up your own server and provide your social networking profile yourself And in a federated social network any profile can talk to another profile ndash even if it s on a different server Imagine the Web as an open sea To use Facebook you have to immigrate to Facebook Island and get a Facebook House in a land with a single ruler But the distributed social networks being developed now will allow you to choose from many islands connected to one another by bridges and you can even have the option of building your own island and your own bridges Richard Esguerra 21 March 21 2011 Electronic Frontier Foundation Sat, 22 Feb 2014 14:21:50 +1000 Video Tutorial of OOP Design Patterns Fig 1 Java Video Tutorial by Derek Banas 19 August 2012 Fri, 21 Feb 2014 22:05:44 +1000 Install and configure Apache MySQL PHP on OSX 10 8 Mountain Lion Getting the AMP stack running on OS X Mountain Lion 10 8 is a little different than is its predecessor OS X 10 7 Lion here is the lowdown on getting Apache MySQL PHP and phpMyAdmin running on the new Apple operating system OSX 10 7 AMP guide is here and OSX 10 9 Mavericks here Neil Gee Coolest Guides on the Planet Wed, 08 Jan 2014 13:34:57 +1000 Project Management and Business Analysis Guides The Project Service Centre PSC role within CSU is to establish sound Project Management PM principles throughout the organisation This will provide a means of clearly identifying the true needs of the University and help facilitate those desired outcomes To achieve these objectives the PSC must provide and enhance the methodology for project management and business analysis including guides and templates This particular section concentrates on a set of guides which recommends how different processes can be undertaken Charles Sturt University Tue, 22 Oct 2013 14:25:00 +1000 Meredith Davis A Call to Action for Design Educators I believe that design education at the most fundamental level views complexity as a problem to be overcome through reductivist artifacts not as an inevitable and pervasive attribute of life in the post ndash industrial community So if the future is about an ever ndash expanding web of connectedness how are we preparing students for meaningful work in this complex world I d like to suggest that we re not Despite the obvious emotional impact of Glaser s poster he belongs to a generation in which the goal of design was to make things simple Negroponte on the other hand is a technologist for whom the design goal is to render the complex manageable and to make complicated things meaningful Almost everything about today s graphic design education is matched to Glaser s worldview We structure both curricula and projects in craft ndash based progressions from simple to complex from the abstract to the contextualized In typography classes for example we begin with the letter and then advance to the word sentence paragraph and page Sequences of typography courses are built on this simple to complex progression when opening InDesign demands that students address the formal and interpretive issues of publication design simultaneously how do you defer a discussion of leading of column width of the modernist preconceptions of software of language The only option is default and what kind of typographic lesson is that The reality is that our strategy for teaching typography is residue from how students could comp type in predigital times by drawing It is the organizational structure for every type book since James Craig s 1970 Designing with Type but it holds less relevance for what students need to know about communication in a digital world Typography today is a complex relational system that depends on the interplay of formal technological linguistic and cultural variables Yet we persist in teaching this progression of scale isolating such variables within their own distinct conceptual frameworks and rules The same strategy exists for how students progress in other studies of form Foundation lessons begin with abstraction point line and plane color wheels and paper ndash folding exercises We defer discussions of meaning and context until later levels of the curriculum and beginning students learn these abstraction principles only through patterns in what makes their teachers smile Nothing about these studies resembles what students know about in the real world and as a colleague recently suggested what the clients of design see in our work So what if we begin with the familiar and complex Meredith Davis 4 April 2008 AIGA Boston Presentation Presentation made at W Here Contesting Knowledge in the 21st Century Emily Carr University of Art Design Vancouver Canada 7 ndash 9 December 2011 Fri, 04 Oct 2013 14:24:54 +1000 Ladies Learning Code promoting a diverse workforce Ladies Learning Code is a Toronto ndash based not ndash for ndash profit organization that runs workshops for women and men who want to learn beginner ndash friendly computer programming and other technical skills in a social and collaborative way Today we have chapters across Canada a thriving girls program called Girls Learning Code and a permanent workshop space in Toronto Oh and we re just getting started Wed, 25 Sep 2013 23:04:04 +1000 All students should have the opportunity to be creative with code This is a useful initiative despite its narrow focus on engineering and science It would be great to see the companion film which profiles creative arts and design professionals who regularly use programming as part of their practice work Thu, 28 Mar 2013 11:35:27 +1000 Jim Conallen iterative web application design and development If you are looking for a cookie ndash cutter recipe to success forget it Developing applications is hard work and relies heavily on the skill and the ability of everyone involved Even so a strong process is important Heroic efforts on the part of a development team can often bring a project to maturity however heroic efforts and strong process can do so repeatedly and reliably Jim Conallen 2002 Jim Conallen 2002 Building Web Applications with UML Addison ndash Wesley Object ndash Technology Series Mon, 17 Dec 2012 16:50:28 +1000 IAMAS amp 24773 amp 22577 amp 31185 amp 23398 amp 33464 amp 34899 amp 22823 amp 23398 amp 38498 amp 22823 amp 23398 Institute of Advanced Media Arts and Sciences Cultivating new media creators in a variety of fields IAMAS was opened in 2001 both as a hub for training new creators in an information society and as an educational institution that fuses together advanced technology and artistic creativity to produce new culture Since then IAMAS has graduated a large number of information technology specialists who are active in the broad field of media culture and industry garnering high praise not just in Japan but internationally as well The school s activities cover many disciplines and offer new possibilities to industry These activities include interaction design and media products that lead to collaboration with industry media art that constantly explores new methods of expression social research and design as well as new publishing ideas All of these endeavors exemplify the spirit of pioneering into new fields The Department of Media Creation at IAMAS is a place where people with the desire to create something new are able to meet collaborate and challenge each other Sun, 09 Dec 2012 14:02:56 +1000 Writing a Requirements Document For Multimedia and Software Projects Requirements include descriptions of system properties specifications for how the system should work and constraints placed upon the development process Generally requirements are statements of what a system should do rather than how it should do it The answers to how questions fall into the realm of design Requirements specifications should not include design solutions except for interface requirements which often include embedded design Requirements come from end users from customers and sometimes from developers End users tend to state requirements in descriptive or narrative terms I d like a welcome screen with links to the things I use regularly and I want to be able to select from a couple of different color schemes for the welcome screen which might need to be broken down into individual requirement statements Customers who may well be different from end users are the people who are paying for the development of the system Their requirements will often be stated in terms of costs or scheduling issues Developers might have requirements related to system performance and other technical topics It s important to have all these groups contribute to the requirements document to create a fuller description of the system The practice of including these groups also helps to ensure that everyone is in agreement about what is to be done before development begins Requirements documents usually include user system and interface requirements other classes of requirements are included as needed User requirements are written from the point of view of end users and are generally expressed in narrative form The user must be able to change the color scheme of the welcome screen System requirements are detailed specifications describing the functions the system needs to do These are usually more technical in nature The system will include four preset color schemes for the welcome screen Colors must be specified for the page background the text visited links unvisited links active links and buttons base highlight and shadow Interface requirements specify how the interface the part of the system that users see and interact with will look and behave Interface requirements are often expressed as screen mock ndash ups narratives or lists are also used Rachel S Smith California State University Center for Distributed Learning Wed, 26 Sep 2012 22:35:19 +1000