I got this List of Tips for the Software Architects from the Kalahara's Blog and Credit Should go to him (One of the admirable Architect I worked with). I published it here for my references. Here is the list… Regards Lakmal |
Saturday, October 23, 2010
97 Tips for Software Architects
Friday, October 22, 2010
Introduction to Software Architecture (From the Books)
The goal of software design is to build a model that meets all customer requirements and leads to successful implementation. What is the architecture design? The architecture design defines relationship between structural element of the software, Styles and design patterns that can be used to achieve requirements defined for the system, and the constraints that can affect the in which architecture is implemented.(Galan and Shaw, 1996). IEEE Std 1471 defines system architecture as "Fundamental organization of a system embodied in its elements, their relationship to each other, and to the environment, and the principle guiding its design and evolutions". Who is responsible for the Architecture Design? Software Architect and the designers, Translate system requirements into Software architecture design. Why software Architecture is so important?
When the Software Architecture Design is conducted? After Software requirement Specification is finalized, Software Architect and the designers can start working software Architecture Design. What is the outcome of a Software Architecture design? Software Design Description (SDD)
Architecture design is front strategy design for the detailed design.. During Architecture Design Stage,
Detailed Design, (Also called tactical design)
A functional requirement specifies the functionality of the system whereas a nonfunctional requirement specifies the system qualities, Constraints, and Behaviors. List of tasks that has to be done by the software architect..
Architecture Styles Architecture style abstracts common properties of family of similar designs. What's includes in Architecture style?
What are the key components of an Architecture Style?
Software Quality Attributes There are three types of software quality attributes are discussed in Software Architecture Design.
Typical Quality Attributes of Tradeoff pairs
Software Architecture Design Guidelines
Summery Software Architecture Specification consists of software elements, Connectors and collaboration among the elements and desired quality attributes. An Architecture style is set of rules, constraints, or patterns guide how to structure a system into set of elements and connectors, and how to govern overall structure design patterns of constituent element types and their run time interaction. |
25 Famous Thinkers and Their Inspiring Daily Rituals
Daily Rituals, that’s depends person to person, but it’s always nice to have a read on world’s famous people’s daily rituals.
Found a brief reveal of 25 of world famous thinkers, writers and politician’s daily rituals. I always find interesting to read about the people who contributed more to change the world.
Lakmal
Friday, October 8, 2010
Top 100 Blogs in the World..
I Found this list of World's Top 100 Blogs from the www.noop.nl and all credit should go to them. For my references I publish the same list here
Lakmal
Tuesday, October 5, 2010
Agile
First, Agile is a philosophy (Conceptual Framework); it's not a Process Framework. There are process frameworks, developed by using agile philosophy, like, XP, SCRUM, Lean, DFDM, FDD Crystal and etc.
Agile - Group of Philosophies that provides the abilities to handle changing requirements
- Lean - Move closer to customer, shorter cycles, eliminate waste, decide as late as possible, empower the team, build in integrity
- DSDM - Empower the team to make decisions, emphasize frequent product delivery, integrate testing throughout, promote collaboration and cooperation between all stakeholders
- FDD - Center development around the feature, create a domain model with domain experts
- Crystal - Emphasize people, gather techniques from other methods, improve communications, adapt the process itself (shrink or grow to fit)
- Scrum - Manage a prioritized list of requires on a product backlog, collaborate through daily standup meetings, exhibit the product upon iteration completion, use retrospectives to correct the process
- XP - Emphasize the values of communication, simplicity, feedback, and courage; use specific technical and collaborative practices, including TDD, re-factoring, pair programming, continuous integration, open workspace, and automated acceptance tests
Agile Manifesto
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
Twelve principles underlie the Agile Manifesto, including:
- Customer satisfaction by rapid, continuous delivery of useful software
- Working software is delivered frequently (weeks rather than months)
- Working software is the principal measure of progress
- Even late changes in requirements are welcome
- Close, daily cooperation between business people and developers
- Face-to-face conversation is the best form of communication (co-location)
- Projects are built around motivated individuals, who should be trusted
- Continuous attention to technical excellence and good design
- Simplicity
- Self-organizing teams
- Regular adaptation to changing circumstance
Regards
Lakmal