That is one goal of visual programming. The lack of programmers has been tried to be solved by moving the work to users. This approach has not been very successful because building large programs requires a lot of logical thinking and solutions to huge amounts of details. Software designers are not endangered species but programmers might be if the abstraction level of programming goes up. Reinertsen, Donald G.
Leading Lean Software Development: Results Are Not the Point by Mary Poppendieck
Big front-end designs are bad, because they do not match the reality. The devils are really in the details. However, the cost of changes is considered too high and the illusion of predictability makes us close our eyes on reality. In Scrum we say that we should focus on infrastructure and architecture in the first Sprints. Decisions about our software development environment, tools and architectures are not easily reversible.
The situation is much worse in the construction business. The case is not that bad in software development. We use software instead of electronic circuits just because it is easier to change software than hardware. Extreme programming contains many practices that are needed to make the code easy to change.
In addition to these we need solid architectural principles and rigorous attitude to quality. PowerPoint architectures outlined at the first Sprints are not good enough. We need executable architectures and extensive testing with highest priory business functionality to make sure that the quality attributes, non-functional requirements, are OK, before we continue deeper. We require that the architectures are easy to change. Ease of refactoring and testing can be achieved with known design patterns. My colleague has written a provocative blog entry about the current situation of agility.
Actually, we are promoting our new course: Agile Engineering Practices , which can be used as a part of Certified Scrum Developer curriculum. My talk in Scum Gathering Amsterdam is now visible. See more about visual software design with themes and epics The place: — am on Tuesday, November 16 in Foyer. Synopsis: We have issues like user stories, themes, epics, UI mockups, business rules and acceptance tests that are used in creating our understanding of what to do and how.
We groom product backlogs and have Sprint planning meetings and design tasks in Sprint backlogs. This IdeaCamp session pursues to tell us how to put these all together in real life projects.
Leading Lean Software Development: Results Are Not the Point
The slides and result flip charts are now available at SlideShare. The list is not complete because I have already read quite many of them.
Thanks about that. Daniel H. As experienced people remember the eve of software development was agile. Waterfall emerged because the prevailing management thinking embraced it. There was a quest for more rigor and predictability and we started to talk about software engineering which would improve our quality and productivity.
More planning was an obvious solution when plans were failing. When the systems grew the developers began to specialize, which was based on the prevailing mass production paradigm. Functional organizations were the norm everywhere.
[Free Read] Leading Lean Software Development: Results Are not the Point (Addison-Wesley Signature
Because it was difficult to find skillful programmers, the tasks were divided so that cheaper and available labor could be used for defining, testing and documenting. Promotions to project managers enabled the traditional corporate ladder hierarchy. Outsourcing was tried to solve the software crisis by decreasing the unit cost of the huge amount of work that was required for writing each single line of code only to find out that the distribution created another layer of complexity.
Massive process guides tried to catch every possible view of software development to make it predictable and repeatable. After that we got quality initiatives like CMM which created a quagmire of documentation and turf wars between them. It was still very difficult to tell how to create software because we have so many variations of it and its development. You had to write either something that is right and so generic that it does not help or something that must be applied or something which fits only to certain kinds of software development. CHAOS reports told that the majority of software development project were not successful.
Success factors were extracted and we found that the requirements and capability of making decisions are the keys to success. Systems thinking explains the failure of old straightforward initiatives. Specialization, outsourcing and rigorous processes answered well to one visible view of software development but they did not optimize the whole. Big front-end planning did not create better plans because the plans were frozen prematurely without appropriate testing and feedback. In the 70s computers were less powerful than they are today. The programmer wrote the code to a paper based on which punch cards where created.
They must understand about human behavior, build teams, and learn to learn quickly. But most think an architect just draws UML collaboration diagrams. This is the first time I have read a book on being an architect that surpassed my definitions of what an architect is. I want to be an architect and this book has taught me much more than I could have thought of.
There are a few rare breed of books that are the top of its class, this book is one of them. If you dream of becoming an Architect then you must buy this book. O'Reilly 1 edition August pages. There is not chance of that because you never forget your book on Business Process Modeling, not because it blows you away, but because of how many naps you take while reading it.
The subject is very boring, not for your everyday programmer. But there is a need, and to be honest, even though I was bored, I know that this was a very good book explaining the technologies that are out there, the BPM Design Patterns, The "languages" and some examples using them, and a good amount of diagrams showing "workflow".
So, if you are one of the lucky few who either love BPM or just have a job at Filenet, then this is a great book for you to pick up. Pragmatic Bookshelf 1 edition September pages. In the book, the authors describe how a manager can help her team achieve great things by doing the little things well. The book follows the manager, Sam, of an imaginary IT department in his day to day actions with which he helps his direct reports overcome -- and sometimes learn about -- issues they're facing in their teams and the organization. These day-to-day actions are a mixture of techniques for handling difficult conversations, facilitating effective meetings, coaching your coworkers, and generally working with and for the people you are managing.
See a Problem?
I thoroughly enjoyed reading the book and, even though I'm currently working as a consultant, have already been able to apply some of the techniques at work. For an acting manager, I'd say this book is a must read. Now if only it'd fit in a back pocket IBM Press 1 edition November pages. If you're looking for an in-depth technical overview of SOA and a guide showing you how to build services in a specific technology, this book isn't for you. What this book does do is present SOA from many different perspectives, the first of which is all about the business value of SOA and how it facilitates agility within an enterprise.
It also reinforces the fact that, particularly in an SOA world, IT really does need to work as closely with the business as possible, taking their lead to ensure that IT can change with the business.
Following on from this is a look at some of the architectural characteristics of SOA, before moving on to explain how you might plan an SOA project and define people's roles. It then goes on to provide guidance of how to perform the analysis and design activities associated with building an SOA.
I really like this and have subsequently adopted it my current project. As a technical architect, I found "Determining Non-Functional Requirements" and "Security" extremely relevant to my current role, with the latter chapter providing lots of really pragmatic advice about end-to-end security within an SOA.
This is great, and it's rare to find a book that says, "you might not actually need all the overhead of this ideal solution, so here's a much simpler alternative and it's okay to use it". Wrapping up the book are chapters on management and a couple of case studies, one of which resembles our own SOA. Personally, while I found the initial chapters on business value interesting, I got most value out of the latter half of the book purely because it's just very relevant to the work that I'm doing at the moment.
This book manages to distill an obvious amount of SOA experience across many projects into a few hundred pages and, at every stage, I was left with a warm feeling that many of the decisions we've made on our project match up with the best practices being recommended here. My only criticisms are that the style is a little heavy going in places and there are unsurprisingly quite a lot of references to IBM products, especially in the management chapter towards the end.
- Reading, Writing, and Proving: A Closer Look at Mathematics?
- The Addison-Wesley Signature Series: Kent Beck!
- Addison-Wesley Signature Series (Beck) Series | InformIT.
- Nature and Culture in D. H. Lawrence.
- Agile and Lean Bookshelf - About Agile.
- Book Recommendations.
- Network visualization of books on agile using Kumu.
Overall, if you're an architect looking at SOA now or planning to in the future, this book will help you clarify your thoughts and steer you through the brave new world of a service oriented architecture. It comes highly recommended. Pragmatic Bookshelf 1 edition April pages. Methodologies, tools, and even programming languages have had the adjective applied to them.
But what does it mean to be an "agile developer"? How do we know if we're "agile"? Should I expect the ladies to saunter over at parties and say, "I couldn't help noticing that you're agile, how about coming back to my place"? To answer these questions, a good place to start would be to read "Practices of an Agile Developer".
This book, which could have easily been titled "Forty-five Habits of Highly Agile People", starts out by defining agility and what it means for something to be agile. Your companions on your journey are a demon whose taunts remind you of how not to do things, and a guardian angel eager to steer you onto the path of righteous agility. Each practice is well motivated and adequately described.
Your reading assignment from the guests of the show:
Additionally, each has sections letting you know what it should feel like if you are following the practice correctly, and how to strike a balance to keep from going overboard or not far enough when following a particular practice. While the focus of this book is agility, the practices described really lend themselves well to all developers, even the agility impaired. Practices such as "Question until you understand" and "Write cohesive code", to name only a couple, are just plain old good advice for anyone who writes code.