General document Software engineering.
Software engineering is the application of engineering to the design, development, implementation, testing and maintenance of software in a systematic method.
Warnings: There are some attempts at humor here.
Software engineering
Software engineering is the application of engineering to the design, development, implementation, testing and maintenance of software in a systematic method.
https://en.wikipedia.org/wiki/Waterfall_model
_
Software Development Methods
_
Software Development Methodologies?
Software Development Methodologies
_
Waterfall methodology
Winston Royce 1970.
A Waterfall Systems Development Methodology … Seriously? From wikipedia
_
publish or perish
Some sceptics suggest that the waterfall model is a false argument used purely to market alternative development methodologies.
open-source methodology (OSSD Open Source Software Development)?
_
_
Why this works?
_
Agile
_
Method or methodology, what’s the difference?
Methods,
Research methods are the tools, techniques or processes that we use in our research. These might be, for example, surveys, interviews, Photovoice, or participant observation. Methods and how they are used are shaped by methodology.Methodology, Is the study of how research is done, how we find out about things, and how knowledge is gained. In other words, [methodology is about the principles ]((http://agilemanifesto.org/principles.html) that guide our research practices. Methodology therefore explains why we’re using certain methods or tools in our research.
_
_
_
Why RAD describe the open-source
Put less emphasis on planning and more emphasis on process.
- RAD as approximation to open-source methodology.
- Because some projects need easy, fast methodology.
- Simplicity in the work is a key factor on RAD.
- Strong customer communication.
- Projects that generate many deliverables, are not easily administrable.
_
You be able to get a compressive RAD introduction on Rapid application development .
_
RAD approaches emphasized developing prototypes:
- Risk Reduction
- Users are better at using it
- Prototypes can be re-usable
- Deliver new Apps in days rather than mounts
- Innovate via funcional prototypes rather than UI scketchs
_
The actuals technologies modify the methodology.
_
How open-source centralize efforts?
RAD is a methodology oriented to the available tools:
- How most of open-source projects works?
- Which tools are using?
RAD dimensions
According to Steve McConnell (McConnell 1996), there are four dimensions of development speed:
- people
- process
- technology
- product
_
Product
Sinergy:
_
Sinergy
The best people must be well-trained in both the methodology and the tools. Small teams that work consistently well together should be grouped together on assignments.
_
Revision Control System
- Remote work.
- Same Version Control software (GIT for be specific).
_
A History of Version Control
_
but is a trend?
_
but is a Industry Standard?
_
_
_
_
_
Git make the difference on development.
Open source isn’t about a set of free tools, are communities of developers working together.
- where are the methodology there?
- why some of the most important projects of software born on this environment?
“Git is a brilliant piece of software that has redefined how we do open source development, and software development in general. Certainly there were other distributed version control tools before it, but nothing in my time in the industry has so dramatically changed how we version and share our work.” -
_
How Git redefined open source software development
_
_
_
_
Things we always have, always do, always produce when developing software:
_
ON ESSENCE KERNEL SUPPORTING EXISTING PRACTICES
People and Process:
Software programs that help Systems Analysts and Designers to analyze, document and construct information systems.
- Communication
Communication
_
Communication
According to a survey of its users, Slack adoption has resulted in a 49% reduction in email volume. Nearly 80% of users indicate that it improves transparency and office culture, while reducing the number of superfluous meetings by 24%. On average, users report productivity increases of more than 32%.
_
Docker the world (Actual Example of set of tools for many type of software).
Docker is an open-source program that enables a Linux application and its dependencies to be packaged as a container.
_
]
_
Containers technology keeps some time around, this fact of Docker make a very strong, but this essentially is not only a technology advance is a methodology advance.
- The other containers options are persistent.
- Docker can instance multiple instances from the same image.
- GitHub
_
Continuous Integration
Management:
Set of process or techniques such as facilitated the Management of Issues, Requirements etc.
SinergiaFinal.png
_
- Task and requirements can be split to smaller parts. Smaller means better objectives and control.
- The term “business process” is sometimes used by IT practitioners as synonymous with the management of middleware processes or with integrating application software tasks.
_
_
_
SEMAT is not new, had some impact on software development?
Opportunity
The set of circumstances that makes it appropriate to develop or change a software systems.
_
Stakeholders
The people, groups or organizations that affect or are affected by a software systems.
_
Requirements
What the software system must do to address the opportunity and satisfy the stakeholders.
_
Software System
A system made up of software, hardware, and data that provides its primary value by the execution of the software. software_system.png
_
Team
The group of people actively engaged in the development, maintenance, delivery, and support of a specific software system. team.png
_
Work
Activity involving mental of physical effort done in order to achieve a result. work.png
_
Way of Working
The tailored set of practices and tools used by a team to guide and support their work.
_
State of Art
Some academy authors make to think that a methodology is requested by software develop, the methodology are overrated and the most part of time the academy is not a vanishing point. But this article is about RAD and the actual emphasis on prototyping, the article make an approximation to the point.
_
Useful links
- Motherfucker methodology
- 1. Hybrid App Development Using RAD Tools A Buzzword For Enterprises
- 2. Definitive checklist to buy a RAD Platform
- 3. Open Source Development
- 4. DevOps and Continuous Delivery Reference Architectures
- 5. Rapid Application Development in the Cloud
- 6. Motherfucker methodology
- 7. Methodological challenges and reference data for Open Source
- 8. IBM strikes Docker deal and rolls out its own Containers beta
- 9. Rapid application development
- 10. How Git redefined open source software development
- 11. LINUX FOUNDATION RELEASES REPORT ON LINUX DEVELOPMENT
- 12. Project Management Issues to Consider RAD
- sematacc
- Agile memes
- The case of GIT Exelent
_
Future:
- Combining agile and SEMAT yields more advantages than either one alone
- ReadySET
- sematcc
- Agile and SEMAT
- software development methodology
- The Advantages of Virtualization in Software Development
- Virtualization technologies for agile software development
- Software Development Methodologies -Getting RAD with CakePHP
- OpenUP –The Best of Two Worlds
- Requirements management in GitHub with a lean approach
- GitLab Flow
- Rapid Prototyping is an Enduring Methodology.
- EPF Wiki.
- Redhat SEMAT EXISTS
Nuevas competencia:
Como es el modelo de CI en semat. Como es el fork and rebase (o merge) de codigo. Si Agile esta muerto tambien Semat?
Si no puedo ver como fluye el desarrollo menos puedo enmarcar el CI o el Branching para el Prototyping
Tesis:
- Tal y como trabaja el software libre actualmente es un modelo RAD.
- No veo como encajan las tecnicas de actuales de desarrollo en Semat.
No space for the comunities on SEMAT
most of projects needs a simple strategy not a methology Works on issues on github, the tags are important for projects, must be based on SEMAT.
Que actores estan involucrados?
- Quien prueba la aplicacion?
Con software boolebar cuantos buscaron una alternativa open source. SEMAT knows GIT OPEN SORUCE IS SHARE IN ESSEENCE
Todas las personas tienen su propia opinion sobre la ingenieria del software, y metodologias, por eso usamos herramientas en donde es es posible.
Con CI la forma en que se corren los test cambiaran, primero se validaran los test automaitcos… una primera version y luego se procedara a pruebas por parte de un equipo
Por que GIT permitio el desarrollo de CI:
- Cada proyecto tenia su propio set de procedimietnos para QA DEV y PROD (Delivery y TEST kits), GIT propicio un repositorio comun para muchos projectos en los cuales inclusive estos sets de pruebas pueden ser compartidos y a partir de hay tener un evolucion.